🍽 RiskyEats

RiskyEats Methodology

This page documents the data sources, dimensions, scoring, closure detection, trend classification, and anti-fabrication guarantees that underpin the briefing.

Data Sources

RiskyEats is built from three layers of source data:

Dimensions

The public briefing presents dimension panels in this order: Red Alert (active emergency orders, unresolved EORs within 365 days), Near Miss (Severity Score ≥300 in last 60 days without a closure), Chronic Violation Record (multi-signal restaurants with enforcement tier badges or WOW cross-dim flags), Closed/Delinquent, Ghost, Owner Changed, Chain Activity, Most Improved, Openings, and Clean Plates. The chip on each card names the panel whose rule placed that card.

Chronic Violation Record. This dimension consolidates the former Worst Offenders, Bad Actors, and Worst of the Worst (WOW) cross-dim concentration signals into one, ranked worst-first. WOW-badged cards receive a ⚠ badge and sort to the top within the dim. Enforcement tier cards (RL4, RENAME, PEST — see below) sort above all others.

Closed, delinquent, suspected, and ghost records are routed separately. The Closed/Delinquent dimension carries two distinct tiers with different badges: confirmed closures (owner-validated posts, news, field signals) carry a critical "Closed" badge, while DBPR delinquent/inactive licenses (Primary Status Code 45/46) carry a moderate "Delinquent license" badge — a regulatory state, not by itself a confirmed closure. Ghost means an active license record has no coalesced inspection history and unresolved operating status; it is a follow-up cue, not a closure claim. The former standalone stale-inspection cohort is deprecated; qualifying open restaurants now receive a contextual Regulatory Blind Spot badge only when positive proof-of-life exists.

Overlap rules. Red Alert and Closure Watch are de-duped against Near Miss so each restaurant lives in one active-enforcement panel. Chronic Violation Record cards are the union of cross-dim WOW signals and enforcement tier triggers — a restaurant can appear in Chronic Violation Record regardless of Near Miss placement.

Risk Scoring

The P0 scorer weights inspection history by public-health severity. High-priority findings raise score most sharply, intermediate findings add material risk, and basic findings add lighter context. Recency, repeat behavior, and closure or enforcement signals can raise the public-risk posture; clean or improving records dampen it.

RiskyEats Score. Each card displays a unified RiskyEats Score on a fixed 0–100 scale where 100 is the worst, computed as a 50/50 blend of the inspection-derived severity score (recent violation intensity) and the PHR (Public Health Risk) lifetime Empirical Bayes score when both are available. When PHR is not yet computed for a license, the severity score alone is used. The bands are: CLEAN 0–25, ROUTINE 25–50, HEAVY 50–80, SEVERE 80–90, EMERGENCY 90–100 — anything over 80 is severe, 90 and above is emergency. The raw inspection severity is normalized onto this fixed scale so a single high-priority citation lands at 75 (heavy) — one citation alone never approaches emergency — and the worst chronic offenders spread across 75–100 rather than all pinning at 100. The score bar fills linearly: a score of 92 fills 92% of the bar.

Official State Inspection Tier. DBPR assigns every food service license a Risk Level 1–4 (Form HR 5026-045) that determines the minimum annual inspection frequency. This is the DBPR's own classification — not our score — and is displayed as the inspection tier badge on each card to give context for interpreting raw closure or violation counts relative to how often the state actually visits.

How Severity Is Scored

The inspection-derived severity is a weighted count: high-priority violations times 100, intermediate violations times 10, basic violations times 1, plus 50 points when pest evidence is present. A clean inspection scores 0; one high-priority citation scores 100. This raw severity is then normalized onto the fixed 0–100 RiskyEats Score scale (100 = worst), and blended 50/50 with the lifetime PHR when available.

The normalization maps a raw severity of 100 (one high-priority citation) to a RiskyEats Score of 75 — the heavy band, deliberately below the severe and emergency thresholds so a single citation never reads as a crisis — and compresses higher raw values along a saturating curve so the worst chronic offenders spread across 75–100 instead of all pinning at the top. Concretely: raw 0 → 0, raw 100 → 75, raw 115 → 80 (severe), raw 190 → 90 (emergency), raw 256 → 93, raw 1340 → 99. The score never exceeds 100. The card bar fills linearly with the score.

