Methodology

How we compute percentiles, where the data comes from, and the things we don't claim.

Step 1 — public-source distributions

For each metric and each country we support, we maintain a small table of (percentile, value) pairs anchored at p1, p5, p10, p25, p50, p75, p90, p95, and p99. These anchor values come from public-data sources (US BLS, US Census ACS, US CDC NHANES, OECD, HUD, OWID — see data sources).

Step 2 — interpolation

When you enter a value, we find the two anchor points that bracket it and linearly interpolate to compute your percentile. Below the lowest anchor we extrapolate cautiously toward 0%; above the highest we cap at 99% — we never claim 100% or 0%.

Step 3 — country and age fallback

If you tell us your country and we have explicit data for it, we use that distribution. If we don't, we fall back to US data (which we have most coverage for). Same for age bands — explicit by-age distributions exist for some metrics (mostly salary in the US); others use the all-ages distribution.

What we don't claim

Self-learning blend

Once a particular (metric, age-band, country) bucket has at least 200 user submissions, we begin blending the user-derived distribution with the public-source one — weight on user data ramps linearly from 0% at 200 submissions to 100% at 5000. The blended values live in a separate metric_buckets_blend table; we'll surface "blended" vs "public-source-only" badges as we roll this out.

Want a metric we don't have?

Email hi@howtypicalami.com with the metric, the unit, and any public-source distribution you can point us at.