Shea · ingredient scanner · how the fit score works

how the Shea fit score works

When you scan a product, Shea gives it a fit score out of 95 and a band: excellent, great, okay, or not the best for your hair. This page is the whole method, including the parts that limit it.

It is written plainly on purpose. If you are a journalist, a cosmetic chemist or a curious member, everything here is checkable by scanning two products against two different profiles.

what the number is

It answers one question: how well does this product suit the hair you told us about. Your porosity, strand thickness, density, curl family, climate and the ingredients you have asked us to watch for all feed into it.

That is why two members get different scores for the same bottle. It is not inconsistency. It is the point. A rich butter that seals moisture into high porosity hair can sit on top of low porosity hair and do nothing at all, and one number cannot be right about both.

what it deliberately is not

It is not a safety rating. It is not a quality grade. It is not a ranking against every other product on the shelf.

Those are separate questions and mixing them into one figure is how ingredient scores lose their meaning. A product can suit your hair beautifully and still contain something you would rather avoid. Shea says both, in two places, in two different voices.

the properties of the scale

it is a fit score, not a grade The number describes the relationship between one product and one head of hair. It is not a quality rating, not a safety rating, and not a ranking against other products.
nothing moves the number invisibly Every point the score moves is carried by a line you can read. If the card has room for three, the rest are one tap away under "see all". The reasons add up to the number.
no product can score 0 or 100 The scale runs 10 to 95 and both ends are unreachable by construction, not by trimming. A 0 would mean nothing in the bottle could ever suit you. A 100 would mean we had run out of things to check.
safety is not on the scale A flagged ingredient does not subtract points. It shows as its own notice, in its own words, because the honest response to a contaminant is not a lower number.
too little to read means no score If the label gives us only one thing to go on, the app says so instead of printing a confident number over nothing.
position stands in for dose Ingredient lists are printed in descending order down to about 1%. We weight by position and we tell you we are doing it, rather than inventing a percentage we do not have.

why the ends of the scale are unreachable

This is the part most worth understanding, because it is where scoring apps usually go wrong.

If a scale can hit its own floor, products pile up there and the number stops carrying information. Everything terrible looks identically terrible. The same happens at the top: once enough products score 100, the score has stopped measuring and started saturating.

So the band is 10 to 95, and neither end can be reached by the rules. The limit is a guarantee about the scale, not a trim applied to results that went past it. A 10 means the product actively works against the hair you described. A 95 means it is the best match we can identify, which is a smaller and more honest claim than perfect.

The top band also has to be earned rather than added up to. Above 84, a product needs at least three separate positive findings about three different ingredients. One ingredient praised three ways is one finding.

how dose is handled, and where that breaks

An ingredient list is printed in descending order of quantity, but only down to about 1%. Below that, the order is up to the manufacturer.

So position is the honest proxy for dose and Shea weights by it: something second on the list counts for more than the same thing twentieth. We do not convert that into a percentage, because we do not have one, and neither does anyone else reading the back of a bottle.

There is one deliberate exception. A small number of substances are contaminants rather than cosmetic ingredients, and those are named wherever they appear, because there is no amount of a heavy metal that is a trace worth ignoring. Everything else, including ingredients that are restricted or that commonly cause reactions, is read in the position it was printed in.

why a flagged ingredient does not lower the score

It used to. That was wrong, and here is why.

A flat penalty treated four completely different things as one: a contaminant, a permitted UV filter used at trace, an approved medicated active doing exactly its job, and occasionally a misread on our side. A number cannot distinguish those. A sentence can.

So safety left the numeric scale. A flagged ingredient shows as its own notice, saying which kind of flag it is and what it is actually about, and the fit score goes on answering the question it was built for.

what we refuse to score

About a quarter of our ingredient catalog is scored as neutral on purpose. These are mostly plant extracts whose effect on hair is not characterised well enough to say anything useful.

We could give them a small positive. It would make the app feel more knowledgeable and it would be made up. Fragrance, preservatives, colourants, chelators and pH adjusters also contribute nothing to the number, because for the question this score is answering, they genuinely do not.

where the method stops

Every one of these is a real limit of what we do. They are here because you should hear them from us.

what porosity you have is your answer, not a measurement. It is the single biggest swing in the whole score, and almost nobody has had it measured in a lab. The result card names the porosity it used and lets you change it in one tap, because a number that moves this much on one input has to show you that input.
below about 1%, the order on the label stops meaning anything. Manufacturers can list the tail in any order they like. So position is a good proxy near the top of a list and a weak one at the bottom, and the score treats it that way.
we do not know the concentration of anything. Nobody reading a label does. Any app that implies otherwise is guessing at a number and presenting it as data.
a plant extract whose effect is not characterised earns nothing. Roughly a quarter of the catalog is deliberately scored as neutral. We would rather say nothing about an ingredient than invent a benefit for it, even when the marketing around it is enthusiastic.
an ingredient list predicts, it does not report. It cannot tell you a product flaked in humidity or took three washes to stop feeling coated. That is what the Circle is for.
four of the eight goals you can pick earn nothing yet. Two of them describe habits rather than ingredients and never will. The other two need catalog work we have not finished. Your goal never lowers a score, and as of the current build it can no longer be the reason a product is called excellent.

who decides what an ingredient does

Our catalog is curated by the Shea team against published INCI functions and supplier documentation, one row at a time. Every ingredient carries a role, and the role is what the scoring rules read.

We are not a laboratory and we do not test products. Where an ingredient is genuinely contested, our position is to score it conservatively or not at all rather than pick a side and present it as settled.

money, and who pays us

Brands cannot pay us. They cannot sponsor Shea, buy a score, have a score adjusted, or appear in the scanner as placement. There are no ads in the app.

Shea is paid for by members: the app is free, scanning is included on the free tier with a monthly limit, and premium raises that limit. That is the whole business model. If it ever changes, it will be written on this page with the date it changed.

if you think a score is wrong

Tell us and we will look at the actual row. Two of the fixes in the current build came from members saying a card contradicted itself.

You can report an ingredient from inside a scan, or contact us directly. If you are a cosmetic chemist and you think one of our roles is wrong, we would genuinely rather hear it than not.

what changed, and when

Methods that change silently cannot be checked. Ours are listed here with dates.

August 2026Safety moved off the numeric scale and became its own tiered notice. The band became 10 to 95 with both ends unreachable by the rules. Every point the score moves became attributable to a visible line. Products with too little signal stopped receiving a score. Strand thickness and density began to affect the result at every porosity rather than only some. Goals stopped being able to make a product read as excellent.

frequently asked

is the Shea fit score a safety rating? No, and it is built so it cannot become one. The number answers one question: how well does this product suit the hair you told us about. Safety is handled separately and never enters the number, because a single figure cannot say "this suits your porosity" and "this contains a contaminant" at the same time.
why do two people get different scores for the same bottle? Because it is the same reading taken against different hair. Porosity, strand thickness, density, curl family, climate and the ingredients you personally avoid all change the answer. A product that seals moisture into high porosity hair can sit on top of low porosity hair and do nothing.
can a brand pay to change a score? No. Brands cannot sponsor Shea, buy a score, or have one adjusted. There is no advertising on the scanner and no paid placement in it. If that ever changes it will be written on this page with the date.

Related: the ingredient scanner, how porosity changes everything, and the app itself.

get Shea free