Every destination shows a safety number : e.g. Safety 4.2/5 · 4 hoods rated. Here’s the exact formula.
V0 (live today):
destination_score = avg(neighborhoods[].safetyRating)
// 1–5 scale, no transformationThe simple average of contributor-rated neighbourhood ratings on that destination’s intel card. One number per destination, not per trip. We hide it when fewer than threeneighbourhoods have been rated. We don’t weigh user submissions, we don’t blend in beware-report counts, and we don’t produce a score out of 10. The V0 number is honest because the inputs are observable.
When we hide the score:
- Fewer than 3 rated neighbourhoods → render “Not enough data yet” instead of a number.
- No intel card for the destination → no number.
- The “Show only safe destinations” filter on /feed hides destinations below the threshold rather than silently treating them as safe.
What this score is not:
- Not a verdict.A 4.2 doesn’t mean “safe” in the absolute. Read the scams list, the Don’t list, and recent beware reports for the real picture.
- Not user-rated. Only contributors who wrote the intel card set neighbourhood ratings.
- Not weighted by beware reports yet. They’re shown separately on the Beware Board. V1 brings them into the score; see below.
V1 (planned, dataset-dependent):
v1_score =
0.55 × neighbourhood_rating_avg // 1–5 scale
+ 0.30 × (5 − beware_severity_index) // recent + severity-weighted
+ 0.15 × verified_contributor_bonus // capped at 5
// → 1.0–5.0 displayedWhen we move to V1, this page gets a dated changelog entry. Any change to the formula is logged here.