product recommendations by beauty profile
Product Recommendations by Beauty Profile: Turning Attributes Into a Ranked Shortlist
A beauty profile is only useful when it becomes a shortlist of your own products. Here is how to map skin tone, undertone, skin type and hair attributes to catalog fields, rank the results and handle the cases where the match is uncertain.
Most beauty brands already collect something about the customer: a quiz answer, a shade they bought last year, a note in the CRM. What they rarely have is a structured, comparable description of the person — and that is what makes product recommendations by beauty profile hard to operationalise. A free-text answer like "my skin gets oily in the afternoon" cannot be joined to a catalog. A field like skin_type: oily with a confidence score can.
This article is about the layer in between: how you go from a beauty profile returned by an API to a ranked shortlist of your own SKUs, and what to do when the profile does not point cleanly at one product.
What a beauty profile actually gives you
MaIA Scan takes a selfie and returns a JSON beauty profile: skin tone and undertone, skin type and condition, hair attributes, and a confidence value per field. It describes what is visible in the photo. It does not diagnose anything, and it does not replace a dermatologist or a professional consultation — the output is a description of appearance, meant to drive merchandising decisions.
The model was trained on Brazilian skin, which matters for the recommendation layer more than people expect. Shade logic built on a narrow tonal range tends to collapse at the extremes of the catalog: deep tones get bucketed together, olive and neutral undertones get forced into warm or cool. If the profile that feeds your rules is imprecise, every rule downstream inherits that imprecision.
The fields you will actually use
In practice, three groups do most of the work:
- Tone and undertone drive anything with a colour match: foundation, concealer, bronzer, lip shades, hair colour.
- Skin type and condition drive formula and routine: cleansers, moisturisers, treatment steps, foundation finish (matte versus luminous).
- Hair attributes drive haircare lines and styling products.
Confidence is the fourth input, and it belongs in the ranking logic, not in the UI.
How to structure product recommendations by beauty profile
The mistake is to write a long chain of if-statements. It works for twenty SKUs and breaks at two hundred. Treat it as a matching problem instead.
Step 1: tag the catalog with the same vocabulary
Every recommendable SKU needs attributes expressed in the same terms the profile uses. A foundation needs its shade mapped to a tone range and an undertone. A moisturiser needs the skin types it is formulated for. A shampoo needs hair attributes. If your PIM stores shade names like "Caramel 04" and nothing else, the recommendation layer has nothing to join on.
This is unglamorous work and it is the single biggest predictor of whether the project ships. Do it once, properly, and keep it in the product feed so it updates when the catalog does.
Step 2: score, do not filter
Filtering returns an empty set the moment a combination has no exact match. Scoring always returns something ranked. Give each candidate SKU a score built from a few weighted components: tone distance, undertone agreement, skin type match, plus your own commercial signals — stock, margin, hero status, whether the item is part of a launch you are pushing.
Keep the commercial weight visible and adjustable. Merchandising teams will want to push a launch for six weeks without a developer rewriting the logic.
Step 3: let confidence change the behaviour, not the copy
When the confidence on undertone is low, do not show a hedged sentence to the shopper. Change what you do: widen the shade range you offer, show three adjacent options instead of one, or lead with a product category where undertone does not matter — a lip balm, a mascara, a cleanser. The customer sees a confident, relevant shortlist; the uncertainty is absorbed by the system.
Step 4: close the loop with a visual check
A shade recommendation that cannot be seen is a guess the customer has to accept on faith. Pairing the shortlist with MaIA Try-On lets the shopper send a photo and get it back with the lipstick or foundation rendered, using palettes calibrated to your real products. In the browser SDK, in early access, the same shopper can check the shade in live camera mode, rendered locally, with nothing uploaded — and across a wider product range, including a combined Full Look.
Where the shortlist is delivered
The ranked list is the same object everywhere. The channel decides how much of it you show.
Product pages. Two or three shades highlighted inside the existing shade selector, with the rest still browsable. Never hide the catalog.
WhatsApp and chat. Conversational contexts tolerate fewer options, not more. Lead with one recommendation and one alternative, with a reason attached to each.
CRM and email. Store the profile and the shortlist against the customer record. The next campaign segments on real attributes instead of purchase history alone, and the recommendation survives the session.
Staffed consultation. Give the advisor the shortlist as a starting point. Humans adjust faster when they are correcting a suggestion than when they are starting from nothing.
If you would rather not build the matching layer yourself, MaIA Beauty Advisor is delivered as a project with the B4A team: it reads the beauty profile, connects to your catalog and recommends your own products across WhatsApp, product pages and chat. The analysis and try-on APIs are self-serve; the advisor is built with you.
What to measure
Add-to-cart rate on recommended SKUs versus the same SKUs browsed normally. Shade return rate before and after. The share of sessions that reach a recommendation at all — if most shoppers abandon at the selfie step, the problem is the entry point, not the ranking. And the proportion of low-confidence profiles, which tells you whether your capture flow needs better lighting guidance.
Any conversion figures you see published belong to the brand that published them. Results vary with catalog depth, traffic mix and channel, so treat your own baseline as the only benchmark that matters.
Ready to build it? Create an account, buy credits and get an API key in the MaIA API documentation, or talk to our team about a catalog-integrated advisor.
Frequently asked questions
What is a beauty profile in this context?
It is a structured description of what is visible in a selfie: skin tone and undertone, skin type and condition, hair attributes, with a confidence value for each field. MaIA Scan returns it as JSON via API, so it can be joined directly to catalog data.
Do I need to tag my whole catalog before starting?
Not the whole catalog, but you do need the recommendable SKUs tagged with the same vocabulary the profile uses — tone range, undertone, skin type, hair attributes. Starting with one category, such as foundation or cleansers, is a common first step.
What happens when the confidence on a field is low?
Use it to change the system's behaviour rather than the customer-facing copy: widen the shade range, show more adjacent options, or lead with a category where that attribute is less decisive. The shopper still sees a clean shortlist.
Can the customer see the recommended shade on themselves?
Yes. The MaIA Try-On API renders lipstick or foundation on a photo the customer sends, using palettes calibrated to your real products. The browser SDK, in early access, covers a wider product range in live camera mode or photo mode, rendered locally in the browser.
Is MaIA Beauty Advisor self-serve like the APIs?
No. MaIA Scan and MaIA Try-On are self-serve — create an account, buy credits, get an API key. MaIA Beauty Advisor is delivered as a project with the B4A team because it integrates with your specific catalog and channels.