Methods & sources
How we count humans and machines, where every number comes from, and what we can't know.
What counts as human, what counts as machine
- Human: traffic a person causes in real time: page views, app use, video and music streams, calls, their own uploads.
- Machine: traffic with no person in the loop at that moment: crawlers, scrapers, good and bad bots, AI training and AI-agent fetches, API automation, IoT/M2M telemetry, server-to-server replication.
- Borderline, counted as human: software updates, backups and CDN cache fill. Vendors can't split them out.
- AI agents acting for a person count as machine. This is the choice that matters most for the "1 in 1,000" question.
Requests are not bytes
Bot detection works per HTTP request. A bot page fetch is a few kilobytes; a person watching video moves gigabytes. So by requests machines are already the majority (≈51–53%), while by bytes people still dominate (machines ≈9%, modelled). We always show both and never mix them.
Same basis for both: bytes, plus requests
The main chart compares human bytes and machine bytes in exabytes per month. A linked view shows request counts and bytes per request. Request counts start in 2012, the first year with a measured bot share.
- Global requests = Cloudflare's 81 million HTTP requests/s (2025) ÷ an assumed Cloudflare share of all HTTP requests of 15–35% (mid 22%). Cloudflare does not publish its share, so this is the biggest assumption. That gives 609 trillion–1.42 quadrillion requests per month (mid 968 trillion).
- Earlier years are back-cast from total bytes, assuming bytes per request grew 5–11% a year (mid 8%). HTTP Archive's median desktop page grew from 1,208 KB (2014) to 2,652 KB (2024), at about 70 requests per page.
- Bytes per request = modelled bytes ÷ modelled requests, for each group. In 2025 a human request averages about 1.50 MB and a machine request about 85 KB.
How we model machine bytes (never measured)
No one publishes machine bytes, so we build the figure two ways and use the widest range.
| Component (2025, per month) | Method | Low – high (mid) |
|---|---|---|
| M1 Logit trend: bot share keeps its 2017-2025 trend (OLS on logit), +/- fit error | 64% | 0.00% |
| M2 Exponential volumes: machine requests +25%/yr (+/-8), human requests +10%/yr (+/-3) | 74% | 0.00% |
| M3 Agent S-curve: personal AI agents add requests per human, logistic adoption, capped (median 20x, wide) | 90% | 0.18% |
| M4 Saturation/defence: bot blocking, pay-per-crawl and dedup flatten the share (slope ~0) | 53% | 0.00% |
| M5 AI-agent explosion: AI requests grow ~3x/yr (1.1-8x) from 2025's ~4%, growth decaying (half-life 1-4 yr) | 73% | 0.18% |
- Bottom-up: 0.9%–10.0% of bytes (mid 2.9%).
- Top-down: Cisco's M2M share of IP traffic (~3% in 2017 → ~6% forecast for 2022), trended to 2025 and with crawler bytes added: 5–14% (mid 9%).
- Used: 0.9%–14.0%, mid 5.9% (the average of the two mids). The forecast samples across this whole range.
- Not added, to avoid double counting: API traffic (bot detection already labels unattended API calls as bots) and backups, updates and CDN fill (counted as human by our definition). CDN-observed automated bytes aren't published. They are a phase 2 cross-check.
The Moore's-law scenario
The prediction says the machine-to-human ratio compounds, almost like Moore's law. We test that directly: ratio(2031) = ratio(today) × 260/N, for a doubling time of N months. By requests, today's ratio is about 1 : 1, so 1 in 1,000 human (999 : 1) needs ~10 doublings in five years: a doubling every ~6 months. By bytes, the ratio is about 0.06 : 1, so it needs ~14 doublings: one every ~4 months. A classic Moore doubling (18–24 months) gives a ratio of about 6–10 : 1 by requests, with humans at 9–15%. The measured request ratio doubled about every 7 years from 2019 to 2025. The prediction therefore needs a step change. Agents talking to agents is the most plausible driver.
Agents talking to agents (A2A scenario)
History alone can't see what comes next: AI agents calling tools and other agents, which call more agents. So the forecast has a
separate, fully parameterised agent-to-agent model. Visible A2A calls per month = active agents × tasks per agent per day × (fan-out + fan-out² + …
to the chosen depth) × a capped network-effect term (agents/agents₂₀₂₅)α × 30.4 × the share of calls that cross the public internet.
Bytes = calls × bytes per call, which grows as agents fetch media and data. Only growth above 2025 is added, because 2025's agent traffic is already in the measured bot share.
Every input has a low/mid/high range (site.json → a2a.params), and you can change them all with the sliders on the front page.
What we can't see: a large share of agent-to-agent traffic runs inside clouds, as east-west traffic between services and private APIs. It never crosses the public internet, so Cloudflare Radar, Imperva and similar measurements never see it. We show it as "modelled hidden" agent traffic. It loads data centres, but it is not "the internet" that people and websites share.
Infrastructure impact
Costs tied to requests include per-request CDN and API fees, WAF and bot management, edge and serverless compute, origin CPU, database queries, TLS and logging. Machines drive about half of these, and their requests grow ~20%/yr. Costs tied to bytes include egress, transit, cache and video delivery. People still drive ~94% of these, growing ~15%/yr. The "machine bytes overtake human bytes" forecast runs the same 20,000 simulated futures to 2060. After 2031 it is an extrapolation, not a forecast.
"Live" and "real time"
No public source measures all internet traffic in real time. The live counters are modelled: a cited annual total, spread evenly over the year and grown at the forecast rate. The human/bot split comes from the latest daily Cloudflare Radar reading (last 24 hours). Every widget shows when its data was last updated.
The forecast ("weather forecast")
Five models, 4,000 simulations each, equal weights. The shaded bands are the middle 50% and 90% of outcomes. Once daily Radar data has two weeks of history, the starting point moves with it.
| Model | Median machine share of requests, 2031 | Chance human < 0.1% |
|---|---|---|
| M1 Logit trend: bot share keeps its 2017-2025 trend (OLS on logit), +/- fit error | 64% | 0.00% |
| M2 Exponential volumes: machine requests +25%/yr (+/-8), human requests +10%/yr (+/-3) | 74% | 0.00% |
| M3 Agent S-curve: personal AI agents add requests per human, logistic adoption, capped (median 20x, wide) | 90% | 0.18% |
| M4 Saturation/defence: bot blocking, pay-per-crawl and dedup flatten the share (slope ~0) | 53% | 0.00% |
| M5 AI-agent explosion: AI requests grow ~3x/yr (1.1-8x) from 2025's ~4%, growth decaying (half-life 1-4 yr) | 73% | 0.18% |
Caveats
- Imperva and Cloudflare see their own customers' sites, not the whole internet. Neither sees private networks, streaming CDNs or IoT backhaul.
- The jump between 2016 and 2017 is a change of method (Incapsula sample to Imperva Bad Bot Report), not a real collapse.
- Before 1990 volumes, and before 2012 bot shares, are order-of-magnitude models. No measurements exist. They are drawn dashed.
- 1990–2000 volumes are US backbone traffic (Odlyzko), used as a proxy for the world. Cisco's figures include managed IP video.
- Machine share of bytes is modelled (M2M ≈3–6% of IP traffic per Cisco, plus crawler bytes).
- Licence: Cloudflare Radar data is CC BY-NC 4.0, attributed to Cloudflare Radar (radar.cloudflare.com). This site is non-commercial and must stay so, unless Cloudflare gives permission.
- Figures marked ⚠ below were taken from the publisher's headline and could not be re-read on 2 Nov 2026. We will re-check them.
Sources
Every data point names one of these. Full table: history.csv (columns kind, confidence, source_id, source_url).
| ID | Source | URL | Status |
|---|---|---|---|
odlyzko2001 | Coffman & Odlyzko, 'Internet growth: Is there a Moore's Law for data traffic?' (preliminary, 6 Jul 2001), Table 1.1 Traffic on Internet backbones in U.S. AT&T Labs / Univ. of Minnesota (MINTS) | link | ✔ checked 2 Nov 2026 |
cisco_vni_wiki | Wikipedia 'Internet traffic' table of global IP traffic citing Cisco Visual Networking Index (2009, 2016, 2017) Wikipedia / Cisco VNI | link | ✔ checked 2 Nov 2026 |
cisco_vni_m2m | Cisco VNI Forecast and Trends 2017-2022 white paper (M2M ~3% of IP traffic 2017, ~6% 2022 forecast) Cisco | link | ✔ checked 6 Nov 2026 |
itu_ff24 | ITU Facts and Figures 2024: Internet traffic (fixed 5.1 ZB 2023 -> ~6 ZB 2024; mobile ~1 ZB 2023 -> ~1.3 ZB 2024) ITU | link | ✔ checked 2 Nov 2026 |
ericsson_traffic_2026 | Ericsson Mobility Report (June 2026): mobile data traffic 146 EB/month end-2025; 328 EB/month 2031 Ericsson | link | ✔ checked 2 Nov 2026 |
ericsson_iot_2026 | Ericsson Mobility Report (June 2026): cellular IoT 4.5 bn end-2025 -> 7.8 bn 2031; total IoT 22.3 bn -> 47.1 bn Ericsson | link | ✔ checked 2 Nov 2026 |
cf_yir_2023 | Cloudflare Radar 2023 Year in Review: global internet traffic grew 25% Cloudflare | link | ✔ checked 2 Nov 2026 |
cf_yir_2024 | Cloudflare Radar 2024 Year in Review: global internet traffic grew 17.2% Cloudflare | link | ✔ checked 2 Nov 2026 |
cf_yir_2025 | Cloudflare Radar 2025 Year in Review: traffic +19%; AI bots avg 4.2% of HTML requests; 2 Dec snapshot humans 47% / non-AI bots 44% of HTML requests; AI 'user action' crawling >15x; Cloudflare handles >81 million HTTP requests/s on average (>129M peak) Cloudflare | link | ✔ checked 2 Nov 2026 |
imperva_2026 | 2026 Thales Bad Bot Report (data year 2025): 47% of internet traffic human, so 53% automated Thales / Imperva | link | ✔ checked 7 Nov 2026 |
imperva_2025 | 2025 Imperva Bad Bot Report (data year 2024): automated 51% of all web traffic; bad bots 37% Thales / Imperva | link | ✔ checked 2 Nov 2026 |
imperva_2024 | 2024 Imperva Bad Bot Report (data year 2023): 'almost 50%' non-human (headline 49.6%) Imperva | link | ✔ checked 2 Nov 2026 |
imperva_badbot_hist | Distil Networks / Imperva Bad Bot Reports 2018-2023 (data years 2017-2022): bad+good bot share 42.2, 37.9, 37.2, 40.8, 42.3, 47.4% Distil Networks / Imperva | link | ✔ checked 6 Nov 2026 |
incapsula_bot_traffic | Incapsula/Imperva Bot Traffic Reports 2012-2016: bots 51, 61.5, 56, 48.5, 51.8% of website traffic Incapsula / Imperva | link | ✔ checked 6 Nov 2026 |
cf_radar_api | Cloudflare Radar API /radar/http/summary/bot_class (daily human vs bot share of HTTP requests) Cloudflare | link | ✔ checked 2 Nov 2026 |
hvm_model | Human vs Machine model (this project): back-casts, interpolations, request counts and the byte-share model; method on the Methods page Ulrich Frerk (Human vs Machine model) | link | our own model, labelled modelled |
httparchive_2024 | HTTP Archive Web Almanac 2024, Page Weight: median desktop page 2,652 KB / 71 requests, mobile 2,311 KB / 66 (Oct 2024); desktop 1,208 KB in Oct 2014 HTTP Archive | link | ✔ checked 2 Nov 2026 |
cf_api_2024 | Cloudflare 2024 API Security Report: 'well over half' of dynamic traffic is API traffic Cloudflare | link | ✔ checked 2 Nov 2026 |
openai_devday_2025 | OpenAI DevDay (6 Oct 2025) via TechCrunch: >800M weekly ChatGPT users; >6 billion API tokens per minute; 4M developers TechCrunch (quoting OpenAI) | link | ✔ checked 2 Nov 2026 |
google_tokens_2025 | Alphabet Q3 2025 CEO remarks: >1.3 quadrillion monthly tokens across surfaces (980 trillion in July 2025; >20x in a year); 7 billion tokens/min via direct API Google / Alphabet | link | ✔ checked 2 Nov 2026 |
cf_signed_agents | Cloudflare 'signed agents' (Web Bot Auth) classification for AI agents acting for users; Radar YIR 2025: AI 'user action' crawling >15x in 2025 Cloudflare | link | ✔ checked 2 Nov 2026 |
mcp_registry | Official Model Context Protocol server registry (API /v0/servers), entries counted by this project Model Context Protocol | link | ✔ checked 2 Nov 2026 |
github_topics | GitHub repository search counts for topics mcp-server and a2a (unauthenticated public API) GitHub | link | ✔ checked 2 Nov 2026 |
wikimedia_pageviews | Wikimedia REST API pageviews, all projects: agent=user / spider / automated (daily, monthly since Jul 2015; 'automated' since Apr 2020) Wikimedia Foundation | link | ✔ checked 2 Nov 2026 |
ixp_inex | INEX (Dublin) public IXP Manager grapher: aggregate peering traffic, rolling 24 h average + peak INEX | link | ✔ checked 2 Nov 2026 |
ixp_lonap | LONAP (London) public IXP Manager grapher: aggregate peering traffic, rolling 24 h LONAP | link | ✔ checked 2 Nov 2026 |
ixp_napafrica | NAPAfrica (Johannesburg / Cape Town / Durban) public IXP Manager grapher, rolling 24 h NAPAfrica (Teraco) | link | ✔ checked 2 Nov 2026 |
amsix_weekly | AMS-IX public weekly total traffic volume export (PB per day, last 52 weeks) AMS-IX | link | ✔ checked 2 Nov 2026 |
southern_cross_next | Southern Cross NEXT cable: design capacity >100 Tbps (4 fibre pairs, >22 Tbps each), ready for service July 2022. Capacity, NOT traffic Southern Cross Cables | link | ✔ checked 2 Nov 2026 |
worldbank_itu | World Bank API (ITU World Telecommunication/ICT Indicators): fixed broadband subscriptions per 100 people (IT.NET.BBND.P2); mobile cellular subscriptions per 100 (IT.CEL.SETS.P2) World Bank / ITU | link | ✔ checked 2 Nov 2026 |
oecd_broadband | OECD Broadband Portal database (SDMX): fixed broadband subscriptions by technology, % of fixed (fibre, DSL, cable, FWA, satellite) OECD | link | ✔ checked 2 Nov 2026 |
starlink_commons_map | Wikimedia Commons 'Starlink availability map by country.svg' (used by Wikipedia's Starlink article): active / active without approval / approved, pending / not covered Wikimedia Commons contributors | link | ✔ checked 2 Nov 2026 |
cf_radar_starlink | Cloudflare Radar NetFlows: AS14593 (SpaceX/Starlink) share of each country's traffic, 7 days; first mid-year seen (history from 2023) Cloudflare Radar | link | ✔ checked 2 Nov 2026 |
natural_earth | Natural Earth 1:110m admin-0 countries (map outlines), Equal Earth projection Natural Earth | link | ✔ checked 2 Nov 2026 |