Skip to content
The ODF Score

How we rate dog food

Every other rating site asks you to trust them. We'd rather show you the working. Here is the entire algorithm - every weight, every penalty - and the breakdown on every food page shows exactly where its points went.

Algorithm v1.4.0 100 points, six components Penalties to -25 No pay-to-rank, ever
The principle

Why the formula is public

A rating you can't check is just an opinion with a number on it. Ours is a calculation: the same published formula runs on every food's label data, and every food page shows the point-by-point result.

That cuts both ways, deliberately. Brands can see exactly why they scored what they scored - and exactly what would improve it: clearer labels, named meat, fewer artificial additives. If a score changes, the working changes with it.

Nobody can pay to move a number. Advertising and affiliate links exist on this site; they have no route into the maths.

And price is never part of it. The score measures one thing - what is in the bowl and how honestly the label says so - so a food is judged on the same footing whether it costs 20p a day or two pounds. We show cost per day as separate information, so you can weigh a food's score against your budget yourself; a high price never earns points and a low one never loses them.

The formula

Six components, 100 points

Every complete food starts from the same six questions. Treats and mixers skip the ones that don't apply to them (macro balance, meat content, processing) and are rescaled to /100 from the rest.

That is the full 100. After they are summed, the red-flag penalty pool below can take up to 25 points back off. The cards spell out each one.

Ingredient quality

40 pts

The weighted average quality of everything in the bowl.

  • Named fresh meat, fish95-100
  • Named meals, organ meats80-85
  • Rice52
  • Maize, wheat28
  • "Meat and animal derivatives"15
  • "Cereals" (unspecified)15

Weighted by declared percentage, or by position (35/20/12/8/6) when the label gives none. A plant-led recipe with little named meat is anchored down - a dog food should be built on animal protein, not on well-scoring plants alone. Heavy legume loads are noted for information only: the FDA found no causal link between legume-rich diets and heart disease (DCM), so we tell you rather than score it.

Meat content

15 pts

Declared total meat percentage.

  • 50% or more15
  • 30%11
  • 20%7
  • Sliding smoothly between anchors3-15
  • No figure, named meats lead6
  • No figure, vague meat terms0

Points slide between the anchors with no cliffs - a step ladder paid 4 extra points for the 1% between 49% and 50% meat, which only rewarded printing the magic number. Dried meats and meals count at their fresh weight (a rendered meal is roughly 2.4x as concentrated), so honest meal-led labels no longer lose to fresh-inclusion marketing. The credit is still held to what the food's dry-matter protein actually supports: for an adult, full marks need 27% dry-matter protein.

Labelling clarity

15 pts

Whether the label tells you what is in it.

  • Every ingredient named+5
  • Percentages, by how much of the recipe they cover+6
  • Meat species stated+2
  • Fixed recipe, no "may contain"+2

Vague category terms forfeit the naming points for the whole label.

Additives

10 pts

Starts at 10. Deductions only.

  • BHA / BHT class preservative-8
  • Artificial colours-6
  • Unnamed preservative-4
  • Added sugars, caramel, glycerol-4
  • Artificial flavourings-3

Declaring a benign additive costs nothing - naming your tocopherols is exactly the practice we want. Only additives below our neutral line (carrageenan, unnamed antioxidants, gelling agents) deduct. BHA and BHT are legal in the UK - docking them is our stated preference, never a claim they are banned. Ethoxyquin, which genuinely is banned in the EU, is a red flag below.

Nutritional balance

10 pts

Carbohydrate and fat on a dry-matter basis, so wet and dry compare fairly.

  • Under 30% carbs4
  • 30-55% carbs (sliding)4-0
  • Fibre in the 1.5-5% bandup to +2
  • Ash a sensible mineral load (to 8%)up to +2
  • Fat too low or too high-2
  • Named functional extras+2

Carbohydrate is a supporting signal, not a verdict - dogs digest cooked starch well, so it is weighted modestly and slides with no cliffs. Fat is judged as a band: healthy costs nothing, deficient or excessive fat docks up to 2. Moderate ash is not a fault; only genuine extremes score zero. No published analysis scores a neutral 4 and the page says "estimated".

Processing

10 pts

How hard the food was cooked.

  • Fresh-cooked10
  • Raw, freeze-dried, air-dried8
  • Cold-pressed7
  • Wet, extruded kibble6

Gently cooked fresh food tops this table because it keeps nutrients AND kills pathogens. Raw and freeze-dried are minimally processed but have no heat kill step - surveys repeatedly find Salmonella and Listeria in commercial raw diets - so they sit just below, and their pages carry a handling note. Inferred from food type; unstated shows as "assumed extruded", never guessed in the maker's favour.

The red-flag penalty pool

to -25

Subtracted after the six components. Position is dosage, so a red flag in the first five ingredients counts double.

  • Red-classified ingredient-4 to -10
  • Unspecified derivatives as ingredient one-10
  • Ethoxyquin (banned in the EU, Reg 2022/1375)-10
  • Artificial preservative in a "natural" food-3
  • Maximum total penalty-25

Every penalty is printed on the food page with its reason.

Open data

The reference quality scores

The anchor values behind component A, published in full. Every ingredient we track has its own page with its exact score and classification.

