Skip to main content

GeraEats / Recall Watch / Methodology

Gera Recall Watch Index (GRWI) — Methodology

Full formula, data source, rolling window, and reproduction instructions for the GRWI proprietary index.

1. Data source

The GRWI is computed exclusively from the FSA Food Alerts open REST API (Food Standards Agency, UK). The API is publicly accessible without authentication at data.food.gov.uk/food-alerts. All data is published under the Open Government Licence v3.0.

  • Fetch URL: https://data.food.gov.uk/food-alerts/id.json?_limit=2000 (returns up to 2,000 alerts; current DB size 1328 alerts)
  • Last fetched: 2026-06-20
  • Total alerts in FSA database: 1,328 (all published since 2018-01-09)
  • Alert types included: AA (Allergy Alerts), PRIN (Product Recalls), FAFA (Food Alerts for Action), FAWL (Food Alerts for Awareness)

2. Rolling 24-month window

Only alerts with a created date between 2024-06-20 and 2026-06-19 are included in the index. This rolling window (320 alerts) represents the most recent 24 months of food-safety enforcement. Older alerts are excluded because recall risk reflects current supply-chain and labelling practice, not historical incidents.

3. Category classification

Each alert is classified into one of 13 product categories by keyword matching on the alert's title / shortTitle field. The first matching category wins; alerts that match no keyword fall into “Other Food Products”. Category keywords are:

CategoryExample keywords
Dairy & Cheesecheese, dairy, milk, butter, cream, yogurt, ice cream
Meat & Poultrymeat, chicken, beef, pork, lamb, turkey, sausage, ham, bacon
Fish & Seafoodfish, salmon, tuna, prawn, shrimp, cod, haddock, seafood, shellfish
Bakery & Breadbread, cake, biscuit, pastry, cookie, doughnut, scone, muffin
Ready Mealsready meal, lasagne, curry, stew, casserole, soup, pie, quiche
Snacks & Confectionerychocolate, sweets, crisp, snack, cereal, granola, popcorn
Sauces & Condimentssauce, dressing, mayo, ketchup, mustard, chutney, relish, gravy
Fruit & Vegetablesfruit, vegetable, salad, berry, apple, onion, pepper, tomato
Drinks & Beveragesdrink, juice, smoothie, beverage, coffee, tea, protein shake
Supplements & Health Foodssupplement, vitamin, protein powder, herbal, sports nutrition
Sandwiches & Wrapssandwich, wrap, roll, sub, panini, bagel
Pasta & Grainspasta, rice, noodle, couscous, quinoa, barley, oat
Other Food Products(fallback — no matching keyword)

4. Allergen classification

Allergens are identified by keyword search across the alert's title and the problem.riskStatement field. All 14 EU-regulated allergens (as listed in EU Regulation No 1169/2011, retained in UK law post-Brexit) are covered. Allergen notation follows the FSA's own allergen vocabulary at data.food.gov.uk/codes/alerts/def/allergen. Alerts implicating no named allergen are classified as “Other/Unknown” and excluded from allergen hub counts.

5. GRWI formula

// Per-category raw score:

raw = alert_count_24mo × 0.5

+ allergen_alert_fraction × 20

+ allergen_diversity × 2

+ trend_factor × 3

// Normalised 0–100 across all categories:

GRWI = (raw − min_raw) / (max_raw − min_raw) × 100

Where:

  • alert_count_24mo — total FSA alerts (any type) in the rolling 24-month window for this category.
  • allergen_alert_fraction — proportion of alerts that are Allergy Alerts (type AA), the highest consumer-risk class (0–1). Weight of 20 reflects that AA alerts pose immediate risk to allergic consumers.
  • allergen_diversity — count of distinct named allergens implicated across all alerts in the category (excl. Other/Unknown). Higher diversity = broader risk surface.
  • trend_factor — alerts in the last 6 months (Jan– Jun 2026) divided by alerts in the prior 6 months (Jul–Dec 2025). A rising trend inflates the score. Set to 1.0 if the prior period has zero alerts (division-by-zero guard).
  • GRWI — min–max normalised so the highest-raw category scores 100 and the lowest scores 0. All categories with GRWI > 0 have at least one real FSA alert in the window.

6. Limitations

  • GRWI reflects reported FSA alerts, not absolute product safety. Categories with fewer SKUs (e.g. Sandwiches & Wraps) may score low simply because fewer products carry FSA alert obligations, not because they are inherently safer.
  • Category assignment is keyword-based and may misclassify multi-ingredient products. The FSA API does not carry a structured product-category field.
  • Allergen extraction is text-based; complex free-text risk statements may miss allergens not named in the title. Counts labelled “Other/Unknown” represent alerts where no named allergen was detected.
  • The GRWI is a relative risk index for the 13 categories represented in the 24-month FSA window, not an absolute food- safety measure.

7. Reproduction

To reproduce this index independently:

  1. Fetch: curl https://data.food.gov.uk/food-alerts/id.json?_limit=2000
  2. Filter to alerts where created ≥ 2024-06-20 (rolling 24mo).
  3. Classify each alert to one of the 13 categories above via title keyword match.
  4. For each category: count total alerts, AA alerts, distinct allergens. Compute 6-month sub-windows for trend_factor.
  5. Apply the raw formula and min–max normalise across all 13 categories.

All computations use publicly auditable FSA data. The formula and weights are fixed as of 2026-06-20; future versions will note any changes.

Source: FSA Food Alerts open REST API (Food Standards Agency). Data as of June 2026; published 2026-06-20. Licensed under the Open Government Licence v3.0. Ratings reflect the most recent inspection on record and may have changed since publication.

← Back to Recall Watch hub