Methodology
ForkGrade converts raw violation data into a single 0–100 score for each inspection. Here's exactly how that works.
Scoring formula
Each violation is assigned a weight based on its severity. Those weights are summed into a risk score, which is then converted to a 0–100 display score using an exponential decay:
score = round(100 × e^(−risk × 0.05))
A restaurant with no violations scores 100. More violations, or more severe ones, push the score lower. The decay is gradual — a single critical violation yields roughly 86, while a string of them drops the score into failing territory.
Violation weights
Weights depend on how a region classifies violations:
| Severity | Weight | Used by |
|---|---|---|
| Critical | 3 | All regions |
| Major | 2 | Regions with 3-tier classification (e.g. Rhode Island) |
| Minor / Non-critical | 1 | All regions |
NYC classifies violations as either Critical or Not Critical, so only the critical=3 and non-critical=1 weights apply there.
Score tiers
| Tier | Score range |
|---|---|
| Low Risk | 75 and above |
| Medium Risk | 55 – 74 |
| High Risk | Below 55 |
NYC letter grades
NYC DOH issues official letter grades (A, B, C) after scored inspections. Where available, we display this grade alongside our score. The letter grade comes directly from the city — we do not calculate it. A grade of A requires fewer than 14 points on the city's own penalty scale; B is 14–27 points; C is 28 or more.
Some inspections are marked Grade Pending — this happens when a restaurant requests a hearing to contest its grade, or when a re-inspection is scheduled. For these, we show an estimated risk tier based on violations, not an official grade.
Data sources
- NYC — NYC Open Data: DOHMH Restaurant Inspection Results
- Rhode Island — Rhode Island Department of Health public inspection records
Data is refreshed daily. ForkGrade is an independent tool and is not affiliated with any government agency.