Our math
Most nutrition scores are black boxes. Ours isn't: this page is the actual method, including the parts we're not yet sure about. If you find a food that scores wrong, that's not an embarrassment — it's how the formula gets better, in public.
Four things decide the score
1. Protein. The strongest and longest-acting fullness lever. Your body defends its protein target across meals and days — dilute it, and appetite pushes you to eat more of everything else.
2. Energy density. How many calories hide in each bite. 100 grams of spinach is 23 kcal; 100 grams of cookies is nearly 500. Stomach volume is a real fullness signal, and dense food defeats it.
3. Fiber. A smaller but real bonus: slows eating, slows the stomach, adds staying power.
4. Hyper-palatability. The penalty. Specific fat+salt, fat+sugar, carb+salt and pure-sugar combinations — patterns rare in nature and everywhere in engineered food — drive eating past fullness. Foods that trip these patterns lose up to 80% of their score. This is also why the very bottom of our scale is reserved for engineered food: plain fats like olive oil score low, but never lower than the products built to defeat you.
Plus three honest adjustments: calories you drink count for less than calories you chew; alcohol calories carry almost no satiety at all; and genuinely protein-rich foods can't fall to the candy tier, because protein works even in imperfect packages.
Don't trust us — try it
Invent a food. The score updates from the real formula — the same code that scores every food on this site.
solidly filling
Protein
Low energy density
Fiber
Penalty
What we're sure of, and what we're not
Well-established (component level): protein increases satiety; low energy density reduces intake; fiber helps; ultra-processed, hyper-palatable food drives over-eating in controlled experiments (about +500 kcal/day in the landmark NIH inpatient trial, Hall 2019).
Our judgment (composite level): the exact weights that combine those levers into one 0–100 number are calibrated by us, not fitted to a clinical trial. We weight protein above what short-term satiety studies alone justify, because protein's appetite effect plays out over days, not the two hours a lab test measures. That is a stated scientific bet, and we flag it rather than hide it.
Known limits: scores are only as good as the underlying data (mixed and restaurant dishes swing the most); the score has an optimum, not a maximum — living on only 90+ foods is neither necessary nor sustainable. Aim for “more filling than yesterday,” not a perfect number.
Formula changelog
Every score is stored with its formula version and recomputable. When the method improves, that's public history, not a silent rewrite. Current: v2.3.
- v2.3 (2026-07-06)
v2.3 (6 Jul 2026, from the 322-food eyeball): (1) protein floor ramps in over P% 10–15 instead of a hard 15% threshold; (2) liquid modifier aL=0.85 on all drinks (drunk calories satiate less than chewed); (3) empty-calorie floor fE=7 — the bottom band requires hedonic drive, so pure non-hedonic fats (oils) sit just above engineered junk.
- v2.2c (2026-07-05)
v2.2c: protein weight 0.62 (timescale argument), pure-sugar cluster, sugary-drink term, protein floor, alcohol + sweetener terms, Rule 0.