{
  "checked_on": "2026-10-04",
  "sample_id": "tesco-chicken-club-sandwich-001",
  "physical_pack_label_verified": false,
  "barcode_verified": false,
  "observations": [
    {
      "app": "YAZIO",
      "selected_portion": "1 Package (250 g)",
      "kcal": 507,
      "protein_g": 30.0,
      "carbohydrate_g": 56.7,
      "fat_g": 17.0,
      "kcal_difference_from_tesco_web_pack": 1,
      "kcal_absolute_difference_percent": 0.1976,
      "nutrition_comparison_basis": "Displayed selected entry compared with Tesco website’s per-pack value; quantity, barcode and variant agreement remain unverified"
    },
    {
      "app": "Nutracheck",
      "selected_portion": "1 Pack (weight not shown)",
      "kcal": 508,
      "protein_g": 29.9,
      "carbohydrate_g": 56.5,
      "fat_g": 16.9,
      "kcal_difference_from_tesco_web_pack": 2,
      "kcal_absolute_difference_percent": 0.3953,
      "nutrition_comparison_basis": "Displayed selected entry compared with Tesco website’s per-pack value; quantity, barcode and variant agreement remain unverified"
    },
    {
      "app": "NutraSafe",
      "selected_portion": "Per pack (249.2 g)",
      "kcal": 506,
      "protein_g": 29.9,
      "carbohydrate_g": 56.6,
      "fat_g": 16.9,
      "kcal_difference_from_tesco_web_pack": 0,
      "kcal_absolute_difference_percent": 0.0,
      "nutrition_comparison_basis": "Displayed selected entry compared with Tesco website’s per-pack value; quantity, barcode and variant agreement remain unverified"
    },
    {
      "app": "MyFitnessPal",
      "selected_portion": "1 pack (weight not shown)",
      "kcal": 504,
      "protein_g": 30.6,
      "carbohydrate_g": 61.8,
      "fat_g": 16.2,
      "kcal_difference_from_tesco_web_pack": -2,
      "kcal_absolute_difference_percent": 0.3953,
      "nutrition_comparison_basis": "Displayed selected entry compared with Tesco website’s per-pack value; quantity, barcode and variant agreement remain unverified",
      "fibre_g": 5.6,
      "carbohydrate_basis": "Not stated. 61.8g less the entry's 5.6g fibre is 56.2g, so it reads as carbohydrate with fibre added in. Member-submitted entry; cause not established."
    },
    {
      "app": "MyNetDiary",
      "selected_portion": "1 pack (Weight: N/A)",
      "kcal": 506,
      "protein_g": 30,
      "carbohydrate_g": 57,
      "carbohydrate_basis": "US-style total carbohydrate including fibre (T. Carbs, macro summary)",
      "nutrition_table_carbohydrate_g": 53,
      "fibre_g": 4,
      "fat_g": 17,
      "kcal_difference_from_tesco_web_pack": 0,
      "kcal_absolute_difference_percent": 0.0,
      "nutrition_comparison_basis": "Displayed selected entry compared with Tesco website’s per-pack value; quantity, barcode and variant agreement remain unverified",
      "carbohydrate_basis_explanation": "Displayed 53g carbohydrate plus 4g fibre equals 57g total. UK label carbohydrate excludes fibre. The fibre-excluded 53g remains 3.5g below Tesco web carbohydrate 56.5g; matching product/portion unverified. One reading is that fibre was subtracted a second time from Tesco's fibre-excluded 56.5g; not established."
    },
    {
      "app": "Cronometer",
      "selected_portion": "1 Pack (as sold), 249g",
      "kcal": 507.9,
      "protein_g": 29.9,
      "carbohydrate_g": 56.5,
      "carbohydrate_basis": "Net Carbs",
      "fat_g": 16.9,
      "kcal_difference_from_tesco_web_pack": 1.9,
      "kcal_absolute_difference_percent": 0.3755,
      "nutrition_comparison_basis": "Displayed selected entry compared with Tesco website’s per-pack value; quantity, barcode and variant agreement remain unverified",
      "kcal_note": "Energy ring shows 508; the target row shows 507.9"
    }
  ],
  "limitations": [
    "Official Tesco web values are a retailer reference, not measured food composition or a verified physical pack label.",
    "NutraSafe selects 249.2g, YAZIO 250g and Cronometer 249g. Nutracheck and MyFitnessPal pack weights are not displayed, and MyNetDiary reports Weight: N/A.",
    "Screenshots do not prove identical current barcode and pack weight.",
    "Carbohydrate bases differ: MyNetDiary US-style total 57g includes its 4g fibre, leaving 53g fibre-excluded carbohydrate. UK label carbohydrate excludes fibre but includes polyols; app net carbs can also exclude polyols. Cronometer labels Net Carbs. MyFitnessPal's 61.8g sits beside 5.6g fibre on the same entry. Product and portions remain unverified.",
    "Account tiers are recorded in account_tiers. No barcode scan was completed in any app.",
    "No overall app accuracy winner can be assigned.",
    "This is one product across six selected entries, not a representative app benchmark."
  ],
  "reference_url": "https://www.tesco.com/shop/en-GB/products/296703038",
  "web_reference_per_pack": {
    "energy_kj": 2127,
    "energy_kcal": 506,
    "fat_g": 16.9,
    "saturated_fat_g": 6.7,
    "carbohydrate_g": 56.5,
    "sugars_g": 5.0,
    "fibre_g": 4.0,
    "protein_g": 29.9,
    "salt_g": 1.7
  },
  "carbohydrate_definition_sources": [
    {
      "url": "https://www.mynetdiary.com/what-are-net-carbs.html",
      "supports": "MyNetDiary total and net carbohydrate conventions"
    },
    {
      "url": "https://www.accessdata.fda.gov/scripts/InteractiveNutritionFactsLabel/assets/InteractiveNFL_TotalCarbohydrate_October2021.pdf",
      "supports": "US total carbohydrate includes fibre"
    },
    {
      "url": "https://www.legislation.gov.uk/eur/2011/1169/annexes/2022-07-01",
      "supports": "UK carbohydrate and fibre definitions; carbohydrate includes polyols"
    }
  ],
  "lookup_method": "Text search by name in each app on one iPhone, 4 October 2026. No barcode was scanned.",
  "account_tiers": {
    "MyFitnessPal": "free",
    "Nutracheck": "free (Lite)",
    "YAZIO": "free",
    "MyNetDiary": "free, no account",
    "Cronometer": "free",
    "NutraSafe": "Pro"
  },
  "app_versions": {
    "MyFitnessPal": "26.39.0",
    "Nutracheck": "13.4.0",
    "YAZIO": "26.39.2",
    "Cronometer": "4.59.1",
    "NutraSafe": "2.2",
    "MyNetDiary": "not shown in the app"
  }
}
