MaIA Scan

confidence score in the skin analysis API

Confidence Score in the Skin Analysis API: How to Use the Field Almost Nobody Reads

Every field in the beauty profile comes back with a degree of confidence. Reading that value changes the customer experience, your front-end fallback and the quality of the recommendation. A practical guide for product and engineering teams.

5 min readMaIA team · B4A

Every response from the MaIA Scan skin analysis API carries more than attributes: it carries a confidence value per field. The confidence score in the skin analysis API tells you how securely that specific attribute — tone, undertone, skin type, hair characteristic — could be described from that particular photo. In most integrations, this field is ignored: the team reads the attribute value, builds the recommendation and moves on. That is exactly where bad experiences are born, because a reading made with little visual information is treated exactly like a reading made with plenty.

What the confidence score actually tells you

The analysis happens on a photo. Yellowish light, shadow across half the face, heavy makeup, hair tied back, low resolution: each of these conditions affects different fields, to different degrees. A selfie with good frontal lighting may describe skin tone very well and, at the same time, say little about hair, because the hair barely appears in the frame.

That is why confidence is per field, not a single score for the photo. Treating the response as one monolithic block — accept everything or discard everything — throws away good information along with the uncertain kind.

What it is not

The score is not a measure of how "correct" the result is in absolute terms, nor a clinical assessment. MaIA Scan describes visible attributes of a photo; it is not a medical assessment and does not replace a professional. The score is an operational signal: it exists so your product can decide what to do next.

Three decisions the score should govern

1. Whether or not to ask for a new capture

The worst possible experience is showing a foundation recommendation that the customer looks at and dismisses. The second worst is asking for a new photo for no reason. The score lets you choose between the two with a clear criterion: if the field that supports your main recommendation came back with low confidence, a second capture step is worth it, with explicit guidance — natural light from the front, face without filters, hair loose if the product is for hair.

We are not going to suggest numeric thresholds here, because they depend on your case. A lipstick carousel tolerates far more uncertainty than a foundation shade flow, where the undertone defines the SKU. Set the threshold per flow, record the outcome and adjust.

2. Change the tone of the interface, not just the content

High confidence allows an affirmative sentence: "your undertone reads as warm — these three foundations match". Low confidence calls for a different construction: "based on what the photo shows, your undertone leans warm; compare these two options". The recommended product may even be the same; what changes is the promise made to the customer, and it is the promise that generates returns when it does not hold up.

This wording adjustment is cheap to implement and is usually the biggest perception gain in any integration of skin and hair analysis from a selfie via API.

3. Choose the next step in the funnel

When confidence in a decisive field is low, the path does not have to be an automatic recommendation. It can be a visual proof, with MaIA Try-On, where the customer herself compares shades on her own photo. It can be a conversation with the catalog-integrated virtual beauty advisor, which asks two or three questions and closes the gap the photo left open. The score becomes an experience router.

How to implement it without turning the front end into a decision tree

Centralize the rules outside the component

Threshold rules age: they change when you replace the capture flow, when a new channel comes in, when the SKU base grows. Keep them in a configuration layer — a service, a feature flag, a table — and not scattered across interface components. That way you adjust behaviour without a new front-end deploy.

Persist the score alongside the attribute

If you store the beauty profile in the CRM, store the confidence of each field and the date of the analysis too. Six months later, when the CRM team segments a campaign by undertone, the difference between a secure field and an uncertain one matters — and without the stored score, that distinction disappears.

Monitor the distribution, not just isolated cases

Average confidence per field, tracked over time, is one of the best capture-quality thermometers you have. A drop concentrated in one specific channel almost always points to an interface problem: the camera opens in the wrong mode, the instruction disappeared on small screens, the framing overlay got hidden. This monitoring pays for itself quickly, because every analysis consumes credit and poor captures cost money twice — in the wasted call and in the recommendation that does not convert.

A concrete scenario

A customer sends a selfie taken at night, under yellow light. The response describes skin type with high confidence and undertone with low confidence. Without using the score, the store recommends a specific foundation and risks a return. Using the score, the store does three things: it presents the skin type reading with confidence, presents the undertone as a hypothesis, and opens virtual try-on with two neighbouring shades for comparison. The sale happens with a calibrated expectation — and the team gains a signal that it is worth reinforcing the lighting guidance on the capture screen.

Start with the field that decides the purchase

Do not try to govern every field at once. Pick the attribute your main recommendation depends on, define the behaviour for high confidence and for low confidence, measure the impact on conversion and on returns, and only then expand. Results vary with each brand's catalog, traffic and channel.

Want to see the full response format, field by field, with the confidence that accompanies each one? Create your account, buy credits and generate your key in the API documentation — or talk to the B4A team to design the rules together with us.

Frequently asked questions

What is the confidence score in the skin analysis API?

It is a value that accompanies each field of the beauty profile and indicates how securely that specific attribute could be described from the photo that was sent. It is per field, not a single value for the whole response.

What confidence threshold should I use to accept a result?

There is no universal number: it depends on the flow. A lipstick carousel tolerates far more uncertainty than a foundation shade choice, where the undertone defines the SKU. Set thresholds per flow, measure conversion and returns, and adjust.

What should I do when a field comes back with low confidence?

Three paths work well: ask for a new capture with lighting and framing guidance, change the interface wording to present the attribute as a hypothesis, or route the customer to virtual try-on or to the beauty advisor, which closes the gap with questions.

Is it worth storing the score alongside the beauty profile?

Yes. Keeping the confidence of each field and the date of the analysis lets CRM and merchandising know, months later, which attributes are secure enough to segment a campaign.

Does the score indicate any kind of skin health assessment?

No. MaIA Scan describes visible attributes of a photo, such as tone, undertone, apparent skin type and condition, and hair characteristics. It is not a medical assessment and does not replace a professional.

beauty APIskin analysisintegrationproductbeauty e-commerce

← All articles