Scoring Methodology
This page describes exactly how Underneath turns a product label into a number from 0 to 100. It is published so that anyone, including the brand being scored, can take the data on a package and arrive at the same figure the app shows.
Every rule that can change a score is listed here. If a score cannot be reproduced from this page and the product's own label data, that is a defect worth reporting.
1. The three axes
Each product is scored on three independent axes, each starting at 100 and losing points.
Two rules hold across all three. Everything is measured per 100 g or per 100 ml, never per serving, so a small pack cannot hide behind a small serving size. And nothing is scored against a category average, so a biscuit is never rewarded for being a better biscuit.
Additives
Every additive named on the label is matched against a reference table, keyed by E number and by name, and its penalty is subtracted from 100. The base scale follows regulatory standing.
| Penalty | Status |
|---|---|
| 0 | Approved with no outstanding concern. |
| 2 | An acceptable daily intake has been set. |
| 5 | Under active safety re-evaluation. |
| 8 | Banned in at least one jurisdiction. Classed as high risk. |
A second scale covers substances approved everywhere but which exist to make cheap industrial food work: high fructose corn syrup 18 points, artificial flavours 15, maltodextrin 12, caramel colour 12, modified food starch 10, soy protein isolate and hydrolysed vegetable protein 8 each.
An additive that is present but not named, declared only by its functional class such as "emulsifier" or "sweetener", carries 5 points for the non-disclosure itself. It is not assumed to be the worst case, because an undeclared emulsifier may well be lecithin.
However long the list runs, this axis cannot fall below 40. Its purpose is to separate a formulation from a food, not to keep subtracting once that is established. A single additive banned somewhere in the world is the exception: it caps the axis at 49 whatever else the label shows.
Processing
Based on the NOVA framework, which sorts food by degree of industrial processing rather than by nutrient content. The group is taken from the product record where that is reliable and computed from the ingredient list where it is not.
| Penalty | NOVA group |
|---|---|
| 0 | 1, unprocessed or minimally processed. Fruit, plain oats, milk. |
| 10 | 2, culinary ingredients. Oil, butter, salt, sugar. |
| 30 | 3, processed food. Bread, cheese, tinned vegetables. |
| 45 to 80 | 4, ultra-processed formulations, graded below. |
NOVA 4 is graded rather than treated as one band, because a formulation built out of maltodextrin and modified starch is not the same product as a yoghurt containing one natural flavouring. Grading counts industrial markers, meaning ingredients that exist only because of industrial food production.
- Three or more hard markers: 80 points, leaving 20.
- One or two hard markers: 70 points, leaving 30.
- Soft markers only: 45 points, leaving 55. Soft markers are the borderline declarations, meaning natural flavourings, stevia, and bare functional class words where the label never names the substance. They are enough to place a product in NOVA 4 but not enough to treat it as a full industrial formulation.
Organic certification softens the processing penalty, but only where the product carries no high risk additive: 5 points at NOVA 2, 10 at NOVA 3, 15 at NOVA 4, and nothing at NOVA 1 where there is no penalty to soften. It appears as its own line on the receipt so the underlying penalty stays visible rather than being quietly absorbed.
Plain water is forced to NOVA 1 before anything else is considered, because food databases routinely file bottled water under soft drinks. Coconut water, tonic water and flavoured water are excluded from that override.
Macros
Computed from the declared nutrition panel only. Nothing on this axis is assumed. If the panel contradicts itself, for example if the declared macronutrients could not fit in 100 grams or could not produce the declared calories, the panel is rejected and the axis returns no value rather than a guess.
- Sodium. 30 points above 800 mg per 100 g, 18 above 400 mg, 8 above 120 mg.
- Sugar. Judged on the share of the product's calories that come from sugar, not on grams alone, because a gram threshold punishes fruit and lets a low calorie syrup through. 45 points above a 75 percent share, 35 above 50 percent, 25 above 30 percent, 12 above 15 percent.
- Trans fat. A flat 20 points for any detectable trans fat, or any partially hydrogenated oil on the list.
- Saturated fat. 30 points above 10 g per 100 g, 18 above 5 g, 8 above 2 g. Waived where unsaturated fat is at least double the saturated fat, which is what protects olive oil, avocado and nuts. Deep fried products never receive that waiver, because the fat they carry is oxidised frying oil.
- Calorie density. Up to 5 points to 50 kcal per 100 g, 15 to 200, 25 to 400, 35 above 400. Protein cancels up to 40 percent of it, fibre up to 35 percent, unsaturated fat up to 25 percent, and 15 g of protein or more per 100 g skips it outright.
- Points returned. Fibre at 3 g or more per 100 g returns 5 points. Protein at 5 g or more returns 5 points.
Four guards keep the sugar calculation honest. A product carrying 5 g of sugar or less can never lose more than 12 points, and one carrying 10 g or less never more than 25. A product carrying more than 15 g loses at least 12 and one carrying more than 25 g loses at least 25, whatever the share works out to. A clean label product sweetened only with honey, maple syrup, molasses or dates has its sugar penalty halved. Whole food can never lose more than 12 points for sugar, because fruit is not a soft drink.
Individual ingredients may carry their own nutritional caveat, drawn from a reference set of about 140 entries, of which processed meat is the clearest example. Those adjustments are only ever negative, are counted once per ingredient, and their combined total is capped at 20 points so no axis is decided by them alone. A caveat may only charge points for something the label states. Whether a farm used a pesticide or an antibiotic is not on the label, so those notes are shown and cost nothing.
2. The weighting
When all three axes have data, the blend is:
blend = (additives × 0.30) + (processing × 0.30) + (macros × 0.40)
Macros carries the largest single weight because most of the measured harm from ultra-processed food runs through energy density, low satiety and low fibre. Additives carry less weight than they once did, because the evidence concerns a small set of compounds rather than additives in general. Genuinely harmful additives are handled by the hard cap at 49 rather than by weight, which is a sharper instrument than a heavier weighting.
This weighting changed in August 2026. See the version history at the end of this page.
3. The ultra-processed anchor
The blend alone is not the final number. For a product classified NOVA 4 that carries either at least one hard processing marker or a high risk additive, the blend is anchored to the processing axis:
score = round(processing × blend / 100)
This is the single rule with the largest effect on a low score, so it is set out in full.
Why it exists
Without it, a heavily processed product can average its way to a respectable number on the strength of a good nutrition panel. Reformulating a product to hit better macro targets while leaving it just as far from whole food is exactly the move the anchor is designed not to reward.
Worked example
A product scoring 40 on additives, 20 on processing and 77 on macros, classified NOVA 4 with three hard markers:
blend = (40 × 0.30) + (20 × 0.30) + (77 × 0.40) = 48.8score = round(20 × 48.8 / 100) = 10
The same product without the NOVA 4 classification would score 49.
When the anchor does not apply
- Clean label NOVA 4. A product pushed into NOVA 4 only by soft markers, with no high risk additive, escapes the anchor and is capped at 85 instead.
- Category guesses. If the NOVA 4 classification came from the product's category rather than from markers seen on the package, the anchor does not apply. Nothing was read off that label to justify it.
4. Caps
A cap is a ceiling, never a deduction. Caps exist so that missing or untrustworthy data can never inflate a score. Where more than one applies, the lowest wins.
| Cap | Applies when |
|---|---|
| 49 | Any additive with a penalty worse than 5 points. Caps the additives axis, not the final score. |
| 49 | Only one of the three axes had usable data. |
| 74 | Only two of the three axes had usable data. |
| 74 | The nutrition panel is missing sugar or sodium. |
| 74 | Every scored axis came from a different barcode's record, matched on product name. |
| 85 | Clean label NOVA 4, described above. |
| 85 | The ingredient list was estimated rather than read, described in section 6. |
| 70 | NOVA 3 or above, at least 450 kcal per 100 g, and low protein and fibre per calorie. |
| 60, or 65 organic | The above, plus at least 28 g of fat per 100 g, taken as evidence of frying. |
| 45, or 50 organic | The above, where the product category is a deep fried one such as crisps, corn chips or fries. |
| 35 | A processed drink, NOVA 3 or above, carrying 8 g of sugar or more per 100 ml. |
| 50 | A processed drink, NOVA 3 or above, carrying 5 g of sugar or more per 100 ml. |
| 5 | Clear spirits. |
| 4 | Wine, champagne, sake. |
| 3 | Beer, cider, aged spirits, and any alcohol not otherwise classified. |
| 1 | Liqueurs, cocktails, alcopops, fortified dessert wines. |
The two sugary drink caps are restricted to processed drinks so that milk, whose lactose runs to about 4.8 g per 100 ml, and juice that is only fruit, are never caught by them. Sugar that was already in the food is not treated as sugar that was added to it.
Alcohol is a Group 1 carcinogen under IARC with no established safe intake, so the whole alcohol band sits deep in the Poor range and the differences between tiers are deliberately small.
5. Verdict words
| Score | Verdict |
|---|---|
| 80 to 100 | Good |
| 50 to 79 | Moderate |
| 0 to 49 | Poor |
These words describe the output of this methodology. They are not a clinical or dietary assessment of a product, and a high score means close to whole food, not low calorie or suitable for any particular person.
6. Where the data comes from
- Product data comes from Open Food Facts, a community maintained open database, supplemented by retailer product data in some markets.
- Additive penalties and sources come from a reference table maintained by Underneath, each row carrying a citation shown in the app.
- Label reading. Where a barcode is not in the database, the ingredient list is read from a photograph of the label.
- Estimated ingredients. Where a product is known by name and category but has no ingredient list at all, a typical list may be estimated in order to give any answer. Estimated scores are labelled as such in the app, are capped at 85, and never raise an additive alert.
Product data can be wrong, out of date, or entered for a different market's version of the same package. The label on the product is always the authority.
7. When no score is shown
Underneath shows no number at all, rather than a low one, when:
- The ingredient list cannot be recognised well enough to score. A list that cannot be read is not evidence of a bad product.
- No ingredient data exists and none could be estimated.
- A score is under review following a challenge. In that case the ingredients and the breakdown still display, but no number does.
8. Challenging a score
Any brand or person may ask for the full working behind a specific score: the data used, its source, the additives matched, the NOVA classification, and the arithmetic. That will be provided.
Where a score rests on wrong data, it is corrected. Where a score is disputed and the dispute is not obviously unfounded, the number is withheld while it is examined.
Contact: tryunderneath@gmail.com
9. Version history
Version 50, September 2026
Ingredient caveats that describe farming practice rather than label content no longer cost points. Conventional dairy and conventional poultry previously carried a small deduction for possible pesticide, hormone or antibiotic residues. None of that is stated on a label, so no product could be shown why it had lost the points. Those notes are still displayed, and now cost nothing. Conventional dairy products gain about 1 point. Plain chicken and turkey lose their only such caveat, so they now carry no ingredient deduction at all.
Version 49, September 2026
Published this page. Corrected the description of the weighting on the home page, which still read 50 percent additives, 30 percent processing and 20 percent macros. The engine had used 30 / 30 / 40 since August 2026 and the figures on the home page were not updated at the time. The app itself displayed the correct weighting throughout. No score changed as a result of this correction; only the published description of it did.
Also in this version: the ultra-processed anchor and the full cap list are published for the first time.
August 2026
Weighting changed from 50 percent additives, 30 percent processing and 20 percent macros to 30 / 30 / 40, on the view that the additives axis should not outrank measured nutrition, and that specific harmful additives are better handled by a hard cap than by a heavier weight across every additive. Processing was unchanged.
July 2026
Weighting moved from 40 percent additives, 30 percent processing and 30 percent macros to 50 / 30 / 20. This is the weighting the home page described until the September correction above.
Earlier
Scores are recomputed from live data on every scan, so a change to this methodology takes effect immediately. No score is served from a stale calculation.
This methodology describes a proprietary scoring system. It is informational, is not medical or dietary advice, and is not a substitute for reading the label or consulting a qualified professional. See the Terms of Use.