Blog

Where Calorie Numbers Come From, and How Wrong Each Is

Day So Far

How accurate are calorie counts?

Every calorie number you will ever log is an estimate, and the three sources you meet most — the packet, the menu board, the database entry — are wrong in different, fairly predictable ways. Labels are allowed a tolerance and a rounded serving size; menu figures describe a standardised build rather than the plate that arrived; database entries for the same food can differ several-fold because they describe different preparations. None of that makes counting pointless. It means the useful question is not "is this number right?" but "which way does this number tend to be wrong?"

Why isn't the packet exact?

A nutrition label is not a measurement of the packet in your hand. It is a declaration about that product in general, produced from analysis or from a calculation over the recipe, and labelling rules in most countries allow both rounding to convenient intervals and a margin between the declared figure and what a given unit actually contains. The exact tolerance varies by jurisdiction and changes over time — if you want the number for where you live, look it up rather than trusting a blog.

The bigger problem is usually the serving, not the tolerance. A bag of crisps declares 30 g as a serving; the bag holds 150 g. A cereal box calls 40 g a portion, which is a thin scattering, and the bowl most people pour is closer to 70 g. A tub of ice cream may define its serving as 100 ml — a scoop and a half, not the three you took. Multiply before you believe.

Then there is the base the figure describes. "Per 100 g" on dry pasta is about 350 kcal in the ordinary published tables; cooked pasta absorbs water and lands somewhere near 150 kcal per 100 g, because the same food now weighs more than twice as much. Tinned pulses and tuna are often declared drained, sometimes not, and tuna in oil versus tuna in brine is a difference of roughly a hundred calories a tin. Stock cubes, gravy granules and squash are declared as prepared. Whenever a label and your kitchen scale disagree wildly, it is nearly always because you weighed a different state of the food than the label described.

Why doesn't the menu figure match the plate?

Chain menu figures generally come from a specification: this sandwich contains this weight of filling, this much dressing, this bun. The specification is real. The plate is made by a person during a rush.

So the published number is best read as the centre of a distribution. The sauce is ladled, not weighed. The chips are scooped. Oil in the pan is poured by eye. A generous hand on a dressing is 15–20 g of oil, which is 120–180 kcal that appears nowhere in the figure on the board. Independent restaurants, which usually publish nothing at all, work the same way but without the specification to anchor to — which is why a restaurant estimate is really an exercise in counting calories in food that has no label.

Drinks deserve their own suspicion, because they are often quoted for a measure that nobody serves. A glass of wine at home is rarely the 175 ml the menu assumed, and cocktails are quoted for a build, not for the one the bar made. That is a whole category of quiet error, covered separately in how to count alcohol calories.

Why do two database entries for the same food disagree?

Open any large food database and search "chicken breast" and you will find entries ranging from about 110 kcal per 100 g to well over 300. Both can be honest. One is raw and skinless; one is roasted with skin, which loses water and concentrates everything; one is breaded. Add the unit problem — "1 breast" might mean 120 g or 250 g — and a several-fold spread appears without anyone lying.

Curated reference data, such as USDA FoodData Central or the branded product records in Open Food Facts, is generally the better starting point precisely because each entry says what state the food is in. User-contributed entries carry no such guarantee: somebody typed a number once, possibly from a different country's version of the product, possibly while distracted. Entries with tidy round numbers and no macro breakdown are the ones to distrust first.

How do you sanity-check a number you don't trust?

Three checks, none of which take long.

Reason from the components. Fat is about 9 kcal per gram, protein and carbohydrate about 4. A tablespoon of oil is roughly 120 kcal, a thin scrape of butter on toast maybe 50–75. If a creamy pasta dish is listed at 300 kcal, ask where the cream and the oil went.

Compare against something you have weighed. Keep a few anchors: a medium banana is about 105 kcal, a medium egg about 70, a slice of standard bread about 80. If an entry claims a stuffed sandwich weighs in under two eggs, it is describing something else.

Check the macros multiply out. Take the grams of fat, protein and carbohydrate, apply 9/4/4, and see whether you land near the stated calories. Being 10% off is normal. Being 40% off means the entry is internally inconsistent and should be replaced.

Does the size of the error matter, or the direction?

The direction, almost always. If your estimates are scattered — some high, some low, no pattern — the noise largely cancels across a week of logging, and the average is usable. That is the argument developed in how accurate calorie counting actually needs to be.

A consistent lean is different, because it never cancels. Suppose every entry runs 10% low and you believe you are eating 2,000 kcal a day. That is 200 kcal a day unrecorded, 1,400 a week. At about 7,700 kcal per kilogram of body fat, it is roughly 0.18 kg a week of loss that does not arrive — around 2 kg over three months, which looks exactly like a metabolism that refuses to cooperate and is in fact an arithmetic bias.

Bias creeps in through habit: always choosing the lowest-looking entry, always logging the specification rather than the plate, always rounding the oil down. The fix is not more precision. It is picking the plausible entry rather than the flattering one, and then leaving your method alone long enough to compare it against the scale — the method behind finding your real maintenance calories.

Day So Far works from that assumption rather than against it: describing a meal in a sentence produces an estimate with its own error, and the daily target is adjusted over a fortnight by comparing what you logged with what the scale did, which absorbs a steady bias in either direction. What it cannot absorb is a bias that changes every few weeks. Consistency in how you log is worth more than accuracy in any single entry.