Skip to main content
Sniff

How Sniff Scores Dog Food

Last Verified: 2026-05-20 • The Sniff System • Author: Sniff Editorial Team

This page explains exactly how every Sniff Score is computed. Every weight, threshold, penalty, and citation is published. No black box. If you disagree with a score, you can read this page, identify what you think we got wrong, and tell us. If you think the methodology itself is wrong, we'd rather have that argument out in the open than pretend our number is final truth.

The full technical specification, with formulas, ingredient tables, and citations, lives in [methodology-v2-spec.md](./methodology-v2-spec.md). This page is the plain-English version.


TL;DR

Sniff scores dog food on two independent axes:

  1. Nutrition & Quality Score: a 0-100 number with an A-F letter grade. How good is the food's actual formulation? Built from protein quality, fat quality, carbohydrate quality, AAFCO compliance, controversial ingredients, and nutritional completeness.
  1. Evidence Rating. Robust / Good / Fair / Limited / None. How much do we trust our own score? Built from data completeness, manufacturer transparency, and source verification.
**Both axes always appear together.** A food scoring 88/A with "Limited" evidence is a high-quality formulation we couldn't fully verify. A food scoring 62/C with "Robust" evidence is a well-documented but nutritionally average product. **Neither alone tells the full story**: the methodology is designed to be epistemically honest about uncertainty.

What we are. What we aren't.

Sniff is independent. We earn affiliate commissions when readers buy products through our links, at the same rate regardless of how the product scored. A 9/A and a 2/F pay us identically. This means our incentive structure literally cannot reward score inflation. We label every commission-bearing link "Paid link" per FTC 16 CFR Part 465.

We are not a veterinary practice. Nothing on Sniff is medical advice. If your dog has a condition, talk to your veterinarian.

Contrast with DogFoodAdvisor: acquired by Wag! Group Co. (NASDAQ: PET) for $9 million cash on January 5, 2023. DogFoodAdvisor's current "Best Dry Dog Food 2026" ranking lists an affiliated brand at slot #2. Their methodology has never been published. Their founder is a retired dentist. Sniff publishes everything, takes nothing as given, and answers to nobody but the data.


The Sniff Score, broken down

The 0-100 Nutrition & Quality Score is built from nine components plus controversial-ingredient penalties. Here's the full breakdown:

Tier 1: Nutritional Foundation (58 points max)

ComponentMaxWhat it measures
PQI (Protein Quality Index)27The amount, source quality, and biological availability of protein in the first 10 ingredients. Rewards named whole meats and same-species meal stacking. Uses DIAAS-like digestibility proxies from Templeman & Shoveller 2022 (the most rigorous canine ingredient protein assay available).
FQI (Fat Quality Index)16Named fats > generic. Marine omega-3 sources (fish oil, salmon oil, algae oil) > flaxseed alone, because dogs convert less than 1% of plant ALA to DHA (Bauer 2011). Penalizes generic "animal fat."
CQI (Carbohydrate Quality Index)16Whole grains > refined > grain-free with pulses. Critical distinction: grain-free is neutral. High-legume is a WATCH-level concern (FDA DCM investigation 2018-2022, Freeman 2025 phospholipidosis biomarker).

Tier 2: Safety & Transparency (27 points max)

ComponentMaxWhat it measures
ACF (AAFCO Compliance Factor)8Feeding trial (8 pts) > family product trial (6) > nutrient profile formulation (4) > ambiguous statement (2) > no AAFCO (0). The substantiation method matters, a feeding trial is real evidence; "formulated to meet" is paper compliance.
ISS (Ingredient Specificity Score)12What fraction of protein sources are species-named ("chicken meal" yes, "poultry meal" no, "meat meal" definitely not)? Halved if any unnamed protein is in the top 3.
CIP (Controversial Ingredient Penalty)up to −4025 ingredients on the watchlist. Each carries a verdict. FLAG, WATCH, or CLEAR, with a published basis type (confirmed canine harm / regulatory action / precautionary). Penalties stack but cap at −40 total.

Tier 3: Nutritional Completeness (16 points max)

ComponentMaxWhat it measures
GAA (Guaranteed Analysis Adequacy)7Does the actual GA meet AAFCO minimums on a dry-matter basis for the labeled life stage? Computed live, not trusted from marketing claims.
CDA (Caloric Density Appropriateness)4Form-dependent kcal targets. A 250 kcal/cup dry kibble is too low; a 700 kcal/cup kibble is too high. Wet food, freeze-dried, raw, each has its own range.
MNI (Micronutrient Indicators)5Premium mineral forms (chelated/proteinated, not oxide), natural vitamin E (d-alpha-tocopherol), selenium yeast, evidence-based probiotics (Bacillus coagulans, Enterococcus faecium SF68). These signal formulation investment, not just labels.

