↓ Skip to main content
  1. Articles/

Why calorie databases disagree — and how MyFitnessPal entries can be wrong

Short answer: a calorie database row carries more than a food name. Behind it sit a preparation, a recipe, a serving definition and a data source. Search for “chicken breast” or “chicken curry” and all of those differences arrive as one flat list.

That is the lottery: several answers look plausible, and what you would need in order to choose between them is missing from the list.

One name can describe several foods
#

“Chicken breast” may mean raw or cooked, skin-on or skinless, grilled, roasted or fried. Water loss changes the calories per 100 g; skin and oil change the total itself.

Mixed meals widen the range. “Chicken curry” can be built on tomato, coconut milk, cream or ghee. Rice may sit inside the entry or count as a separate side. “One serving” may mean a cup, a restaurant plate or an amount someone once typed in.

A search result saysWhat the row still needs to tell you
Chicken breastraw or cooked · skin · preparation
Chicken currysauce · oil · rice included or separate
Caesar saladdressing · cheese · croutons · portion
Homemade souprecipe · added cream or oil · bowl size

Rows describing different meals sit in one list as if they were interchangeable.

A reference table, a label and a member entry answer different questions
#

Three kinds of number end up in the same search results, and they were produced for three different purposes.

A reference table describes a generic food. USDA FoodData Central is several datasets at once: Foundation Foods publishes sample-level detail for a small number of analysed foods, while SR Legacy values may come from laboratory analyses, from calculation across related foods, or from published literature USDA 2019. National tables measure their own country’s breeds, feed and seasons, so the French, British and American row for chicken breast can differ while each stays honest about its own samples.

A label describes a manufacturer’s own recipe, and it is written under rules. In the United States, calories are printed in 5-kcal steps up to 50 and 10-kcal steps above that, and anything under 5 kcal may be printed as zero; a product stays compliant while its measured calories run up to 20% above the printed value.1 Recipes are also reformulated long before a database notices.

A member entry is a card one member created: their package, their country, their portion, their reading of the label. Everyone who finds it in search uses it afterwards. MyFitnessPal says its database combines entries researched by its team with entries submitted by members,2 and acknowledges that some are inaccurate or incomplete.3 Its check mark means the team reviewed that entry, and MyFitnessPal notes that a reviewed entry can still hold a mistake.4 Editing a food creates a new food instead of correcting the old one, and the earlier values can stay in shortcut lists such as Most Used.3

So one search can return an average of laboratory samples, a legally rounded declaration about a package you never opened, and a stranger’s Tuesday dinner — sorted together by name. A bigger database improves the odds of finding your exact package and multiplies the near-duplicates behind a broad dish name.

Exact-looking numbers can still describe the wrong meal
#

Two studies mark two separate layers of uncertainty.

In a US study of 269 items from 42 chain restaurants in three states, stated calories were accurate on average. But 50 items — 19% — held at least 100 kcal more than stated Urban 2011. The average was fine; individual plates were not.

Portion estimation adds the second layer. In a small study where 30 women estimated ten displayed foods, the mean absolute calorie-estimation error was 53.4%, and 40% of estimates missed by at least 50% Lansky 1982.

Neither figure is a universal error rate. Together they name the two questions a precise-looking row cannot answer:

  1. Does this row describe the recipe that was served?
  2. Does the amount in the diary match the amount that was eaten?

This is the point where a lot of people decide that counting is hopeless and quit. That is the expensive answer. An estimate you keep making beats a gram-accurate diary abandoned in week three, as long as you can see what it assumed and change it.

What a finished row hides
#

Oil, dressing, sauce, cooking method, portion and sides are separate decisions. One entry folds them into a single total and keeps its assumptions to itself.

Those are exactly the parts that move in real life. The same bowl runs on chicken today and salmon tomorrow. The same soup is broth at home and finished with cream in a restaurant. The name survives; the composition does not.

The swing ingredient, cooking method and hidden-calorie fats sections take those variables one at a time.

What Calk calculates instead
#

A meal template records the composition and portion of a dish you eat often. You name its parts, and Calk calculates the meal from them:

  • base: rice, bread, potatoes or noodles
  • protein: chicken, beef, fish, tofu or beans
  • cooking: boiled, baked, grilled, pan-fried or fried
  • additions: sauce, oil, sugar, salt and toppings
  • portion: a practical estimate of how much you ate

Behind each of those parts sits one profile, assembled from national food-composition tables, specialist datasets and papers, with the finished dish then checked against recipe records. That work is laid out in where Calk’s food numbers come from. Put lentils in a soup and they contribute what those same lentils contribute anywhere else in the app. Choose the same portion tomorrow and it means the same amount.

Chicken became salmon: change the protein. More oil in the pan: change the fat. Nothing changed: save your version with ♥, and from your food tab the entry is two taps — open it, tap Eat (how many taps logging costs).

The assumptions in that estimate are named, so you can inspect them, change them and repeat them — including for a restaurant plate you did not cook. See how Calk’s meal templates work.

Choose an estimate you can inspect
#

Calorie databases disagree because one short name covers different preparations, recipes, servings and sources — and because a reference table, a label and a member entry were never answering the same question. More scrolling will not recover details the row never held.

Name the dish, keep its important parts editable, change only what changed. A month of entries built that way is comparable with itself, and that is what makes the rest work: food observations point at what stands out in recent days, and the monthly Nutrition Report names the repeated meals and calorie sources and suggests one change worth trying. Check that change against your weight trend; once every change you chose is a habit and the trend is going as planned, stop logging food every day and keep weighing yourself. Calk will tell you when the weight has drifted far enough to be worth another look.

Next: the hidden calories guide for the parts of a plate that move the total most, or how accurate Calk is for the benchmark and its limits.

Calk is available on iPhone, iPad, and Android.

Frequently asked
#

Why do calorie databases give different numbers for the same food?

The rows often describe different food. “Chicken breast” may be raw or cooked, skin-on or skinless, grilled or fried. A mixed dish may use another recipe, include a side or use an undefined serving. Several rows can therefore be valid and still disagree.

Why do a reference table, a package label and a user entry disagree?

Each answers a different question. A reference table gives the composition of a generic food, averaged over analysed samples. A label gives the manufacturer’s declaration for their own recipe, rounded and legally allowed a margin. A member entry is a card one member created and everyone else then reuses. Only the label is about a specific product, and none of the three is about your plate.

Are MyFitnessPal entries accurate?

It depends on the entry. MyFitnessPal says its database combines entries researched by its team with entries submitted by members, and acknowledges that some are inaccurate or incomplete. A check mark means its team reviewed an entry; that is evidence, not a guarantee that the row matches your exact food.

How accurate are restaurant calorie listings?

Average accuracy can hide large misses. In a US study of 269 items from chain restaurants, the listings were accurate on average, but 19% of individual items contained at least 100 kcal more than stated.

Should I weigh food raw or cooked?

If you are typing a weight into a database row, match the state of the food to the row: raw and cooked weights describe different water contents. In Calk the preparation is one of the choices inside the meal, so the state is already part of the option you pick.

What is the simplest alternative to database search?

Name the dish and its parts — base, protein, cooking method, sauce, additions, portion — and let the app calculate the meal from them. The assumptions stay visible, and the same choices produce the same result next time.