Methodology
How we estimate reach.
The "Estimated potential reach" panel on /proof turns every successful delivery into a number you can compare to a traditional wire's "potential audience" line. This page documents every figure we use and where it came from.
The formula
channel_reach = (distinct releases delivered to channel in window)
× (channel's published weekly or monthly active users)
total_reach = Σ channel_reach across all channels in that bucket"Delivered" means a 2xx response from the channel's API (IndexNow, Google Indexing, Bing Submit, WebSub, Bluesky, Wayback, GitHub Releases) or a real fetch logged by an identified AI crawler in ai_crawler_hits. We never count failed or skipped attempts.
Reach is an upper bound on potential audience, not a measured impression count. A release admitted into ChatGPT's retrieval index can be served to any of ChatGPT's 800M weekly users — it is not guaranteed to be served to all of them. The Citation Monitor on the same page shows the actual, recorded pickups.
Two reach figures
The dashboard shows two reach numbers side by side:
- From ingestion. The formula above applied to every channel that crawled or accepted a release. Upper bound — proves admission, not pickup.
- From citations. The same formula, restricted to AI assistants that actually cited at least one of your releases in the window. We map the assistant that answered the prompt (ChatGPT, Perplexity, Gemini, Claude, Copilot) to its crawler's audience figure above. Engines without a sourceable audience (Kagi, Phind, You, Grok) are excluded from this number.
Citation reach weighting
The "Estimated AI answer reach" block on /proof weights every recorded answer by the engine's published WAU/MAU:
citation_reach = audience(engine) × 1.00 mention_reach = audience(engine) × 0.25 // softer signal, no link earned engine_reach = citation_reach + mention_reach
- Brand vs non-brand split. Same
classifyTierused by the weekly digest. Brand-prompt and non-brand numbers are shown side-by-side and never summed — they answer different questions. - Mentions = 25%. A "brand-mentioned" answer (engine wrote the brand name but didn't link a URL we control) is real exposure, but weaker than an earned citation. We discount it to 25% rather than count it equally or drop it entirely.
- Engines without an audience figure. Grok, Kagi, Phind, You, and Reddit appear in the engine breakdown so the counts stay honest, but contribute 0 to the reach total — we won't invent a number we can't source.
Likely impressions (Semrush-modeled)
"Reachable audience" above is an upper bound — every monthly-active user of the engine, multiplied by every citation. "Likely impressions (Semrush)" is a tighter, search-grounded estimate of how many people probably actually saw the answer that cited you:
likely_impressions(engine, prompt) =
monthly_search_volume(topic-seed match) // Semrush phrase_questions, cached 30 days
× engine_ai_share(engine) // engine's est. share of AI-assistant traffic
× persistence(engine, prompt) // citations / probes for that prompt+engine
× position_weight // 1.00 if cited, 0.25 if brand-mentionedEngine AI-share table (sums to ~1.0, updated quarterly):
- Why it's smaller. The upper bound credits every ChatGPT user (~800M weekly) for every citation. This number only credits users who actually asked the prompt, on the engine that cited you, weighted by how often we held that citation across repeat probes.
- Still a model. No vendor publishes per-answer impression counts. Search volume is a proxy for AI-query demand; engine-share is a public estimate. Treat this as a defensible floor, not a measurement.
- Engines without a share. Grok, Kagi, Phind, You, Reddit contribute 0 to likely impressions — same convention as reachable audience.
- Volume source. Semrush
phrase_questions+phrase_thisper topic seed keyword (e.g. "ai press release distribution"), cached 30 days. Each AI prompt is matched to the closest question variant by token overlap; unmatched prompts use the seed's volume × 10% as a long-tail proxy.
AI models & their crawlers
Search engines
Social networks
Permanent archives
What we don't count
- Webhook subscribers. Private fan-out feeds. Counted in deliveries but not in reach — we can't see the subscriber's downstream audience.
- Failed or skipped pings. IndexNow dedup, Bing not-authorized, expired tokens — all excluded.
- Archive view counts. Wayback and the GitHub mirror don't expose per-page views, so they appear as channels that ran but contribute zero to the reach totals.
We update the audience figures quarterly. If you spot one that's stale or wrong, tell us and we'll fix it.