Letter Grade

Letter grades are derived from the inspection or pattern that earned the restaurant its card placement. Red Alert cards receive F, Clean Plates receive A, Near Miss cards use the earning inspection after callback visits are skipped, and Chronic Violation Record cards use closure and complaint history so a clean latest callback does not erase the pattern.

Clean Run

Clean-run cards count consecutive inspections without a high-priority violation. The run length and days-since-high-priority text are inspection-history indicators, not an operator certification. A longer run means fewer recent serious citations in the DBPR record.

Most Improved

Most-improved scoring compares prior-window HP plus critical violation counts with recent-window HP plus critical counts. The percent-better badge reflects the drop between those windows, while the adjacent count badge shows the before-to-after violation totals that produced it.

Chronic Risk Score (180-Day)

Chronic score ranks recent repeat inspection trouble over the 180-day window — surfaced in the native briefing's Chronic Risk section. Cards pair the score with the number of inspections in that window so a high count reflects repeated observed issues, not a single isolated visit.

Evidence Count

Evidence Count is the count of independent closure evidence types shown on a card, capped at 4/4. The evidence types are inspection silence, DBPR inactive/cancelled license status (status 45/46), dissolved Sunbiz operating corporation, and confirmed external/operator/news/place evidence. A higher count means more independent evidence, not a health-inspection grade or a prediction.

Chronic Violation Record Signatures

Combo badges on Chronic Violation Record cards summarize which dimensions fired simultaneously. Letters map to evidence families: E = emergency-order or active enforcement, L = lapsed/delinquent administrative signal, B = bad-actor historical pattern, G = ghost record or 365+ days uninspected. Combined badges (EB, ELB, EBG, ELBG, etc.) mean multiple families fired. Minimum two flags required for the WOW badge; at least one must be Tier-1 (E or B). L+G-only = Likely Defunct, not badged.

Enforcement tier signatures (not letter-combo badges): RL4 = inferred foodborne risk, RENAME = serial renamer anti-cleansing, PEST = pest-habitual 24mo recurrence. These always sort above combo-letter cards.

Other card badge letters: C = externally confirmed closure, D = DBPR disciplinary evidence, V = high-violation inspection evidence, R = repeat-offender behavior.

Callback Overdue Severity

Emergency-order cards cover DBPR emergency-order or emergency-suspension records (EOR/EOS). These can be temporary administrative closures until a complying callback is posted. A callback is overdue when DBPR has not posted a complying follow-up after the expected callback window. Warning means the callback is more than 14 days overdue; severe means the unresolved window is 30 days or longer.

License Status Badges

Closed marks confirmed closure evidence in the Closed/Delinquent panel (owner-validated posts, news, field signals, or operator attestation). Delinquent license marks DBPR inactive/delinquent license status (Primary Status Code 45/46) — a public-record regulatory state about the license, not by itself proof the business has closed; it is shown with a moderate (not critical) badge and never asserts a confirmed closure. Suspected Silent Closure marks a suspected, not confirmed, closure: an active-status license with a 365+ day coalesced inspection gap, or no coalesced inspection date, plus proof-of-death from Google, OSS Places, or validated social evidence. Uninspected > 1 Year / Regulatory Blind Spot is a contextual badge, not a dimension: it requires active DBPR status, a 365+ day coalesced inspection gap, no venue-concession flag, and positive proof-of-life from Google OPERATIONAL with address match at least 0.8 or a recent Google/Yelp review. Sunbiz is not proof-of-life for this badge. Ghost marks active records with no coalesced inspection history and unresolved operating status.

Regulatory Blind Spot Badge

The Uninspected > 1 Year badge annotates restaurants already surfaced in another section. It does not create a browsable list. Google NO_MATCH or CLOSED_PERMANENTLY records route to Closures as suspected silent closures, venue concessions are hidden from standard restaurant views, and never-verified records enter a manual-verification queue until a Places match exists.

Chronic Violation Record Badges

Chronic Violation Record dimension badges compact systemic risk signals. high_violations means high-priority violation hits are materially elevated; repeat_offender means the same operator or license repeats serious events across visits or locations; long_rap_sheet means the 11-year record contains enough closures or complaint inspections to qualify as a historical pattern. Extant badges weight active/recent evidence more heavily than purely historical evidence.

