One-sentence summary
Snuffo derives a 0–100 score from the guaranteed analysis on a pet-food label, comparing those values against published FEDIAF and AAFCO adequacy references through four weighted subscores, then adjusting for adequacy shortfalls and confidence in the underlying data.
What Snuffo scores measure
Snuffo evaluates nutritional adequacy and balance, not ingredient quality, not manufacturing standards, and not veterinary suitability. The score answers one question: given what the label states, how well does this product meet published nutritional standards for its species and life stage?
Every input comes from the label's guaranteed analysis: protein, fat, fibre, ash, and moisture (as-fed percentages). These are converted to dry-matter and per-1,000-kcal values using standard calculations, then measured against species-and-life-stage minima from FEDIAF (2025), AAFCO (2014), and NRC (2006).
The scoring formula
The final score follows a fixed composition:
final = round(clamp(100 × adequacy_factor × additive_factor × weighted_subscores, 0, 100))
where weighted_subscores is the weighted average of all assessable subscores (each subscore's value × its weight, divided by the total weight of assessable subscores). Subscores that cannot be assessed from the available data are dropped - their weight is removed from the denominator rather than imputed as a passing score.
The four assessable subscores
1. Protein adequacy (weight ~30%)
Measures protein per 1,000 kcal against the FEDIAF/AAFCO minimum for the species and life stage. At the minimum, the subscore starts at a ruleset-defined baseline (not zero). It reaches full marks when protein exceeds the minimum by a set ratio. Below the minimum, it drops proportionally.
2. Fat balance (weight ~15%)
Fat is essential but can be excessive. The subscore follows a banded curve: it rises from the minimum to a "good" level, then penalises very high fat (above a per-1,000-kcal threshold) with a floor to prevent zeroing. This balances adequate energy provision against the risk of a high-fat diet for everyday feeding.
3. Carbohydrate load (weight ~25%)
Nitrogen-free extract (NFE) on a dry-matter basis, calculated as 100% minus protein, fat, fibre, and ash. Cats and dogs have different NFE reference bands because cats are obligate carnivores. NFE below the "ideal" band earns full marks; above the "poor" band earns a floor value. Between the two, the score interpolates linearly.
4. Mineral load - ash proxy (weight ~15%)
Ash (the mineral residue after combustion) serves as a rough proxy for total mineral content. It follows the same banded-lower-is-better curve as carbohydrate load.
5. Protein quality (weight ~15%, currently not assessable)
Protein quality means how digestible a protein is and whether it supplies the amino acids a pet needs - not whether an ingredient is named meat or plant. These properties cannot be read reliably from a label, and leading veterinary nutrition bodies caution that the ingredient list is one of the least reliable ways to judge a food. Snuffo therefore does not estimate this lever: its weight is dropped - removed from the denominator so it neither helps nor hurts any score - rather than guessed from ingredient names. This is disclosed on every score detail screen.
Adequacy factor
If a food misses an essential nutrient minimum (e.g. protein below the FEDIAF minimum for that species and life stage), the score is multiplied by an adequacy factor < 1.0 for each missed essential. Multiple misses compound multiplicatively, with a floor to prevent zeroing from a single missed nutrient.
Safety gates
The engine applies EU legal maxima for additives and certain nutrients. A hard-critical safety flag (e.g. a known toxic threshold breach) caps the final score. The three defensible FAIL conditions are documented in the engine's safety module and are based on published regulatory maxima.
Confidence - how much to trust the number
Every score includes a confidence percentage. Confidence starts high and is reduced when:
- Macronutrient values are estimated rather than directly from the label.
- One or more key values are missing from the source data.
- The product is a complementary food, treat, or topper (not scored as a complete diet).
- Micronutrient data is absent (the engine currently uses macro-only data, so confidence is always capped below 100).
Confidence factors are multiplicative: each applied factor scales confidence by a documented amount below 1.0, and the final confidence is the product of all applied factors.
Grade bands (A–E)
Scores are mapped to letter grades:
| Grade | Score range | What it means |
|---|---|---|
| A | 80–100 | Good choice - meets or exceeds published adequacy references. |
| B | 65–79 | Solid - adequate, with room to improve on one or more levers. |
| C | 50–64 | Middle of the road - adequate but not optimal on measured levers. |
| D | 35–49 | Below par - falls short of published references on one or more key levers. |
| E | 0–34 | Poor - significantly below published references or flagged by safety gates. |
What Snuffo does NOT assess (current limitations)
- Micronutrients (vitamins, minerals beyond ash) - the engine currently works from macro-only label data. Confidence is capped below 100 to reflect this.
- Ingredient quality - the ingredient list is parsed for known issues (e.g. artificial colours, sugar) but not for overall quality grading. The protein-quality subscore is not yet assessable.
- Manufacturing standards: Snuffo does not audit factories, verify supplier chains, or assess quality control processes.
- Digestibility or bioavailability - these require feeding-trial data that is rarely public.
- Veterinary suitability - a food may score well on nutritional adequacy but still be wrong for a pet with a specific medical condition. Snuffo is not a substitute for veterinary advice.
References
All nutritional minima, safety thresholds, and adequacy targets are drawn from published, peer-reviewed or regulatory sources:
- FEDIAF Nutritional Guidelines for Complete and Complementary Pet Food for Cats and Dogs (2025)
- AAFCO Official Publication (2014)
- National Research Council (NRC) - Nutrient Requirements of Dogs and Cats (2006)
- EU Regulation (EC) No 1831/2003 on additives for use in animal nutrition
- EU Regulation (EU) 2020/354 on the particular conditions concerning the designation "complete"
Snuffo is not affiliated with or endorsed by FEDIAF, AAFCO, the NRC, or any pet food brand.
Transparency commitments
- No paid scores. No brand can pay to change a score. The algorithm is the same for every product.
- Show the math. Every score in the app includes a "How this score is built" breakdown showing every assessable subscore, its value, and its weight.
- Versioned ruleset. The scoring parameters (weights, band edges, adequacy multipliers) are stored in a versioned, published ruleset. When the ruleset changes, the version increments and all scores are recalculated.
- Report a problem. Every score screen includes a "Report a problem with this score" link. Flagged products are reviewed and corrected if data is wrong. The methodology does not change per product.
