Unannounced Supplier Reformulation and Cheapflation Detection
Detect unannounced supplier reformulations, ingredient substitutions, and cheapflation before affected batches enter production.
Which market this reads
What this check reads: European Union. No other market is covered.
Reads EU Regulation (EU) No 1169/2011 and December 2012 EU Guidance Document on Tolerances. Does not read US FDA or UK FSA specific guidance.
What it does
Detects unannounced supplier reformulations, ingredient order shifts, additive introductions, and cheapflation by comparing published ingredient lists and Big7 nutrition panels against baseline specifications under EU Regulation 1169/2011 and EC guidance.
Ask it like this
youEvaluate supplier reformulation: baseline ingredients "Hazelnuts (15%), sugar, cocoa butter, cocoa mass, whole milk powder", current ingredients "Sugar, palm oil, hazelnuts (10%), fat-reduced cocoa powder, skimmed milk powder".
You never name it yourself. Your assistant picks the right tool: quality_open_food_facts_lieferantenbewertungsblatt__evaluate_supplier_reformulation
What you give it
| What to give | Kind of value | Needed? | Notes |
|---|---|---|---|
| baseline_ingredients_text | string | yes | Baseline ingredient list in descending order of weight |
| current_ingredients_text | string | yes | Current or incoming product ingredient list in descending order of weight |
| baseline_nutriments_per_100g | object | yes | Baseline Big7 nutritional panel per 100g/ml |
| current_nutriments_per_100g | object | yes | Current Big7 nutritional panel per 100g/ml |
| declared_quid | object | optional | Optional quantitative ingredient declarations (QUID) percentage map |
What you get back
| What comes back | Kind of value | Notes |
|---|---|---|
| jaccard_similarity | number | Jaccard set similarity score across normalized ingredient tokens (0.0 to 1.0) |
| cumulative_recipe_shift_pct | number | Sum of absolute percentage deviations across recipe components |
| reformulation_detected | boolean | true if ingredient composition or order shifted significantly |
| cheapflation_flag | boolean | true if high value ingredients were reduced and lower cost substitutes increased |
| discrepancy_details | array | array of discrepancy objects with category, severity, description, regulatory_reference |
| confidence | number | 0-100 |
| review_required | boolean | true when confidence is below threshold or reformulation detected |
| disclaimer | string | states mathematical calculations and EU guidance rules, not legal verdict or fraud claim |
Sources
- Regulation (EU) No 1169/2011 on the provision of food information to consumers (FIC)
- Guidance Document for Competent Authorities for the Control of Compliance with EU Legislation on the Setting of Tolerances for Nutrient Values Declared on a Label (December 2012)
- Open Food Facts Database API (ODbL)
Who wrote this
Every capability is written by one named publisher. You see who stands behind an answer, and you can take the conversation further with them directly.
fmcg.network Core Team
verifiedPlatform capabilities and reference implementations
Network team
What the assistant can offer next
Related reading
How uncertainty is handled
This check reports a confidence score with every answer. Below 80 out of 100 nothing is guessed: the uncertain items go to a review queue and the answer comes back marked "needs review".
Read how quality levels work