WOW badge. The ⚠ badge marks restaurants that simultaneously appear in two or more red-flag dimensions (Emergency Order, Lapsed License, Bad-Actor Record, Ghost/uninspected record). The combo letters (e.g. EB, ELB, ELBG) identify which flags fired. At least one Tier-1 active flag (E = Emergency Order or B = Bad-Actor Record) is required — L+G-only (lapsed + ghost with no active enforcement) is classified as Likely Defunct rather than an active threat.

Enforcement Tiers (GRAEAE-validated)

Enforcement tiers bypass the normal ranking system and surface restaurants whose patterns score systems may miss. These are applied after WOW cross-dim detection and sort above all other Chronic Violation Record cards.

Enforcement tier cards that are ALSO WOW-badged retain whichever rank is higher. A RENAME serial renamer with an EB (EOR + Bad Actor) WOW combo keeps the RENAME rank (95) since it exceeds EB (70).

DBPR Risk-Based Inspection Frequency

Per DBPR Form HR 5026-045 (effective 2014-07-01), every food service license is assigned a Risk Level from 1 to 4. The level dictates the minimum number of routine inspections per year — Level 1 = 1/yr, Level 2 = 2/yr, Level 3 = 3/yr, Level 4 = 4/yr — and escalates based on inspection history, type of food preparation, and confirmed foodborne illness reports.

We surface this level on every Chronic Violation Record card as the Official State Inspection Tier badge because it is the denominator readers need to interpret raw closure or violation counts. Five emergency closures at a Level 1 establishment (one inspection chance per year) are statistically rarer — and editorially more damning — than five closures at a Level 4 establishment that DBPR visits four times annually.

We derive each license's assigned level from two public sources: (1) the rule-based Level 3 trigger of three or more disciplinary Final Orders filed with the Agency Clerk in the prior two annual cycles, sourced from disciplinary_rdar.parquet; and (2) the empirical routine-inspection cadence observed in DBPR's own published inspections records. We count unique routine cycles (Inspection Type "Routine - Food" with Visit Number 1, which excludes follow-ups) and divide by years of active licensure coverage in the parquet. When DBPR has empirically classified an establishment at a higher level than the rule trigger would predict, the empirical signal wins — DBPR's own scheduler is authoritative because it incorporates signals we cannot observe directly.

DBPR Level 4 carries a special caveat. The rule requires a confirmed foodborne illness reported by the Florida Department of Health within the prior calendar year. Florida statutes 381.0031 and 119.071(5)(g) exempt the source identity of public-health investigations from Sunshine Law disclosure, so the FL DOH does not publish per-restaurant foodborne outbreak attributions. The closest public proxy in our pipeline is three or more disciplinary Final Orders within two years (which the underlying rule also accepts as a Level 3 escalator); pairing that with a recent Emergency Order of Suspension marks an operationally equivalent posture without claiming an independent Level 4 attribution we cannot publicly verify.

Megaviolator Badge

A Megaviolator card has posted at least one inspection in which the total violation count ranked in the statewide top-decile among all Florida food-service inspections. The threshold is computed from the empirical distribution of total violations per inspection across the full 2016-2026 inspection history — it is not a fixed threshold. The percentile label on the card (for example, "Top 1% statewide") reflects where that license's worst inspection fell in the statewide distribution.

Total violations counts both high-priority and lower-tier violations. A restaurant can earn a Megaviolator badge through a combination of many moderate violations even if its HP count alone would not reach the threshold. This badge is complementary to the existing High-Priority violation scores — it captures the width of the failure, not only the severity. The inspection date on the card is the date of the worst-total single inspection in the license history.

Local 10 / Dirty Dining Coverage

The Local 10 Coverage badge marks restaurants that have received editorial coverage from WPLG Local 10's Dirty Dining segment, South Florida's primary broadcast dirty-dining investigation series. Coverage may reflect EOR closures, high-violation inspections, or follow-up accountability reporting. The badge links directly to the matched article when a URL is available. Coverage dates are sourced from our news-signal pipeline and reflect the article publication date, not the inspection date.

DBA Name History & Anti-Cleansing

