How the LabelFacts Score is computed

The LabelFacts Score is a deterministic calculation, not a judgement call and not a language model: the same product data always produces the same 0–100 number. The algorithm is versioned — currently version 10 — and every published score records the version that computed it. A score is only displayed when it was computed by the current version.

The LabelFacts Score is educational information, not medical or nutritional advice. Product data comes from public databases and manufacturer labels and may lag reformulations.

Ingredient classifications come from the cited public authorities (FDA, WHO, EFSA, IARC, NTP, CIR). The weights, caps, and thresholds that combine them — and therefore the 0–100 score — are LabelFacts' own editorial methodology.

What goes into it

Ingredient classifications, restrictions, and reference doses come from our reviewed ingredient database, which cites published assessments from the U.S. Food & Drug Administration (FDA), the World Health Organization and its International Agency for Research on Cancer (IARC), the European Food Safety Authority (EFSA), the National Toxicology Program (NTP), and the Cosmetic Ingredient Review (CIR). Nutrition and processing use the Nutri-Score and NOVA values published by Open Food Facts — published, independently maintained measures computed by a community-edited database, not by a regulator. Products used on the body or around the home are additionally assessed on GHS/CLP hazard classification, and supplements on independent third-party testing certifications. Before matching, label text is cleaned deterministically: statement markers, second-language repeats, and fragments that are provably not ingredients (addresses, phone numbers, lot codes) are excluded from the recognised-ingredient count.

Recognition is not endorsement: some reviewed entries — milkfat, unspecified vegetable oil, chocolate — carry no adverse authority classification and no benefit claim from us either. They count toward how much of a label we recognised, deduct nothing, and are shown as "Reviewed" rather than as a caution or a benefit. Third-party testing earns full credit only from verified evidence — a verified lab-test record, or a listing we matched in a public certification registry (NSF Certified for Sport, USP Verified, Informed Sport), cited by its registry page. A certification that appears only as text in a product's label data earns partial credit: label text is a claim, not a verification, and the databases it comes from are publicly editable.

How it is combined

Each input feeds a weighted category, and the weights adapt to the product type: nutrition and processing apply to food and beverages, hazard classification to personal care and household products, third-party testing most heavily to supplements. A category that does not apply to the product type is excluded from the calculation entirely — it does not score zero. Every weight, cap, and threshold is published in the app's Methodology screen, where each number is rendered directly from the same constants the calculator executes, so the disclosure cannot disagree with the shipped algorithm. If you need the current weight table and cannot access the app, email support@labelfacts.app and we will send it.

Only what we could assess counts

A category that applies but has no data behind it is excluded and the remaining weights are rescaled — missing data is treated as unknown, never as a finding against the product. Rescaling has a price in the other direction too: incomplete evidence cannot claim the top of the scale. Above a fixed pivot, the score is scaled down by the fraction of the applicable weight we could actually assess, so the highest band takes a substantially complete evidence base to reach.

Restricted ingredients set a ceiling

A product containing an ingredient under an active regulatory restriction cannot present as a good product however well it does elsewhere: the total is capped, and the cap falls as more restricted ingredients are present. Only ingredients matched by our reviewed database count toward this ceiling, each with the restriction it cites. "Restricted" means a published authority has restricted the substance for this kind of product — it is not our judgement, and a restriction that applies to another product type does not apply here.

When we don't show a score

Our reviewed database covers a few hundred substances; real labels contain many thousands. An ingredient we cannot match is a gap in our data, not evidence about the product, so we count what we could read: when too little of a label resolves to a reviewed classification — or there is no ingredient list (with the one fresh-produce exception below), or no nutrition signal where nutrition applies — the product is marked "we couldn't assess enough of this label" and no number and no tier are published for it anywhere: not in the app, not in rankings, not on these pages. You still see everything we do have, plus a line stating exactly how much of the label we recognised — for example, "We recognised 3 of 11 ingredients on this label."

The fresh produce exception: a bare fruit or vegetable has no ingredient list because it is its ingredient. When a food product lists no ingredients, its name is exactly an item on our short curated list of single-ingredient whole foods ("Bananas", "Spinach" — singular or plural, nothing else), and its category, if present, reads as fresh produce, we score it as that one reviewed whole-food ingredient, citing the same database entry the ingredient table uses. The exact-name rule is deliberate: "Banana Chips" or "Apple Juice" are processed products whose composition we have not read, and they stay unscored — as does a product carrying a produce name with a non-produce category, like a soda named "Orange". With no nutrition panel, the nutrition category is excluded and rescaled exactly like any other missing category. The full produce list and its count are published on the app's Methodology screen, rendered from the same constants the calculator executes.

Where AI fits — and where it does not

We use AI for two things: reading a label from a photo, and grouping the ingredients it finds for display. Those AI-identified groupings are shown for information only. They do not affect the score: no language model contributes a point in either direction, and no AI classification counts toward the restricted-ingredient ceiling. That is why the same product always scores the same, and why every point of the score can be traced to a cited source.

The five tiers

What the score is not

It is not a safety verdict, a laboratory result, or a finding that any product is harmful. We do not test products; we read what is on the label and what public authorities have published about those ingredients, and we combine the two using our own weights. It is not peer reviewed, it is not endorsed by any of the authorities we cite, and it is not a regulator's view — a low score means our calculation counted things, not that a product breaks any rule. And it is only as current as the label data we hold: manufacturers reformulate and public databases lag. If something looks wrong, use "Report incorrect data" in the app or email support@labelfacts.app — see Support for the correction process.