The penalty cap system (Yuka-inspired)

A premium ingredient list doesn't wash away a suspected carcinogen. If certain ingredients are present, the score is hard-capped regardless of what else the formula contains:

TriggerHard cap
Any FLAG ingredient (BHA, artificial colors, ethoxyquin, sodium nitrite, titanium dioxide, TBHQ)49 (D-tier)
Two or more FLAG ingredients39 (F-tier)
Three or more WATCH ingredients64 (C-tier)
No AAFCO statement59 (D-tier)
Primary protein is generic / unnamed54 (D-tier)
Fails AAFCO minimum on any nutrient49 (D-tier)
Pea protein in top 5 OR 3+ pulse ingredients in top 15 (FDA DCM signal)64 (C-tier)
Active unresolved FDA recall in last 12 months39 (F-tier)
**This is the most important mechanic in the system.** It encodes "some things are non-negotiable." A food with BHA and artificial colors cannot score above 49 regardless of how much chicken it contains.

Letter bands

BandScoreColorLabel
A75-100Dark greenExcellent
B60-74Light greenGood
C45-59YellowFair
D25-44OrangePoor
F0-24RedAvoid
The bands were calibrated against an empirical run of 3,485 products (per addendum Fix 15). A-tier represents the best ~1.3% of dog foods on the market. F-tier represents the worst ~3%.

Three trust-establishing distinctions

1. Grain-free vs. high-legume: they're different.

The pet food industry conflates these. Sniff does not.

  • Grain-free formula based on sweet potato or tapioca with no pulses: no penalty.
  • Grain-free formula with peas, lentils, chickpeas in the top 5. WATCH-level concern. The FDA's 2018-2022 investigation linked diet-associated DCM to pulse-rich formulations; Freeman 2025 identified the first plausible mechanism (urinary di-22:6-BMP phospholipidosis biomarker).
  • Three or more pulse-family ingredients in the top 15: hard cap at 64 (C-tier). The window was extended from top 10 in v2.0.1 because some brands concentrate pulses at positions 11-15 to escape positional rules.
This is conservative without being reactionary. **Burden of proof falls on the novel formulation** (the Lindy principle): peas/lentils as kibble base have existed at scale for ~10 years; named animal protein has anchored canid nutrition for ~15,000.

2. Sodium selenite is CLEAR. Copper hepatopathy is FLAG.

The internet pet food community flags sodium selenite as dangerous. The peer-reviewed literature does not, at AAFCO-permitted levels (max 2 mg/kg DM, typical use 0.1-0.3), there are no documented canine harm cases. A scoring system that flags sodium selenite is epistemically dishonest. Sniff awards a small bonus (+1) for selenium yeast as a marginal upgrade; sodium selenite gets no penalty.

Meanwhile, copper-associated hepatopathy in dogs is a strong recent safety signal (Center 2021 JAVMA; Strickland 2018 JVIM). After 1997, AAFCO switched the permitted copper sources from low-bioavailability oxide (~5%) to high-bioavailability sulfate/chelate (60-100%). Liver biopsy prevalence of elevated hepatic copper has risen significantly. Sniff FLAGS diets with total copper >25 mg/kg DM from bioavailable sources: one of the few areas where peer-reviewed expert consensus directly contradicts current AAFCO practice.

This is what taking the science seriously looks like: ignore the internet panic about selenite; raise the alarm about the real, documented copper signal. (Caveat: copper detection requires actual nutrient panel data we don't yet have for most products. The cap is wired but currently doesn't fire on labels alone, a v2.1 enhancement.)

3. "Confirmed harm" vs "regulatory action" vs "precautionary"

Every controversial ingredient on Sniff carries a basis_type label so you can see exactly why we flagged it:

BasisMeaningExample
ConfirmedDocumented canine harm at commercial exposureSodium nitrite (Worth 2005 NZ Vet J, canine death)
RegulatoryBanned, suspended, or warning-labeled by a major jurisdiction (FDA, EFSA, AAFCO)BHA (IARC 2B, CA Prop 65, FDA reassessment 2025)
PrecautionaryPlausible concern from non-canine evidence or jurisdictional asymmetryCarrageenan (rodent colitis mechanism, no canine clinical evidence)
A FLAG with `basis_type: precautionary` is honest about being a judgment call. Reasonable people can disagree about precautionary weighting; we publish the basis so the disagreement can be specific. This is the difference between Sniff's methodology and pure hazard-based clean-label ideology.

