About the data
Method
hap.io precomputes traffic estimates from free, open rank lists — Tranco (backbone), Cisco Umbrella and Majestic (refinement where present), and OpenPageRank for extended coverage at ranks 1M–2M. A power-law model converts rank to monthly visits; it was calibrated and validated against published panel estimates and real measured anchors before launch.
Accuracy — measured, not promised
In held-out testing the backbone model landed within a median fold error of about 2.3× of published figures, with ordering that agrees strongly with incumbent estimators (Spearman ρ = 0.79). The multi-signal refinement improves the top of the list where all signals exist. Every estimate on hap.io is shown with a range, and deep-tail estimates carry an "Extended coverage" badge. Some sites will still be off by more — that is the honest price of free data, and the range is there to say so.
What hap.io does not show — on purpose
- Traffic channel splits (direct / search / social / referral %): only clickstream panels measure these. No free source exists, so hap.io shows none instead of inventing one.
- Demographics: panel data only.
- App DAU/MAU, sessions, retention: SDK/panel data only.
- iOS download counts: Apple does not publish them; app pages use ratings and chart rank as labelled proxies.
Modelled sections
Top countries and site value are modelled estimates (from ccTLD/language priors and an ad-revenue formula respectively) and are badged as such wherever they appear. Referring-domain counts are observed link data and are labelled "by links, not by visits".
Refresh
Weekly full recompute. The current dataset's build date and model details are published at /data/meta.json.