How is a DogDish grade calculated?

DogDish starts at 78 points, then applies versioned bonuses and penalties for recognized ingredient categories, the first ingredient, AAFCO nutritional adequacy language, limited guaranteed-analysis checks, and any dog-specific allergen matches. A recognized toxic ingredient forces an F and caps the score at 9.

Each result returns the numeric score, A–F grade, detected flags, positive signals, an itemized breakdown, whether personalization changed the result, and the model version. The same normalized input and model version produce the same output.

Where does the label data come from?

DogDish first looks for a cached food record, then may identify a product through barcode catalogs including Open Pet Food Facts, Open Food Facts, USDA FoodData Central, and configured UPC providers. If a catalog record is incomplete, the user can photograph the package label.

Extracted text is normalized into product identity, ingredients, guaranteed analysis, food type, and nutritional adequacy fields. The ingredient parser keeps the original text, separates top-level and parenthetical ingredients, and assigns positions so the grading engine can explain what it matched.

Source priority: the physical product label is the controlling product source. Catalog data and OCR are conveniences and can be incomplete or stale.

What rules affect the grade?

Version grade-v1 uses the rules below. Category caps prevent repeated similar ingredients from creating an unlimited penalty.

DogDish grade-v1 scoring rules
SignalAdjustmentLimit or condition
Starting score78Applied to every result
Caution-category ingredient−6 eachCategory cap −24
Avoid-category ingredient−10 eachCategory cap −30
Filler-category ingredient−4 eachCategory cap −16
Generic protein or fat source−7 eachCategory cap −14
Named protein is first+8Primary ingredient only
Generic protein or fat is first−8Primary ingredient only
Complete and balanced statement+6Main foods with parsed AAFCO language
Feeding-trial basis+2In addition to complete status
Supplemental-only main food−10Main foods only
No adequacy statement found−6Main foods only
Crude protein below 18%−3Light as-fed check when data exists
Profile allergen match−15 eachPersonalized result only
Recognized toxic ingredientAutomatic FNumeric score capped at 9

The score is clamped to 0–100. Letter thresholds are A at 90 or above, B at 80–89, C at 70–79, D at 60–69, and F below 60 or whenever a toxic rule is triggered.

What the grade does not measure

The grade does not test the food, inspect a factory, confirm nutrient concentrations beyond the label, predict digestibility, prove ingredient sourcing, or determine whether the diet is medically appropriate. It is a consistent label-screening heuristic, not a clinical nutrition standard.

Does AI decide the DogDish grade?

No. AI may normalize messy OCR output and produce a plain-language explanation, but the versioned rules engine calculates the grade. The application and server share the same grading code.

OCR and product extraction can still make mistakes. Users should compare the extracted record with the package, especially when a result contains a severe flag or appears inconsistent with the label.

How does recall matching work?

DogDish ingests and normalizes supported government recall feeds. Matching compares product identity fields and can use brand, product description, region, and available code information. Every displayed recall retains a source URL.

A candidate match is not a final determination. Users should open the official notice and verify the exact package size, lot or batch, best-by date, distribution region, and current recall status. Supported and configured sources can include FDA or openFDA in the United States, the Food Standards Agency in the United Kingdom, the EU Rapid Alert System for Food and Feed, and Food Standards Australia New Zealand.

What are the important limitations?

  • Catalog records can be old or incomplete; packaging can change before databases do.
  • OCR can omit text, merge lines, or misread characters.
  • An ingredient name alone does not disclose dose, bioavailability, supplier quality, or manufacturing controls.
  • Ingredient-list heuristics cannot replace a complete nutritional assessment.
  • Recall matching may miss an item or produce a candidate that does not include the user’s lot.
  • Dog-specific needs can make a generally acceptable food unsuitable for one animal.

How is the methodology maintained?

Scoring constants live in one versioned rules object. A policy change requires a model-version change so results can identify the rule set used. Reference-list and parsing changes are reviewed with tests in the shared grading package before deployment.

DogDish favors primary regulator material for public factual guidance, dates material updates, separates observed label facts from scoring judgments, and publishes corrections on the affected page. Questions, edge cases, and correction requests can be sent to hello@dogdish.app.

Current revision: grade-v1 methodology published July 2, 2026. No previous public revisions.