What this release is

Model v3 is the third published version of the Open Dog Food scoring algorithm. Like every release, it changes scores for reasons we can show you, with the evidence and the numbers in the open. Every number in it is published and reproducible, including a full audit of the 1,100-entry ingredient glossary, and every finding from that work is either fixed in this release or documented as a deliberate choice.

The short version

  • The fresh premium is earned, not automatic. Fresh-frozen drops about 13 points on average (462 products) and chilled fresh about 11 (95). The separate "is fresh" bonus is gone: format credit now comes from the cooking method itself plus a single quality-gated reward, and a fresh recipe built on generic or poor-tier ingredients no longer rides the format into the 90s. As part of the same change, chilled recipes now match frozen exactly - an old naming gap had put them on different rungs.
  • Raw drops about 7 points on average (1,862 products). Raw keeps the top format slot, but only a little above frozen: the fitted raw premium had grown to the point where a medium-ingredient raw recipe could out-score a better-ingredient fresh one on format alone.
  • Cold-pressed food drops about 12 points on average (254 products). We found no study showing cold pressing digests better than extrusion, and FEDIAF does not recognise it as a category, so the premium goes.
  • Baked food drops about 5 points to extruded level (1,630 products). Alvarenga 2024 found the same recipe digests equally well extruded, because starch gelatinisation helps digestion.
  • Wet, retort-pouched and shelf-stable fresh foods now share one processing slot and drop about 4 points (2,413 products). They are the same retort process (Hagen-Plantinga 2017), so they get the same score.
  • Extruded kibble, the market baseline, barely moves (-0.6 on average across 4,200 products), and everything else moves within about a point of ordinary refit variation.

The fresh premium has a quality gate

The fresh-processing reward now fires only when the recipe earns it: at least 30% declared dry-matter meat and no poor-tier ingredients anywhere in the list. A chilled or frozen product built on unnamed meat meals gets the format's base treatment, not the premium. This is what separates a fresh food that is genuinely well made from one that is merely fresh.

Unknowns stop earning credit

Three connected changes come from a simple rule: the model should never reward what it cannot see on the label.

  1. Meat bonuses count only printed percentages. Until now, when a label left percentages out, our parser's estimates earned the same meat-share credit as printed ones. They no longer do. A product that prints "Chicken 60%, Sweet Potato 20%" keeps its credit; an identical-sounding product with no percentages earns roughly 18 points less. Single-ingredient products are unaffected: a one-item label's composition is certain, not estimated.
  2. Label-disclosure credit slides. It used to be two binary gates (a bonus for two printed percentages, another for 95% declared). It now slides continuously with how much of the recipe is declared. Most products barely notice; a 50%-declared label no longer earns full marks.
  3. "Complete" claims get a consistency check. A complete dog food needs fortification or a whole-prey recipe (bone plus offal). A label claiming "complete" with neither a declared additives section nor a whole-prey structure no longer earns the complete-food bonus - never a penalty, just no bonus. About 18% of claimed-complete products are affected.

No score without a readable label

Products whose ingredient list cannot be parsed at all previously received a number computed from the model's structural defaults - a score with no evidence behind it (anywhere from 44 to 79). They are now unscored, with a clear "we couldn't parse the label" state. 520 products are affected today, almost all because their pages carry no ingredient text.

The ingredient glossary gets a full audit

Every one of the 1,100-plus glossary entries was reviewed and the evidence checked for each disputed call:

  • Whole pulses (peas, lentils, chickpeas and their bean relatives) move from good to medium tier. The FDA's diet-associated DCM investigation was never exonerated, and pulses high in the list are the classic way to inflate a protein percentage with cheaper plant protein. Whole forms keep a small edge over pulse flours and starches, which were already lower.
  • Salt and natural preservatives leave the poor tier. Vinegar, citric acid, sorbates and declared salt are safe, lawful processing aids (EFSA/NRC), and treating them as poor ingredients was punishing brands for honest declaration - about 3,400 labels were affected.
  • Hydrolysed and dehydrated protein families are unified under one rule each: hydrolysates sit at medium, and named-species dried proteins outrank category-level ones ("poultry protein") - the previous split graded the marketing word, not the ingredient.
  • Declared processing water no longer drags scores. Brands that print "water sufficient for processing" were being penalised for their honesty; declared water now correctly contributes no dry matter.

Claims get checked against the label

The Evidence dimension used to grade whether a brand printed a citation link - which almost no UK brand does, so nearly every product scored the same flat 33. It now checks what the claim says against the declared label:

  • "Grain free" is verified or contradicted by the parsed ingredients (we caught a product claiming grain-free while listing maize).
  • "High protein" and "low fat" are checked against dry-matter bands.
  • "Made in the UK" is checked against the declared country of manufacture, where we hold it.
  • Functional health claims ("supports healthy digestion") stay recorded, never scored - we record claims as stated and never adjudicate whether they are true.
  • Upheld ASA rulings cap the dimension for the brand for three years.

Additive penalties corrected against the evidence

Our penalty table was wrong in both directions for four entries: STPP and sodium hexametaphosphate were penalised despite dental-benefit evidence (removed), propylene glycol carried a penalty from a cat-specific FDA action (reduced to a token value), and carrageenan's penalty was disproportionate to EFSA's safe conclusion (halved). Whole maize moves from the poor tier up to the medium band with oats and barley; processed fractions (maize gluten, corn protein) stay penalised.

Transparency stops punishing lawful labels

Batch and best-before coding is mandatory on the physical pack but legally exempt from web pages (Regulation (EC) 767/2009 Article 11(3)). Because a website pipeline can never verify it, treating it as a mandatory web item capped nearly every product's Transparency dimension at exactly 60. It is now a voluntary item, and the dimension discriminates properly for the first time.

What did not change

  • The headline 1-100 stays the Recipe score: a reading of how attractive and transparent the label is, not proof of long-term nutritional adequacy. The Nutritional dimension still covers macronutrients only; widening it to trace minerals and vitamins is planned as its own project.
  • Treats and supplements stay unscored; recall notices stay presentation-only; the recipe model's core feature design (dry-matter normalisation, named-meat tiers, moisture heuristics) is unchanged.

The numbers

14,116 of 15,918 scored products move, with 3,135 score-band crossings. 29% fewer products sit in our Good band (70 and above) than under v2 - the top of the scale is now earned by declared composition, not format. Every change above has its evidence on record, and every rejected idea is recorded too, so nothing was changed without a reason.