A DBPR food service license persists across DBA (Doing Business As) renames. When a business changes its name on the same license, the inspection record, complaint history, and disciplinary actions all stay attached to the underlying license number — but the current visible name no longer reveals the prior identity. Florida law does not require DBA changes to surface in customer-facing materials, so the rebrand effectively cleanses a restaurant's reputation in plain view of patrons while the regulatory record remains intact behind the scenes.

When a card surfaces a Renamed badge, the underlying DBPR license has operated under more than one DBA in our 8-year inspection window. The prior names appear alongside the badge with the year span they were active. This is a transparency safeguard, not an accusation: many name changes are routine ownership transfers, concept reboots, or franchise rebrandings. A reader seeing a name they don't recognize as the prior identity can correctly weigh the historical inspection record against the rebranded marketing.

Real example: license number 6020907 in Boca Raton operated as REBEL HOUSE from 2016 through 2021 (with admin complaints in that window), then briefly as REBEL HOUSE / UNCLE PINKIE'S DELI in 2022, and as ALLEYCAT from 2023 to present. Today's ALLEYCAT card carries the full 9-year inspection ledger, including the April 2026 Emergency Order Recommended that closed the kitchen for one day. Without the DBA history badge, a patron would see only the post-2023 ALLEYCAT record.

Chain Kind

Chain kind is assigned from places and operator enrichment. single means no statewide chain pattern is detected. regional means the operator appears to run multiple Florida locations. franchisee_owned means a local franchisee controls a subset of a larger brand's Florida locations. national or national_owned means the location is associated with a larger brand-owned chain footprint.

Chain Closure Exception

The chain_closure_exception flag lets a chain location remain in Closure Watch when the normal de-duplication rules would otherwise suppress it as a broad chain event. It is used when location-level evidence says this specific restaurant is closed or closing, even though the wider brand or franchise system may still operate elsewhere.

Operator Override

operator_override marks a card inserted or retained from an explicit operator-attested source rather than solely from automated scoring. Overrides still need a documented reason and are labeled separately so readers can distinguish editorial attestation from automated record joins.

Confidence Label

confidence_label is the plain-English attestation label for closure, opening, or chain-rollup evidence. Examples include Operator-attested closure, DBPR-confirmed plus multi-source corroborated, Google-confirmed opening, and Chain rollup signatures. The label explains why the source row is strong enough to surface on the card.

Recency Bucket

recency_bucket separates last_90_days closure evidence from historical backlog. last_90_days means the closure evidence is recent enough for current editorial framing; historical means the card is retained as an older regulatory or places-data closure record.

Requires Revalidation

requires_revalidation is the staleness flag for old closure evidence. Closure cards whose latest inspection or verification touch is older than the 16-month threshold are marked for manual revalidation before they should be treated as fresh current-state evidence.

Closure Detection

Closure detection distinguishes active-but-quiet restaurants from confirmed permanent closures. A restaurant is not treated as permanently closed merely because it has no recent inspection. Confirmed closure classification requires external closed-status verification, operator attestation, or validated news/community evidence; suspected rows remain labeled as suspected. DBPR delinquent/inactive license status (Primary Status Code 45/46) is reported separately as a regulatory state about the license — it is one independent evidence family but does not by itself confirm a permanent closure. The card Evidence Count explains how many independent source families are present.

The T3 classifier labels restaurant and metro trajectories as improving, stable, declining, or volatile by comparing recent inspection severity and frequency against prior windows. It is trend language, not a prediction of future conditions.

Ghost Licenses

Ghost licenses are active DBPR status-20 records with no coalesced inspection history, old enough to be more than a brand-new filing, and no proof-of-life or proof-of-death signal. They are paper/shell records that need follow-up, not asserted closures.

A subset of ghost licenses are zombie licenses — establishments where DBPR status is Active but the Florida corporate entity has been administratively dissolved or involuntarily revoked in Sunbiz (status codes IFLAL, IDOMP, IFORNP, or similar). Zombie licenses suggest the operating company may have wound down while the DBPR license remained open. These are higher-confidence ghost indicators and appear in the chip-row above the cards when present.

Anti-fabrication

The narrative engine is deterministic. Every restaurant name, count, date, violation class, and closure or license claim is emitted from validated records already loaded into the build. Missing inputs degrade to omissions or empty sections instead of invented copy.