Physics-Based Reconciliation
How Eatomate uses mass conservation equations to self-correct meal estimates and reach 95+% accuracy by learning your specific cooking patterns.
The Core Principle: Mass Conservation
Physics-based reconciliation is built on a fundamental law of nature: mass is conserved. The ingredients you purchase must equal the meals you consume plus any waste plus remaining inventory.
The Mass Conservation Equation
This equation creates a closed system. If meal estimates are wrong, the equation won't balance. Eatomate uses this mismatch to detect and correct systematic errors.
How It Works in Practice
Let's walk through a concrete example to see how physics-based reconciliation catches and corrects errors.
Example: Chicken Breast Tracking
Day 1: Receipt Scan (Ground Truth)
You scan a grocery receipt showing: 500g chicken breast purchased (exact weight from barcode)
Days 2-5: Meal Scans (Initial Estimates)
You cook 4 meals using that chicken. AI photo analysis estimates:
- Meal 1: 100g chicken
- Meal 2: 110g chicken
- Meal 3: 95g chicken
- Meal 4: 105g chicken
- Total consumed (estimated): 410g
Day 6: Chicken Expires (Reconciliation Trigger)
The system knows:
- Purchased: 500g (100% accurate from barcode)
- Consumed: 410g (estimated from AI photo analysis)
- Remaining: 0g (ingredient expired, must be fully consumed)
- Waste: 500g - 410g = 90g
Backfill Correction
The system recalculates:
Assuming 10% waste (you trim fat/skin from chicken breasts), actual consumed = 500g × 0.9 = 450g
Redistributes the 450g across the 4 meals proportionally:
- Meal 1: 100g → 110g (+10g correction)
- Meal 2: 110g → 121g (+11g correction)
- Meal 3: 95g → 104g (+9g correction)
- Meal 4: 105g → 115g (+10g correction)
- New total: 450g (100% accurate after backfill)
Learning your Cooking Patterns
The magic of physics-based reconciliation is that it learns your specific behaviors, not generic averages.
Systematic Bias Detection
Over time, the system notices patterns in how your meal estimates differ from ground truth:
Example Systematic Biases
- Protein portions: AI photo analysis consistently underestimates your chicken portions by ~10% because you prefer larger servings than the database's "medium chicken breast" (180g vs. 220g)
- Pasta portions: You always cook 150g pasta per serving, but the database assumes 100g. The system learns to scale up pasta estimates by 1.5x for your meals.
- Vegetable portions: You load up on vegetables. The system detects you consistently use 2x the database's suggested vegetable amounts.
Bias Correction in Action
After detecting a systematic bias (e.g., "this user underestimates chicken by 10%"), the system applies a correction factor to FUTURE meal estimates:
Week 1 estimate: 180g chicken (raw AI photo analysis output)
Week 4 estimate: 180g × 1.10 = 198g chicken (bias-corrected)
Result: Future estimates are 10% more accurate BEFORE reconciliation even happens
Gaussian Noise Cancellation
Not all errors are systematic. Random noise (±5-10g here and there) is inevitable in computer vision. Physics-based reconciliation separates random noise from systematic patterns.
Statistical Smoothing
The system uses Gaussian smoothing to average out random errors over multiple meals. If you eat chicken 3x per week, small random errors cancel out over time:
- Meal A: +8g error (overestimate)
- Meal B: -5g error (underestimate)
- Meal C: +3g error (overestimate)
- Net error over 3 meals: +6g (±2g per meal on average)
These small random errors don't trigger bias corrections—only consistent directional errors (always too high or always too low) do.
Waste Tracking
The physics model accounts for food waste through two complementary mechanisms:
Implicit Waste (Fixed Model)
The system uses fixed per-food-type waste rates based on typical cooking losses:
- • Chicken breast: ~5% (fat trimming, cooking moisture loss)
- • Fresh vegetables: ~15% (trimming, spoilage)
- • Rice/pasta (dry): ~2% (minimal waste, shelf-stable)
- • Bread: ~8% (crust trimming, staleness)
Explicit Waste (User-Reported)
When you throw away food, the app prompts you to log it. This explicit waste is subtracted from your pantry inventory and accounted for in the mass conservation equation.
Why Fixed Implicit Waste?
Implicit waste (cooking losses, trimming) is highly consistent across users for the same food type. Rather than learning individual patterns, we use population-level averages that are accurate enough for reconciliation while keeping the model simple and interpretable.
Portion Size Calibration
Beyond waste, the physics model learns your portion size preferences. This is especially important for home-cooked meals where portion sizes vary widely.
Personalized Portion Multipliers
After 4 weeks, the system knows that when you cook "spaghetti bolognese," you use:
- 1.5x the standard pasta amount (150g vs. 100g)
- 1.2x the standard beef mince (240g vs. 200g)
- 0.8x the standard sauce (160g vs. 200g—you prefer less saucy pasta)
These multipliers are applied automatically to future "spaghetti bolognese" meals, making Week 5 estimates far more accurate than Week 1.
Why This Beats Manual Logging
Manual food logging can't self-correct. If you consistently underestimate portion sizes (which research shows happens 30-40% of the time), that error persists forever. Eatomate's physics model detects and fixes these errors automatically.
Self-Correcting System
The more you use Eatomate, the more accurate it becomes—without you doing anything extra. This is the opposite of manual logging, which requires constant vigilance to maintain accuracy.
- Manual logging: Accuracy degrades over time as users get lazy or overconfident
- Eatomate: Accuracy improves over time as the physics model learns your patterns
Requirements for Physics-Based Reconciliation
To enable physics-based reconciliation, you need to provide ground truth data—specifically, grocery receipts. The system needs to know what ingredients you purchased.
Receipt Scanning is Critical
If you don't scan grocery receipts, Eatomate can't run the physics model. You'll still get ~75-80% accuracy from AI photo analysis alone (better than manual logging at 50-70%!), but you won't reach ~95%. Scan your receipts weekly for best results.
Advanced: The Math Behind Reconciliation
For the technically curious, here's how the reconciliation algorithm works:
Optimization Problem
Reconciliation is formulated as a constrained least-squares optimization:
subject to: Σ meal_actual_i + waste = ingredients_purchased
and: 0 ≤ waste ≤ max_waste_per_food_type
This finds the meal values (meal_actual) that minimize deviation from estimates while satisfying mass conservation and realistic waste constraints. The solution is found using Lagrange multipliers and iterative refinement.
Limitations
Physics-based reconciliation is powerful but not magic. It has some limitations:
- ⚠Requires receipt data: Without grocery receipts, the system has no ground truth and can't reconcile
- ⚠4-week learning period: Accuracy improves gradually from ~85% to ~95% (though ~85% Week 1 is already better than manual logging)
- ⚠Restaurant meals are tricky: You don't have receipts for ingredients, only the final meal—physics model can't backfill these
Best Practices
To get the most out of physics-based reconciliation:
- ✓Scan receipts within 24 hours of shopping: Fresh data is most useful
- ✓Don't skip weeks: Gaps in receipt data create gaps in reconciliation
- ✓Mark shared meals: If you cook for 2+ people, tell the app so it doesn't assume you ate everything
- ✓Log eating-out meals separately: Don't let restaurant meals interfere with home-cooking reconciliation
The Compound Effect
Physics-based reconciliation + AI photo analysis + receipt OCR + barcode data = a self-correcting nutrition tracking system that gets smarter every week. This is why Eatomate can achieve 95+% accuracy—no single technology does it alone, but the combination is unstoppable.