IngredientQuality score
Named fresh meat or fish (chicken, salmon)95-100
Egg90
Named organ meat (chicken liver)85
Named oils (salmon oil)85
Named meat meal (chicken meal)80-85
Insect protein75
Sweet potato75
Oats70
Rice65
Barley60
Beet pulp60
Potato55
Peas and legumes (heavy loads noted for information)55
Maize / corn40
Wheat40
"Vegetable oil" (unspecified)30
"Cereals" (unspecified)25
"Animal fats" (unspecified)25
"Derivatives of vegetable origin"20
"Meat and animal derivatives"15

Curated and periodically reviewed; changes ship with an algorithm version bump, never silently. Browse the full ingredient glossary

Honesty rules

When we don't know, we say so

Missing data never earns points and never gets papered over. Three rules, applied automatically and shown on the page every time.

Not yet rated

No ingredients list means no score, full stop. The page says "Not yet rated - awaiting label data" instead of showing you a guess.

Provisional

If more than 20% of a label's entries aren't in our ingredient database yet, the score is capped at 69 and wears a provisional badge until we've reviewed them. The cap and the reason are printed in the breakdown.

Estimated

No declared analysis means the nutrition component scores a neutral 4/10 and the page says "estimated". Undeclared moisture is assumed at a typical value - and flagged, so the dry-matter maths is never silently invented.

The exception

Why clinical diets are never scored

Veterinary and prescription diets are formulated for medical conditions under veterinary supervision. A renal diet deliberately restricts protein; scoring it like an everyday food would punish it for doing its job.

So we don't. Clinical diets carry a badge instead of a number, we list their composition and ingredients factually, and the prescribing stays where it belongs - with your vet.

Reading a score

The bands

Always out of 100, never a percentage. The number and the band label always travel with the colour.

A 90+ has to feel earned - we calibrate so fewer than one food in twenty gets there. And it has to be provable: 90+ is reserved for fully transparent labels, meaning a complete analytical declaration and percentages covering at least half the recipe. A food that qualifies on points but not on disclosure holds at 89, with the reason printed in its breakdown.

Proof, not promises

A worked example

Not a mock-up - this is a real food from the directory, rendered from the same stored breakdown its own page shows, refreshed whenever it is re-scored.

Exceptional

Eden 80/20 Puppy Cuisine

Dry ยท Puppy

Full review
Ingredient quality
Weighted ingredient quality 86/100 across 31 ingredients (declared percentages used for 14, position estimates for the rest).
34.5 / 40
Label clarity
Every ingredient individually named (+5); percentages cover 96% of the recipe (+5.8); meat sources named (+2); recipe reads as a fixed formula (+2).
14.8 / 15
Additives
No artificial colours, flavours, controversial preservatives or added sugars found.
10 / 10
Red flags
No red-flag ingredients.
0 / 0
Meat content
Meat content ~93% fresh-equivalent (added up from every named meat on the label; dried meats counted at their fresh weight).
15 / 15
Nutritional balance
Estimated carbohydrate 26% dry matter (low); fat 19.0% DM in the healthy band; fibre 3.3% DM (+2); ash 8.2% DM - sensible mineral load (+1.9); functional extras: omega-3 source, joint support, named botanicals, pre/probiotics (+2).
9.9 / 10
Processing
Assumed extruded kibble (standard high-heat process).
6 / 10
ODF Score
Algorithm v1.4.0 - exactly as shown on its own page
90 / 100
Provenance

Version and changelog

The algorithm is versioned like software, because it is software. Every food stores the version that scored it, and changes land here - never silently.

v1.4.0

Launch version - current

Six components (100 points) plus the red-flag penalty pool, the data-confidence rules and the reduced formula for treats and mixers. Calibrated against 30+ reference foods across the quality spectrum before launch, with the rank order sanity-checked against expert consensus.

Straight answers

Questions we actually get

Can a brand pay to improve its score?

No. Scores are computed from label data by the algorithm on this page - there is no editorial dial to turn and no sales team with access to one. We earn money from advertising and affiliate links, and neither has a route into the maths.

Why does a food score differently here than on other sites?

Different formulas produce different numbers - the difference is you can read ours. Every weight is on this page and every food page shows its own working, so when we disagree with another site you can see exactly why.

Do owner reviews change the ODF Score?

Never. Star ratings from owners are shown separately on every page. The ODF Score is about what is in the bowl; reviews are about whether dogs actually eat it. Blending them would corrupt both.

What happens when a recipe changes?

We re-score from the new label and the breakdown updates with it. Every food page shows a "label last verified" date, so you can always see how fresh the data behind a score is.

Why doesn't my vet-prescribed food have a score?

Clinical diets are formulated for medical conditions under veterinary supervision, and scoring them like everyday foods would punish them for doing their job. We list their ingredients and composition factually and leave the prescribing to your vet.

Now put it to work

Every food. Same formula. Full working shown.

Browse the directory and open any breakdown - the algorithm you just read is the one that scored it.

Browse the directory
1We read the label - every ingredient, every percentage.
2The algorithm scores it - six components, open weights.
3You see the working - every point, every penalty, every reason.

This is label analysis, not veterinary advice - if your dog has a health condition, talk to your vet before switching foods.

Better bowls, straight to your inbox

New ratings, recall alerts and genuinely useful feeding guides. No spam, unsubscribe in one click.

What would you like to hear about?