The Evidence axis

Five tiers: None / Limited / Fair / Good / Robust. Built from 8 binary signals:

  1. Full ingredient list captured (≥10 entries)
  2. Complete guaranteed analysis (all four AAFCO percents present)
  3. AAFCO statement present and parseable
  4. Calorie content declared
  5. Recently scraped (within 180 days)
  6. AAFCO method = feeding trial OR published trial data
  7. Cross-source verification (brand-site AND retailer data both available)
  8. Manufacturer transparency disclosed (DACVN on staff, owned plant, country of origin, third-party testing, recall transparency)
**Source-type cap:** retailer-sourced and Open Pet Food Facts-sourced rows are capped at "Fair" regardless of signal count, because the data was transcribed by a third party rather than authored by the manufacturer.

Why this axis exists: large manufacturers (Purina, Hill's, Royal Canin) often score higher on Evidence because they can afford DACVN staff and feeding trials. This does not mean their food is nutritionally superior: it means we have more data to verify their claims. A small boutique brand with excellent ingredients may score A on Nutrition but Limited on Evidence; that's a real signal, not a bug.


Per-product "Why this score"

Every product page surfaces the top 3 positive drivers and top 3 negative drivers of its score. Same template, different content per product. Example:

WHY THIS SCORE

✓ Strong protein profile, deboned chicken as primary protein with high biological value ✓ Quality fat sources, named chicken fat with salmon oil for omega-3 ✓ AAFCO feeding trial substantiation for all life stages

✗ Contains BHA. IARC Group 2B probable carcinogen; CA Prop 65 listed ✗ No declared omega-3 marine source, flaxseed alone cannot raise DHA levels ✗ Score capped at 49 due to FLAG ingredient (BHA)

You don't have to take our score on faith. You can see exactly what raised it and what dropped it. The drivers are also what AI assistants extract when someone asks "is [brand] good dog food?", they're designed to be self-contained, citation-ready facts.


What we don't know

Epistemic honesty matters more than authority. Here's what we're uncertain about:

  1. The mechanism of diet-associated DCM is not established. FDA closed routine updates in December 2022 citing insufficient causal data. Freeman 2025's phospholipidosis biomarker is the first plausible mechanism but requires replication. Our pulse-heavy penalties are precautionary, not causal.
  1. No validated canine-specific PDCAAS or DIAAS database exists. We use Templeman & Shoveller 2022 DIAAS-like values (rooster-derived) as the best available proxy. The Crosbie 2024 paper notes even chicken meal "is not an appropriate reference protein for estimating protein quality in extruded diets for dogs" due to rendering damage. True canine ingredient quality may be over-estimated.
  1. AAFCO has no senior life stage profile. Our senior-specific scoring leans on Laflamme 2008 (sarcopenia work), extra-regulatory.
  1. Optimal canine omega-6:omega-3 ratio is not precisely established. Working consensus 5:1 to 10:1. AAFCO permits up to 30:1. Wild canid diet estimated 1:1 to 4:1.
  1. NRC and AAFCO disagree on protein minimums by more than 2× (20 g vs 45 g per 1,000 kcal). Both are scientifically defensible under different assumptions.
  1. Raw feeding presents an irreducible nutrition vs. pathogen-risk tradeoff. Our raw-track penalty is a methodology choice, not settled scientific consensus. We tier it by declared pathogen controls (uncontrolled / tested / verified).
  1. Probiotic survival post-extrusion is highly variable and label CFU claims are frequently unverified. We award bonuses only for declared CFU at expiration.
  1. Copper hepatopathy is a strong recent safety signal (Center 2021) but AAFCO declined to set a copper maximum in 2023. Our >25 mg/kg DM FLAG is on the leading edge of expert opinion, not regulatory consensus.
  1. AMY2B copy number varies dramatically by breed (2 to 34). Population-level statements about "dogs digest starch well" should not be applied to individual dogs without genotyping.
  1. Lindy heuristics are conservative priors, not deterministic conclusions. Some novel ingredients (algae oil DHA, chelated minerals, B. coagulans probiotics) have accumulated sufficient positive evidence to overcome the prior.
If you read this list and think "they're being too cautious about X" or "not cautious enough about Y," **you might be right.** Tell us. The methodology is versioned (this is v2.0.1) and the changelog is public.

Sources

This methodology is grounded in:

  • NRC (2006). *Nutrient Requirements of Dogs and Cats.* National Academies Press.
  • AAFCO 2024 Official Publication. Dog Food Nutrient Profiles (2016 revision, carried forward).
  • Hand, Thatcher, Remillard, Roudebush, Novotny. *Small Animal Clinical Nutrition* 5th ed. Mark Morris Institute.
  • Fascetti & Delaney (Eds). *Applied Veterinary Clinical Nutrition.* Wiley-Blackwell.
  • Templeman & Shoveller (2022). DIAAS of animal and plant ingredients for dog diet formulation. *J Anim Sci* 100:skac279.
  • Faber et al. (2010). Protein digestibility in ileal-cannulated dogs. *J Anim Sci* 88:1421.
  • Freeman et al. (2025). Urinary di-22:6-BMP phospholipidosis biomarker in diet-associated DCM. *Am J Vet Res* 86:ajvr.24.07.0211.
  • Center et al. (2021). Reconsider copper content in commercial dog foods. *JAVMA* 258:357.
  • Bauer (2011). Therapeutic use of fish oils in companion animals. *JAVMA* 239:1441.
  • Axelsson et al. (2013). Genomic signature of dog domestication. *Nature* 495:360.
Full reference list (20 essential papers) and detailed citation table for every controversial-ingredient verdict: see [`methodology-v2-spec.md`](./methodology-v2-spec.md).

Version history

VersionDateChange
v1.0.02026-05-15Initial 1-10 scale, 4-component rubric (protein 40, controversial 25, filler 20, AAFCO 15).
v1.1.02026-05-17Added Evidence axis (5 signals), source-type cap, descriptor-stripping in ingredient normalization.
v2.0.02026-05-19Architectural rewrite. 0-100 scale with A-F bands. Two-axis (Nutrition × Evidence) formalized. Penalty caps (Yuka-style). 7-tier named-species multiplier with DIAAS-like quality values. Grain-free vs high-legume separated. Sodium selenite reclassified CLEAR. Copper >25 mg/kg DM bioavailable added as FLAG. Form-specific calibration (dry / wet / raw / freeze-dried / etc.). 25 controversial ingredients with basis_type. Per-product score drivers + summary sentences. Personalization layer (deferred to v2.1).
v2.0.12026-05-19Calibration fixes from real-data validation. (1) Pulse-stack rule window extended from top 10 to top 15 (catches stacking at positions 11-15 that previously escaped the rule). (2) AAFCO inference rule: retailer/OPFF products with an AAFCO-regulated life-stage term in the product name ("Adult", "Puppy", "Senior", "All Life Stages") but no verbatim statement on the page get aafco_method: formulation with aafco_inferred: true, fixes systematic 59-cap suppression of premium retailer rows. (3) Common-bean family added (pinto/navy/kidney/black/white/cranberry/adzuki/mung), was missing from the pulse-family table, so several brands appeared to escape pulse-stack detection. Score distribution shifted to a healthier 5/19/55/17/3 spread (was 1/5/72/19/3).
v2.0.22026-05-19Form-aware PQI. The dry-matter-fraction (DMF) correction in PQI is only applied to forms that undergo significant moisture removal during processing, dry, freeze-dried, air-dried, dehydrated. For wet, raw, and gently-cooked fresh foods (where the ingredient listing already reflects the final composition without dramatic shrinkage), DMF = 1.0. Fix lifts fresh DTC formulations (Farmer's Dog, Ollie, ORIJEN FreshPrey, Stella & Chewy's raw, Spot & Tango Fresh) to compete on equal terms with kibble on protein quality. Kibble scores unchanged. Final distribution shifted to 6.3/21.1/55.9/13.9/2.8.
Every version is preserved as `scoring/rubric-vN.js`, historic scores are always reproducible.

Brand correction process

If you are a brand owner, manufacturer, or authorized representative of a product on Sniff and you believe any factual information is materially inaccurate, you may submit a correction request at sniffdog.app/corrections. Within 14 days we will either correct the information, annotate the page with the dispute, or provide written reasons for declining with reference to our sources.

Submitting a correction does not waive any legal right. Sniff's documented good-faith engagement with this process is admissible in any subsequent proceeding.


Contact

  • Methodology questions: methodology@sniffdog.app
  • Brand corrections: sniffdog.app/corrections
  • DMCA: copyright@sniffdog.app
  • General: hello@sniffdog.app
*This page is versioned at `sniffdog.app/methodology`. The full technical specification with all formulas and citations: [`methodology-v2-spec.md`](./methodology-v2-spec.md).*
Independent. Always.

No paid placements. No brand sponsorships.

If a brand reformulates a product, their score updates. If a recall lands, we surface it. Every grade is the same data, applied the same way, every time.

Browse all brands