← back to the number

How this number is made

Nobody measures who is awake. This is a statistical model — like a tide table for humans — and this page is the whole recipe.

The idea

The estimate is population × probability of being awake at the local clock time, summed over every country and timezone:

Awake(t) = Σ(countries) Σ(zones)  pop · w(zone) · A( local hour )

pop      country population (UN WPP, medium variant)
w(zone)  share of the country living in that IANA timezone
A(h)     probability a person there is awake at local hour h

Timezones — not countries — are the unit of computation. The United States at 9pm Eastern is four different stories, so multi-zone countries (US, Russia, Canada, Brazil, Australia, Indonesia, Mexico …) carry per-zone population weights. Local time comes from the browser's own IANA timezone database, which means daylight-saving rules are handled exactly, everywhere, forever, with no code on our side.

The wakefulness curve

A(h) is a two-sigmoid product: it rises through the country's wake window, plateaus through the day, and falls through the bedtime window. Two honesty terms cap it at both ends — a night floor (shift workers, insomniacs, everyone up at 3am) and a daytime ceiling (nappers, day-sleeping shift workers):

A(h) = floor + (ceil − floor) · σ((h − μwake)/kw) · σ((μbed − h)/kb)
The calibrated default curve, rendered live from the same code that computes the headline number. Dots are the 24 published data points it was fitted to (US time-use survey, 2025): worst hour misses by 1.7 percentage points.

The curve's shape is fitted to the American Time Use Survey (BLS, Table A-3, 2025 annual averages) — one of the few sources publishing the actual share of people asleep at each hour rather than just averages. Statistics Canada's time-use survey independently puts the deep-night awake share at 5–10%, which is where our night floor lands.

One definitional subtlety we handle explicitly: μbed here is the hour at which half the population is actually asleep — measured by diaries, not self-reported "bedtime", which runs about an hour later. Cross-country timing differences (Spain late, Japan short, Saudi Arabia latest) come from the ENTRAIN smartphone study and are applied as shifts relative to that measured anchor.

The data

datasetused for
UN World Population Prospectspopulation per country, medium variant
US ATUS Table A-3 (2025)curve shape — hourly asleep shares, fitted at ≤1.7pp per hour
Walch et al. 2016 (ENTRAIN, Science Advances)cross-country bed/wake offsets, ~100 countries of smartphone data
StatCan time-use surveyindependent cross-check of the deep-night floor
census region sharespopulation weights per timezone in multi-zone countries

Every country row carries a source badge. Right now: loading…

Countries without a direct source inherit parameters through a fallback chain — country → region → global default — and their badge says so. Nothing is silently upgraded.

What the number is not

Seasons

Per-country seasonal sleep data barely exists, and measured effects are tens of minutes. We model the year honestly as: daylight-saving transitions (exact, via the timezone database) and — planned — a sunrise-coupled shift of the wake time, capped at ±40 minutes, at each country's population centroid. We do not claim seasonal sleep-duration effects nobody has measured.

Changelog

The model and data build are open — corrections and better sources are welcome as issues.