Methodology
How we measure the Dead — AI-generated content and bot activity across the web.
Overview
The Dead Internet Monitor tracks two distinct phenomena: the creation of AI-generated content (“AI Slop”) and the consumption of content by automated accounts (“AI Slurp”). We sample content from major platforms, classify it using large language models, and analyse author behaviour for bot-like patterns.
Our goal is not perfect accuracy — which remains elusive even for specialised detectors — but consistent, transparent measurement of trends over time.
+-----------------------+
| COLLECTION | 9 sources, staggered
+-----------+-----------+
|
+-----+-----+
v v
+----------+ +----------+
| CLASSIFY | |BOT DETECT| parallel
| (LLM) | |(7-signal)|
+----+-----+ +----+-----+
| |
+------+-----+
v
+-----------------------+
| AGGREGATION | Autopsy Matrix + DII
+-----------+-----------+
v
+-----------------------+
| DASHBOARD | deadinternetmonitor.com
+-----------------------+Data Collection
Content is collected from seven sources on staggered schedules. The headline metric — the Dead quadrant percentage — is volume-weighted: each classified item counts once regardless of source. Collection volumes are not calibrated to real-world traffic share; a future improvement would weight sources by their actual share of internet traffic.
| Source | Type | Schedule | ~Items/run |
|---|---|---|---|
| Social | Daily | ~1,500 | |
| HackerNews | Tech forum | Daily | ~1,200 |
| YouTube | Comments | 3×/week | ~1,200 |
| Mastodon | Fediverse | Daily | ~200 |
| Bluesky | Social | 3×/week | ~200 |
| Stack Overflow | Q&A | Weekly | ~350 |
| Lobsters | Tech forum | Weekly | ~1,000 |
| The Guardian | News comments | Weekly | ~800 |
| Steam | Game reviews | Weekly | ~1,000 |
Reddit uses public RSS feeds (comments only, no API credentials required). The Guardian collects reader comments from articles across five editorial sections (Opinion, Politics, Technology, Science, World) via the public Discussion API. Steam collects user reviews for the top 50 games by popularity via the public App Reviews API — filtered to English, most-recent first, with review-bomb detection retained in the sample. Mastodon and Lobsters serve as control groups — decentralised or invite-only platforms with lower bot incentive.
Classification
Each item is classified by a large language model using a structured prompt (v3.0) that applies Bayesian calibration with platform-specific base rates derived from Ahrefs and Originality.ai research. This counters the documented tendency of LLM classifiers to default to “human” ( RAID 2024 found 10–15% false negative rates).
Models
| Role | Model | Provider |
|---|---|---|
| Primary | Gemini 2.5 Flash Lite | |
| Fallback | Claude Haiku 4.5 | Anthropic |
Fallback triggers when primary confidence is below 0.5.
AI Indicators
The classifier looks for research-validated signals of AI generation:
- Overly balanced, hedging language (“It's worth noting”, “to be fair”)
- Formulaic structure and template phrases (“Let's dive in”, “In the realm of”)
- Comprehensive but shallow coverage of topics
- Synthetic empathy (“Great question!” without substance)
- Absence of personality, humour, or strong opinions
- Safety disclaimers on simple topics
Human Indicators
- Personal anecdotes and specific lived experiences
- Typos, slang, mid-thought corrections
- Strong opinions without both-sides framing
- Niche expertise with personal perspective
- Genuine emotional expression — frustration, sarcasm, humour
- Natural digressions and terse replies
Output
Each classification returns: a label (ai_generated, human_created, or uncertain), a confidence score (0.0–1.0), specific indicators observed, and a brief reasoning explanation.
Post-Processing
After the LLM returns its classification, a post-processing step corrects for the documented human-default bias. Items classified as “human” but carrying multiple AI indicators are reclassified as uncertain or AI-generated. Short content (<100 characters) is capped at 0.60 confidence.
+--------------+
| Content Item |
+------+-------+
v
+--------------+ confidence
|Primary Model |---- >= 0.5 --> RESULT
| Gemini Flash |
+------+-------+
| < 0.5
v
+--------------+
|Fallback Model|---- >= 0.5 --> RESULT
| Claude Haiku |
+------+-------+
| < 0.5
v
"uncertain"
|
v
+--------------+
|Post-Process | correct false negatives
| Recalibrate | using signal evidence
+------+-------+
v
FINAL LABEL
ai / human / uncertainBot Detection
Separate from content classification, we analyse author behaviour using a 7-signal weighted scoring system grounded in peer-reviewed research. Authors with 2+ collected items receive a bot score.
| Signal | Weight | Research |
|---|---|---|
| Posting frequency — posts per hour | 0.20 | Gilani et al. 2017 |
| AI content ratio — % of posts classified as AI | 0.20 | Novel signal |
| Content diversity — topic/subreddit entropy | 0.15 | Oentaryo et al. 2016 |
| Timing entropy — Shannon entropy of posting hours | 0.15 | Chu et al. 2012 |
| Response latency — median seconds between posts | 0.10 | Ferrara et al. 2016 |
| Karma velocity — karma gained per day | 0.10 | Multiple studies |
| Account age ratio — age vs activity volume | 0.10 | Cresci et al. 2015 |
Scores above 0.7 are flagged as likely bots. Between 0.4–0.7 is suspicious. Below 0.4 is likely human.
The Autopsy
What type of Dead is the Internet?
The Autopsy Matrix crosses content origin with audience type. The content axis comes from our AI classification. The audience axis uses the global bot consumption rate — the proportion of web traffic that is automated.
| Human Audience | AI Slurp | |
|---|---|---|
| Human Content | Alive | Zombified |
| AI Slop | Polluted | Dead |
AI Slop = AI-generated content · AI Slurp = bot consumption of content
- Alive — Human-written content reaching a human audience. The real internet.
- Zombified — Human-written content consumed by bots. Real voices talking to no one.
- Polluted — AI-generated content reaching human eyes. Slop you actually read.
- Dead — AI-generated content consumed by bots. Machines talking to machines.
The bot consumption rate (45%) is a cross-industry blend of four major bot traffic reports: Imperva 2025 (51%), Akamai 2025 (51%), Cloudflare Radar 2025 (~30%), and Barracuda 2023 (50%). This rate is applied uniformly across all sources as per-platform consumption data is not publicly available.
Dead Internet Index (Supplementary)
The primary headline metric is the Dead quadrant percentage from the Autopsy Matrix above — it directly answers “what percentage of the internet is dead?” in plain language.
The DII is a supplementary composite score (0–100) retained for internal analysis and historical continuity. It combines four weighted components, though it has known limitations: the Slop×Slurp component is mathematically identical to the Dead quadrant (redundant), bot engagement data is structurally sparse across several sources, and low-confidence human measures classifier uncertainty rather than deadness. The DII does not currently answer a distinct research question from the Autopsy.
| Component | Weight |
|---|---|
| AI content % — classified as AI-generated | 0.40 |
| Bot engagement % — engagement from bot-flagged authors | 0.25 |
| Slop×Slurp % — AI content from bot authors (the “dead” quadrant) | 0.20 |
| Low-confidence human % — “human” classifications below 0.7 confidence | 0.15 |
When consumption data is available (Cloudflare Radar, robots.txt monitoring), a fifth component (0.20 weight) is added and the other weights adjust downward.
Open Data
DIM's aggregate measurements and per-item classifications are machine-readable. Researchers, journalists, and other monitors can download the data directly — no scraping, no API key, no registration. Use it.
Daily aggregate (recommended)
One row per day, with the headline AI rate, 30-day rolling averages, ex-AutoModerator + ex-orgsync breakdowns, Autopsy quadrant counts, and bot engagement — the same numbers that drive the dashboard. Pass?source=all for per-source rows, a specific source name (reddit, hackernews, etc.) for one source, or omit for the combined series.
/api/export/aggregate— CSV of the combined daily series/api/export/aggregate?source=all— CSV with one row per source per day/api/export/aggregate?format=json— same data as JSON
Optional filters: start_date=YYYY-MM-DD, end_date=YYYY-MM-DD, source=<name>.
Per-item content (sample)
Up to 10,000 individual classified items at a time. Useful for replication, methodology review, or sub-population analysis. Each row is one collected post or comment with its classification, confidence, and bot score.
/api/export— CSV of recent classified content/api/export?format=json— same data as JSON
Optional filters: source=<name>, classification=ai_generated|human_created|uncertain, min_confidence=0.0–1.0, content_class=<tag> (include only items with the named tag — e.g. automated_moderation, organizational_syndication), exclude_content_class=<tag> (exclude items with the named tag — mirrors the headline ai_percentage_ex_automod / ai_percentage_ex_orgsync breakdowns at the per-item level), start_date, end_date.
Other machine-readable surfaces
/rss.xml— RSS feed of published Key Findings/api/stats— the live dashboard JSON (combined daily series + summary)/api/stats/sources— latest per-source AI rate/api/stats/communities— per-community DII and AI rate
Licensing
DIM's data and metadata are published under Creative Commons Attribution 4.0 International (CC BY 4.0). You can copy, redistribute, remix, and build on it for any purpose — including commercially — provided you give credit and link to the licence.
Suggested attribution:
Source: Dead Internet Monitor — deadinternetmonitor.com (CC BY 4.0)
Scope. CC BY 4.0 covers material authored by DIM — aggregate statistics, AI / human / uncertain classifications, classification confidence, bot scores, the Autopsy quadrant counts, the Key Findings collection, the RSS feed, the methodology, and DIM's commentary. It does not extend to original source-content text in the per-item exports (post titles, post bodies, comment bodies, author handles, source URLs collected from Reddit, Hacker News, Mastodon, Bluesky, YouTube, StackOverflow, Lobsters, Steam, and The Guardian); that text remains under the copyright of its original author and the originating platform's terms. Reusers of per-item exports must continue to honour those platforms' terms when redistributing source-content text. DIM's classifications, confidences, and bot scores attached to those items are CC BY 4.0.
Full licence text: creativecommons.org/licenses/by/4.0/legalcode. Repo: LICENSE-DATA. If you publish something based on this data, we'd like to see it: hello@deadinternetmonitor.com.
Updates — Newsletter
Methodology revisions, new sources, and notable findings are announced in the DIM newsletter — ad hoc, no more than once a month, no advertising. Subscribers are stored on Buttondown; email addresses are not used for any purpose other than sending these dispatches and are never sold or shared. See the privacy policy for full detail.
Limitations
- Classification is imperfect. Skilled writers can produce polished text that resembles AI output, and AI can mimic human writing. We target consistency over perfection.
- Sampling bias. We monitor a limited set of platforms. Findings may not generalise to the entire internet. We will continue to increase the number of sources and samples.
- Short content is harder. Posts under 100 characters are capped at 0.60 confidence.
- Temporal drift. As AI-generated content evolves, detection patterns must be updated. We version our prompts and models to track changes.
- Engagement data varies. Some sources (e.g. Reddit via RSS) do not provide vote scores, so bot engagement metrics are unavailable for those platforms. The bot engagement average only includes sources where engagement data exists.
- Text only. Currently, the monitor only measures text-based content. Future iterations will be multimodal.
Metadata
Classification Audit Trail
Each classification record stores:
- Model provider and model name
- Prompt version
- Token counts (input / output)
- Estimated cost (USD)
- Latency (ms)
Content Tags
The content_class field tags items by type without changing how they are classified. Tags are applied at collection time and enable breakdown views alongside the headline metrics.
| Tag | Applies to | Headline effect | Breakdown field |
|---|---|---|---|
automated_moderation | Platform moderation bots posting templated system messages — Reddit u/AutoModerator and per-subreddit *-ModTeam accounts (e.g. askscience-ModTeam, changemyview-ModTeam), and Guardian platform-moderation accounts CommunityMod and Community_Host | None — still counts as AI | ai_percentage_ex_automod |
organizational_syndication | Bluesky accounts using verified-domain handles (Forbes, the Guardian, NBC News, Politico, …) auto-syndicating article headlines via CMS | None — still counts as AI | ai_percentage_ex_orgsync |
New tags are added autonomously as the dataset grows. A content type qualifies for tagging when it meets all four criteria:
- Non-organic. The content is generated by a bot, platform system, or automated process — not by a human participant in the conversation.
- Deterministic. Membership is objective and rule-based (e.g. author name, system flag), not a judgement call.
- Material. The content type accounts for 10%+ of collected items in at least one source, observed across 3+ collection days.
- Additive only. Tagging must not change headline metrics. It adds a breakdown view, never removes data.
Discovery is automated: a weekly audit samples content from each source and uses an LLM to identify recurring non-organic patterns (bots, system messages, templated content). Candidates are then validated against the materiality threshold before being implemented.
Revision History
The monitor evolves as we add sources, refine methodology, and respond to platform changes. Each revision is backfilled — we re-aggregate all historical data under the current methodology so the full timeline is consistent.
| Rev | Date | Changes |
|---|---|---|
| 09 | 2026-05-27 | Community Explorer now exposes Ex-automod and Ex-orgsync view-toggles alongside the headline AI rate, matching the per-source toggle on the AI Content by Source chart (Rev 05, Rev 06, Rev 07). Each toggle swaps the displayed 30-day per-community AI rate to the corresponding breakdown column (ai_percentage_ex_automod_30d / ai_percentage_ex_orgsync_30d), computed by the aggregation service from the per-(source, section) tag counts. Communities without tagged content show the headline value unchanged. The expanded per-community panel additionally shows both breakdown values when present. Example: r/askscience reads 45.1% headline → 34.7% Ex-automod (10.4pp drop, driven by 169 u/AutoModerator / askscience-ModTeam items over the 30-day window); Bluesky discover reads 14.3% headline → 7.4% Ex-orgsync. Headline AI rate unchanged at every level of granularity. |
| 08 | 2026-05-26 | Community Explorer’s per-community AI rate now uses the same volume-weighted 30-day rolling formula as the headline (Rev 04), rather than the arithmetic mean of per-day rates across an arbitrary window. The new ai_percentage_30d column on every (source, section) row in daily_stats is populated by the aggregation service and surfaced on the /data Community Explorer. The two formulas can diverge meaningfully on low-volume days — e.g. r/changemyview’s arithmetic-mean across 5/19–5/25 was ~25%, the volume-weighted 30d is 32.65%, a 7-point difference driven by larger-volume days carrying higher AI shares. The per-community number now matches the headline at every level of granularity. Headline AI rate unchanged. |
| 07 | 2026-05-18 | Extended the automated_moderation content_class tag to cover Reddit per-subreddit *-ModTeam accounts (e.g. askscience-ModTeam, changemyview-ModTeam, explainlikeimfive-ModTeam) and Guardian platform-moderation accounts CommunityMod and Community_Host. These accounts post automated rejection / comment-closure / pre-moderation notices that are structurally identical to Rev 05’s u/AutoModerator pattern — bot-posted system messages the classifier correctly flags as machine-emitted, but which inflate per-subreddit and per-source AI rates without separation. Surfaced by the Monday content-type audit (2026-05-18). 268 historical Reddit ModTeam rows and 31 Guardian moderation rows backfilled. Headline AI rate unchanged; the existing ai_percentage_ex_automod breakdown now reflects these additional moderation patterns alongside AutoModerator. |
| 06 | 2026-05-16 | Added the organizational_syndication content_class tag for Bluesky news-org auto-syndication. Verified-domain handles (e.g. forbes.com, theguardian.com) run ~36% AI-classified over 30 days versus ~8% for personal .bsky.social handles — a 4.3× delta from CMS-templated article headlines that the classifier correctly flags as machine-emitted. The tag enables an ai_percentage_ex_orgsync breakdown alongside the headline so the inflation can be reported without hiding the bot-posted content from the headline rate. Same shape as the Rev 05 AutoModerator pattern, applied to a different platform. 940 historical Bluesky rows backfilled. Headline AI rate unchanged. |
| 05 | 2026-04-15 | Added The Guardian (8th source, 2026-04-14) and Steam (9th source, 2026-04-15) in a single source-expansion wave. The Guardian collects reader comments across five editorial sections (Opinion, Politics, Technology, Science, World) via the public Discussion API — DIM's first news media comment source. Steam collects user reviews for the top 50 games via the public App Reviews API — DIM's first product reviews source, extending coverage into commerce and a known venue for coordinated review manipulation. Both run weekly. All prior data unaffected. |
| 04 | 2026-04-02 | Headline DII, AI rate, and autopsy quadrant percentages now computed as 30-day volume-weighted rolling averages. Each classified item in the window contributes proportionally to its day's volume, smoothing daily sampling noise (~1,500 items/day) into a statistically stable signal. Raw daily values preserved for per-day analysis. Methodology follows established index patterns (cf. CNN Fear & Greed 7-day SMA). All historical data back-calculated. |
| 03 | 2026-03-31 | Reverted to volume-weighted aggregation — each classified item counts once regardless of source. Fixed bot consumption rate to 45% (was being diluted by double-blending Cloudflare Radar data). Consumption collection paused (rate is a static cross-industry blend). All historical data re-aggregated. Note: the Mar 25 spike in the dead quadrant reflects Reddit's first large collection (high-AI knowledge subreddits), not a methodology artefact. |
| 02 | 2026-03-25 | Reddit live (15 subreddits via RSS, ~1,500 items/run). Autopsy matrix now uses bot consumption rate for audience axis instead of author bot scores. Rate corrected from 51% (Imperva-only) to 45% (cross-industry blend of Imperva, Akamai, Cloudflare Radar, and Barracuda). YouTube capped at 30 comments/video. All historical data re-aggregated under Rev 02 methodology. |
| 01 | 2026-03-04 | Initial release. 6 active sources (Reddit paused — no API credentials). Classification via Gemini 2.5 Flash Lite with Claude Haiku fallback. 7-signal bot detection. Volume-weighted DII. Author-based autopsy matrix. |
Benchmarks & References
How do our numbers compare to published research? This table maps DIM metrics against independent studies so you can judge for yourself.
| Metric | DIM | Published | Source |
|---|---|---|---|
| AI content rate (discussion posts) | ~11% | 15% | Originality.AI 2025 — 15% of Reddit posts AI-generated. Our lower figure reflects a multi-platform mix (not Reddit-only). |
| AI content rate (web pages) | — | 74% | Ahrefs Apr 2025 — 74% of new web pages contain some AI content, but only 2.5% are “pure AI.” We classify discussion content, not web pages — a structurally different signal. |
| Bot traffic share | 45% | 51% | Imperva 2025 Bad Bot Report — automated traffic exceeded human traffic for the first time (51%). Our 45% is a cross-industry blend including Cloudflare (~30%) which pulls the average down. |
| Bot traffic share | 45% | ~54% | Cloudflare Radar 2025 — non-AI bots generated ~50% of HTML page requests, plus 4.2% AI crawler traffic. |
| Bot traffic share | 45% | 51% | Akamai 2025 — corroborates Imperva's finding at ~51% automated traffic. |
| AI article share | — | ~40% | Graphite / Axios 2025 — AI-generated articles reached ~40% of new English-language articles by 2024. Measures published articles, not discussion content. |
Our AI rate (~11%) is conservative relative to web-page studies (40–74%) because we classify community discussion content — comments, posts, answers — where AI penetration is structurally lower than in published articles or SEO-driven pages. Our bot traffic blend (45%) sits slightly below the latest Imperva/Cloudflare figures (51–54%) and may be revised upward as source-level consumption data becomes available.
The trend matters more than any single number. We are watching the Dead.