Understanding Accuracy
How weight-based tracking achieves ~93% nutrition accuracy by Week 4 through physics-based reconciliation.
The Accuracy Promise
Eatomate combines database matching (text search across 2M+ barcodes, 50K+ recipes, and 100K+ aliases) + precise weighing (kitchen scale for exact portions) to achieve:
- •Week 1: ~82.5% nutrition accuracy (CLT justifies Gaussian error model; quadrature combines group errors into 2σ CI)
- •Week 4: ~93% nutrition accuracy (system learned your recipes and portions)
- •Meal identity: 100% accuracy with user-confirmed database match
What "~93% Accuracy" Means
93% nutrition accuracy means your daily calorie, protein, carb, and fat totals are within ±7% of ground truth. For a 2000 calorie diet, that's ±140 calories—more accurate than food labels (legally allowed ±20% variance).
Accuracy Improvement Over Time
Watch how reconciliation transforms your tracking accuracy from ~82.5% to 93%+ over the first 8 weeks:
Based on analytical quadrature summation with published within-SKU CVs (see whitepaper). Assumes ≤18% of weekly calories from ready meals and ≤10% from restaurants (Scenario B). The "With Reconciliation" line shows how physics-based reconciliation locks in historical accuracy as you complete pantry items.
The Two-Stage System
Every meal log involves two stages that combine for highly accurate nutrition tracking:
Stage 1: Database Matching (95% Automated)
You search for your food item and the system matches across three databases:
- •Barcode Database: 2M+ barcoded products for instant lookup
- •Recipe Database: 50K+ recipes with full nutrition data
- •Alternative Names: 100K+ aliases ("dal" = "yellow lentil dal")
Output: Top few candidates ranked by relevance for you to select.
Stage 2: Precise Weighing
You weigh the food on your kitchen scale:
- •Exact weight: Kitchen scale measures to the gram
- •Per-gram nutrition: Precise calories and macros from database
- •No estimation: Real weight eliminates portion guessing entirely
Output: Exact nutrition data based on actual weight.
Combined Result: Highly Accurate Nutrition
You select the correct food from the top candidates (100% meal identity) and enter the exact weight from your scale (precise portions). When the system has multiple similar matches (e.g., semi-skimmed vs whole milk), you pick the right one.
Accuracy Improvement Timeline
Week 1: ~82.5% Accuracy
CLT justifies the Gaussian error model at the recipe group level. Quadrature then combines independent group errors into a provable 2σ confidence interval—providing a strong baseline even with limited data. System uses:
- •Mass conservation (pantry in = meals out + waste)
- •Standard recipe ratios from 50K+ database
- •Population-level portion sizes (adjusted for BMR/TDEE)
Variance: ±15% on individual meals, but Central Limit Theorem reduces daily totals to ~±5-7%.
Week 4: ~93% Accuracy
System learned your specific recipes and portions through reconciliation:
- ✓Recipe-specific ingredient ratios (your spaghetti vs database spaghetti)
- ✓Personal portion calibrations (4-layer: Global, Food-type, User, Recipe)
- ✓Cooking method adjustments (your "fried" vs standard "fried")
Variance: ±5% on individual meals, ±3% on daily totals (research-grade accuracy).
What Affects Accuracy
Positive Factors (Higher Accuracy)
- ✓Complete pantry tracking: Scan all receipts
- ✓Consistent cooking: Repeating recipes teaches system faster
- ✓Home cooking: Reconciliation works best with pantry-based meals
- ✓Accurate weighing: Kitchen scale for precise gram measurements
Negative Factors (Lower Accuracy)
- ✗Restaurant meals: ±62% if weighed, ±67.5% unweighed (Urban et al., 2016, JAND), ±15% chain restaurants (no pantry reconciliation)
- ✗Missing pantry data: Predictions degrade without ingredient knowledge
- ✗Extreme recipe variation: Cooking same dish very differently each time
- ✗Estimated portions: Not using a kitchen scale reduces accuracy
Barcoded Product Accuracy: Tiered by Food Category
Under UK Regulation 1169/2011, nutrition labels must be within ±20% of actual values. In practice, within-SKU biological variation is substantially tighter. The remaining uncertainty after barcode scanning and weighing is the caloric density variation per gram — an irreducible biological fact that varies by food category:
Manufactured & Processed: ±1–8% (2σ)
Tightest variance due to controlled industrial processes. These are accuracy anchors.
Examples: Sugar (±1%), olive oil (±1%), crisps (±3%), protein bars (±3%), cereal (±4%), peanut butter (±4%), sauces (±5–8%)
Dairy, Grains & Legumes: ±5–12% (2σ)
Moderate variance driven by moisture content, fat standardisation, and ageing.
Examples: Skimmed milk (±6%), semi-skimmed milk (±8%), rice/oats/pasta (±10%), yoghurt/cheese (±10%), lentils (±10%), eggs (±12%)
Meat & Fish (barcoded supermarket): ±8–18% (2σ)
Higher variance from biological factors (breed, feed, season). Raw population variance often exceeds the ±20% legal cap; for compliant barcoded products, the label tolerance is binding.
Examples: Tofu (±8%), beef mince (±12%), chicken breast (±14%), salmon (±14%), beef steak/lamb (±18%)
Fresh Produce (USDA-matched): ±17–25% (2σ)
Widest variance, but these are low-calorie items. A ±20% error on 100 kcal of broccoli is only ±20 kcal — negligible in a 14,000 kcal week.
Examples: Apple/orange (±17%), banana (±18%), broccoli/carrot (±20%), avocado (±25%)
Ready Meals (multi-ingredient barcoded): ±15% (2σ)
UK/EU legal tolerance is ±20%, but FSA compliance studies show manufacturers cluster much tighter. We model at ±15% (2σ) based on FSA data. For US/China (±10% legal tolerance), we model at ±8% (2σ).
Examples: Frozen meals, ready-to-eat curries, supermarket meal deals
All figures from our technical whitepaper. These are within-SKU 2σ values — the range containing 95% of real-world packets of the same product.
93%+ Weekly Accuracy Requirements (2σ)
To achieve 93%+ weekly accuracy at 2σ, ensure:
- ✓≤2 restaurant meals per week (1 independent + 1 chain, or equivalent)
- ✓≤18% of weekly calories from ready meals
Three restaurant accuracy tiers:
- •Independent restaurants (unweighed): ±67.5% (2σ) per Urban et al. (2016, JAND) — after cuisine-specific oil correction removes systematic bias
- •Chain restaurants with calorie labels: ±15% (2σ) — standardised portions, declared nutrition
- •Restaurant meals (weighed): ±62% (2σ) — removes portion error; residual is caloric density variation
Heavy restaurant eaters (Scenario C): If more than 55% of weekly calories come from ready meals and restaurants combined, weekly accuracy falls to ~91% — still significantly better than other apps, but below the 93% threshold.
Worked Example: Profile 2 (Balanced), Scenario B
This worked example uses the Balanced diet profile from our whitepaper under Scenario B (modern household: 72% home-cooked, 18% ready meals, 10% restaurant).
Worked Example: 2-User Household — 14,000 kcal/week per user
This example shows per-user accuracy in a 2-person household sharing a pantry. Errors are linear within same-batch groups (the same bag of rice carries the same offset for both users) and quadrature across independent groups (rice and chicken errors are biologically unrelated and partially cancel). For shared ingredients, an additional split uncertainty applies: IPF recovers the household total exactly, but splitting it between users adds variance.
Home-cooked portion (10,100 kcal — 72% of diet):
Seven food groups with biological CV + split uncertainty. Split 2σ = (±50% / √nappearances) × √((N−1)/N) where N=2 users:
- •Grains & Starches: 4,833 kcal, 8 appearances/week. Biological 10% + split 12.5% (quadrature) = 16.0% combined. Error: ±773 kcal
- •Legumes & Pulses: 1,293 kcal, 5 appearances. Biological 8.3% + split 15.8% = 17.9%. Error: ±231 kcal
- •Dairy: 1,552 kcal, consumed individually (no split). Biological CV only: 9.2%. Error: ±142 kcal
- •Fats, Oils & Nuts: 1,428 kcal, consumed individually. Biological CV 4.6%. Error: ±65 kcal
- •Manufactured: 1,904 kcal, consumed individually. Biological CV 3.5%. Error: ±66 kcal
- •Meat, Fish & Eggs: 1,942 kcal, 5 appearances. Biological 11.2% + split 15.8% = 19.5%. Error: ±379 kcal
- •Fresh Produce: 1,047 kcal, 5 appearances. Biological 13.0% + split 15.8% = 20.7%. Error: ±217 kcal
Home cooking 2σ (quadrature across all 7 groups):
√(773² + 231² + 142² + 65² + 66² + 379² + 217²) = ±933 kcal
Scaled to 72% of diet: 933 × (10,100 / 14,000) = ±673 kcal
Ready meals (2,500 kcal — 18% of diet):
- •3 × SKU-A (500 kcal each) at ±15% 2σ + 2 × SKU-B (500 kcal each) at ±15% 2σ
- •Linear within same SKU, quadrature across: √(225² + 150²) = ±270 kcal
Restaurant meals (1,400 kcal — 10% of diet):
- •1 independent (700 kcal) at ±62% 2σ (Urban et al., 2016, JAND, weighed) = ±434 kcal
- •1 chain with calorie label (700 kcal) at ±15% 2σ = ±105 kcal
Combined (quadrature across all 4 independent sources):
- •2σtotal = √(673² + 270² + 434² + 105²) = ±852 kcal
- •Error percentage: 852 / 14,000 = 6.09%
- ✓Per-user weekly accuracy: 100 − 6.09 = 93.91% (clears 93%)
Note on split uncertainty:
For shared pantry ingredients, IPF recovers the household-level total exactly via mass conservation. The additional uncertainty arises when splitting that total between users. The split uses each user's calibrated portion priors with a negative covariance constraint: if User A consumed more than expected, User B must have consumed correspondingly less. This tightens the split uncertainty by √((N−1)/N). For a 2-user household, √(1/2) ≈ 0.707, so split uncertainty is (±50% / √nappearances) × 0.707. Single-user households have no split uncertainty and achieve 95.28% accuracy for this same profile.
Key insights from the whitepaper:
- •All three diet profiles (meat-heavy, balanced, plant-heavy) clear 93% under Scenarios A and B
- •Scenario B floor: 93.2% (meat-heavy), ceiling: 93.5% (balanced)
- •Scenario C (restaurant-heavy) falls to ~91% — below the 93% claim
- •Manufactured foods are accuracy anchors — a diet heavy in barcoded processed foods is tracked more accurately than a whole-food diet, because tight industrial process control determines caloric predictability
Full workings for all three profiles and all three scenarios are in our technical whitepaper.
⚠️ Skeptical User Question: "Are Restaurant Errors Unbiased?"
Q: How can you apply CLT (Central Limit Theorem) to restaurant meals if the errors are systematically biased (e.g., restaurants always use more oil than database recipes)?
A: Oil correction factors. We apply cuisine-specific oil multipliers to our recipe database to remove most systematic bias:
- •Chinese restaurants: 1.4× oil multiplier (40% more oil than home-cooked — wok cooking, stir-fry)
- •Indian restaurants: 1.5× oil multiplier (50% more oil — generous ghee/oil for flavor)
- •Italian restaurants: 1.3× oil multiplier (30% more oil — olive oil-based sauces)
How it works: When you log a restaurant meal, our AI analysis (or manual entry) detects the cuisine type. We automatically apply the corresponding oil factor to the fat macros. This removes the systematic bias (the tendency to underestimate restaurant calories due to hidden fats).
What remains: Random errors from portion estimation (when not weighed) and recipe variation. These random errors do cancel out via CLT, which is why the quadrature sum formula is valid. Without oil correction, restaurant meals would have ~30–40% accuracy (biased low). With oil correction, the ±67.5% 2σ figure (Urban et al., 2016, JAND) represents the residual within-cuisine random variance — unbiased, with mean error approximately zero.
Meal Identity vs Nutrition Accuracy
These are different metrics:
Meal Identity (100% Accurate)
Did the system correctly identify "spaghetti bolognese" vs "carbonara"? Meal identity is 100% because you select it (90% single-tap from predictions, 9% search, 1% weigh).
Nutrition Accuracy (~93%)
Is the calorie/macro estimate within ±5% of ground truth? Requires correct portions, ingredient ratios, and recipe learning.
Example: Week 1 vs Week 4
Meal: Your homemade spaghetti bolognese
Week 1:
- •Meal identity: ✓ Correct (you selected it)
- •Nutrition: 750 kcal estimated, 700 kcal actual (±7% error)
- •Why: Used standard bolognese ratios, not your recipe
Week 4:
- ✓Meal identity: ✓ Correct (single-tap from predictions)
- ✓Nutrition: 705 kcal estimated, 700 kcal actual (±0.7% error)
- ✓Why: Learned you use 20% more beef, 10% less pasta than standard recipe
Confidence Intervals
All nutrition estimates include statistical confidence intervals using Gaussian error propagation:
Central Limit Theorem (σ/√N) means daily totals have tighter bounds than individual meals.
How to Improve Your Accuracy
- 1.Scan all grocery receipts — Complete pantry data = better predictions
- 2.Weigh accurately — Follow meal logging best practices
- 3.Log meals consistently — More data = more learning
- 4.Wait for reconciliation — Physics model corrects historical errors automatically
Next Steps
- →Learn meal logging best practices for accurate tracking
- →Understand physics-based reconciliation
The Accuracy Dashboard
The Accuracy page in your dashboard lets you monitor how your personal accuracy evolves over time. Available on web, iOS, and Android.
Headline Metrics
Four cards at the top show: your current accuracy percentage, your monthly average, your best week (highest accuracy achieved), and your total improvement since you started.
Weekly vs Cumulative Charts
Toggle between two chart modes: weekly shows accuracy per reconciliation cycle (expect some variance week to week), while cumulative shows your weighted average over time (a smoother upward curve). Time windows of 30 days, 90 days, or a custom range are available.
Per-Metric Breakdown
Drill into accuracy for individual macronutrients: overall, calories, protein, carbs, or fat. This helps identify if one macro is consistently less accurate (e.g., fat estimation is harder for oily dishes).
Household Member Comparison
If you're in a household plan, a comparison chart shows accuracy for each member side by side. This helps identify who might benefit from more weigh-ins or recipe calibration.
Export
Download your accuracy data as a CSV file for the selected time range. Useful for sharing with a nutritionist or personal trainer.
Why No 7-Day View?
Eatomate guarantees weekly accuracy. A single week is the minimum meaningful unit because reconciliation runs on a weekly cycle and the quadrature sum requires multiple meals to converge. The 30-day minimum window ensures you see enough weekly cycles for the data to be actionable.