How we measure AI activity
How we count AI attention on PeerPush, the exact claims we allow ourselves to make, what we hide, and when we decide there is enough data to publish a number.
What counts as an “AI read”
We classify every request hitting PeerPush by user-agent and entry point. An “AI read” is any fetch of a PeerPush listing by an AI system, whether it loads the product page directly or receives the product inside a feed, list, or API response. It combines three categories:
- AI crawlers: training crawlers operated by model providers (e.g., GPTBot, ClaudeBot, PerplexityBot, Google-Extended).
- AI agents: browsing on behalf of a user via a chat assistant (e.g., ChatGPT-User, Claude-User).
- MCP clients: explicit tool calls into PeerPush's Model Context Protocol endpoint.
Search-engine crawlers (Googlebot, Bingbot) and analytics bots (Ahrefs, Semrush) are excluded; they are categorized separately and not part of the “AI” share.
The verb ladder: what we claim and what we never claim
Every published stat uses one of four verbs, each backed by a specific observable event:
- Read: an AI crawler, AI agent, or MCP client fetched the listing on PeerPush.
- Served: PeerPush delivered a product's data to an AI engine, through a feed, the API, or a direct page read.
- Indexed: a search-index crawler operated by an AI product fetched the listing repeatedly over time.
- Served live: the listing was fetched during a live, user-triggered AI conversation or tool call.
- Arrived from: a human visitor landed on the listing with an AI chat product as the referrer.
We never say a product was “cited” or “recommended” by an AI assistant. What a model says inside a private conversation is not observable from our side, and we do not publish claims we cannot verify from our own logs. Every claim is scoped to activity on PeerPush.
Where the numbers come from
All counts come from PeerPush's own first-party server logs: requests served by our infrastructure, classified at ingestion time. There are no third-party estimates, no panel extrapolation, and no sampling. If a number is shown, the underlying requests happened on our servers.
Honesty floors
Every stat has a minimum threshold below which it is hidden entirely. A per-product signal only appears once its volume, day-coverage, or cohort size clears the floor for that specific stat; category rankings additionally require a healthy cohort with broad AI coverage before any percentile is published. Below a floor we show nothing, not a zero, so small numbers are never dressed up as signal.
Positive-only policy
Public product pages only ever show stats a product has earned. There are no public shame metrics: no “not read by X” lists, no below-average badges, no absent-engine callouts. When a product has not cleared a floor, the section simply does not render.
Anti-abuse
Published stats are designed to be hard to inflate. Counts prefer distinct-day shapes over raw request volume, so replaying the same fetch thousands of times in one day does not move the number. When a product's recent AI activity spikes far beyond its own trailing baseline, its published stats are frozen at the previous values until the pattern normalizes and the anomaly is reviewed.
Platform totals, hub shape, and segment counts
Platform-wide totals are shown as real numbers: how many times AI systems read product data, how many upvotes builders have cast, how many countries see genuine human discovery.
The Signals hub lens pages publish shaperather than raw counts - share %, ordinal rank, relative bars, and change vs the prior window - which keeps the catalog's exact size off the public surface while still showing where attention is moving. Hub headline numbers appear only after a window has accumulated at least 50 distinct visitors; below that floor the page shows a “Calibrating” placeholder.
The per-segment discovery strips (below) do publish real segment-level counts, each gated by an eligibility floor so thin numbers are hidden rather than shown at zero. Human page-view figures are the one exception: they are rounded to two significant figures, so exact traffic can be cited without being reconstructed. A platform-wide total is never mixed into a segment strip.
K-anonymity floor
Public Signals surfaces never expose a named subject (a specific product, agent, category, or country) backed by fewer than 5 distinct visitors. Below the floor, the row is suppressed.
Privacy and redaction
- IP addresses are never stored. Only a salted hash is retained.
- Query strings, search terms, and prompt text pass through a PII redactor before publication. The redactor strips email addresses, phone numbers, OAuth-token shapes, and credit-card-shaped digit sequences.
- Anonymous-visitor identifiers rotate daily, so the same anonymous browser is intentionally unlinkable across UTC days.
How fresh is the data
Aggregations refresh on rolling schedules: short windows update every few minutes, longer windows on slower schedules. The “Data fresh as of…” timestamp on each Signals page reflects the slowest aggregation still feeding that page.
How each panel is computed
Most-watched categories
Each category's engagement combines product-page views, external-website clicks, alternative-page outbound clicks, and MCP citation impressions across its products over the last 7 days. Categories are ranked by total attention, biggest first, with a minimum-volume floor; the growth chip marks genuine week-over-week increases where a comparable prior window exists.
AI Surface Area (owner dashboard)
On private owner dashboards, AI Surface Area decomposes into four streams: AI crawlers indexing the product, traffic landing from AI chat assistants, programmatic API consumers, and MCP tool calls. Click-through events to external sites are deliberately excluded so the metric reflects discovery exposure, not downstream funnel behavior. Tiles are unweighted: the total is the simple sum of the four streams.
Hidden gems
Products with strong AI signal but low human visibility yet, in the last 30 days. Human visibility is a composite of upvotes, follows, and average rating. The thresholds re-calibrate as the catalog grows; the panel stays empty until the candidate pool is large enough to make percentile cuts meaningful.
Alternative lens (Switcher pressure)
On the per-alternative lens page, switcher pressure is the share of alt-page visitors who click through to a PeerPush challenger product. The page shows the top 3 challengers only; the full graph and verbatim queries are visible only on the verified owner's private dashboard.
Unmet demand
Three complementary signals over the last 30 days. PeerPush search is hybrid (pgvector cosine similarity combined with full-text search via reciprocal rank fusion). Even when the catalog has nothing genuinely close, hybrid search returns weakly-related neighbors - so a zero-result count is rare and not a useful signal. We capture three different angles instead.
- Weak match: queries where the top result's semantic cosine similarity is below 0.55 (configurable). Suggests the catalog has nothing genuinely close. Captured at insert time from the hybrid search path; the simpler full-text fallback path is excluded.
- Low CTR: queries with at least 50 impressions where the click-through rate is below 5%. Either the ranking is wrong, the taglines mislead, or the right product doesn't exist.
- Re-search: queries followed by a different query from the same anonymous visitor within 60 seconds. Strong behavioural “I didn't find it” signal. Within-day actor stability only - cross-day re-search is intentionally invisible.
Every tab applies the k-anonymity floor of 5 distinct visitors before a query surfaces, and every query string passes through the PII redactor.
AI citation freshness (owner dashboard)
On private owner dashboards, we track when each of the tracked AI agent buckets (Claude, ChatGPT, Perplexity, Gemini, Copilot) last cited the product. Severity bands: fresh under 14 days, aging 14-30 days, stale beyond 30 days, never cited otherwise. Buckets the product has not been cited by are surfaced explicitly so the gap is visible. “Cited” means at least one MCP result impression for the product attributed to an agent in the bucket.
AI coverage gap
For each of the top 30 categories (by total events in the last 30 days) and each tracked AI agent bucket (Claude, ChatGPT, Perplexity, Gemini, Copilot), we compute the share of approved + published Products in the category that have been cited at least once by that agent in the last 30 days. Categories with fewer than 10 approved products are excluded so single-product percentages don't skew the matrix. The panel is suppressed until total MCP citation volume crosses the privacy floor.
Discovery signals strips
Category, use case, audience, and the “best”, “top rated”, and pricing pages each show a compact strip of up to three facts about that segment, and product pages show the same kind of strip about a single listing. The mix is chosen for the page: base segment pages lead with AI attention next to community activity, “best” pages show human reach and builder momentum, “top rated” pages show the reviewer story, and pricing pages show how the segment is priced.
Below an eligibility floor a fact is hidden entirely rather than shown at zero, the strip stops rendering once fewer than two facts clear their floors, and no more than three are ever shown. Every fact uses the Signals verb ladder and never says a product was cited or recommended by an AI assistant; on segment pages nothing names or ranks an individual product. Each stat links to its exact definition in the glossary below.
What each signal means
Every stat in a Discovery signals strip carries a small “i” that links to its definition below. These are the exact meanings, grouped by what they measure.
AI discovery
How much, how often, and by whom AI systems read a listing.
- AI serves
- Times PeerPush delivered product data to AI engines - through the AI feed, the API, or direct page reads - over the window.
- Live AI fetches
- Reads that happened live while an AI assistant was answering a real user question, not routine background crawling.
- Live today
- Whether AI engines have already read products in this segment today. A liveness check, not a count.
- Time to first AI read
- The median time a newly listed product waits before an AI engine reads it for the first time.
- Category standing
- Where this product ranks by AI reads against every other product listed in its category.
- Engines reading
- How many times AI crawlers read this listing, and which engines those crawlers belong to.
- Read streak
- Consecutive days, counting back from today, that AI has read this listing every single day.
- Repeat visits
- How many of the last 30 days a single AI engine came back to re-read this listing.
- Read consistency
- How many of the last 30 days this listing was read by any AI at all.
- Last AI read
- How long ago an AI crawler last read this listing.
- MCP citations
- How often AI tools pulled this listing through MCP, and its typical position in those results.
- Search index
- Times a search engine AI indexer, such as OAI-SearchBot, crawled this listing.
- API & MCP pulls
- Reads served to AI apps and integrations through the PeerPush API and MCP, rather than web crawls.
- Visitors via AI
- People who reached this listing by clicking through from an AI assistant conversation.
Community
What builders and reviewers did around a product or segment.
- Community pulse
- Upvotes and new reviews builders logged across this segment over the window.
- New reviews
- New community reviews left across this segment over the window.
- Discussion
- New comments posted across this segment over the window.
- New followers
- People who followed a product in this segment over the window.
- Updates shipped
- Product updates builders shipped in public across this segment over the window.
- Time to first upvote
- The median time a newly listed product waits before its first community upvote.
- Distinct reviewers
- How many different people left a rating across this segment over the window.
- Repeat reviewers
- How many people rated more than one product across this segment - a depth-of-trust signal.
- Written reviews
- The share of ratings that came with a written review, not just a score.
- Review cadence
- How many of the last 30 days saw at least one new rating land across this segment.
- Community award
- A Product of the Day, Week, or Month award this product won from the community.
Human reach
Human traffic, deliberately rounded so exact numbers stay private.
- Human reads
- Human page views across this segment product pages, rounded to two significant figures so exact traffic stays private.
Catalog & pricing
Facts drawn from how products are listed and priced.
- Live deals
- Deals currently active across this segment, and the median discount they cut off list price.
- API & MCP fit
- The share of tools here that expose an API or MCP server, so AI agents can call them directly.
- Typical price
- The median starting price of paid plans across this segment - never a mean.
- Pricing mix
- How this segment tools split across pricing models: free, freemium, subscription, one-time, and paid.
- AI-ready
- Whether this product carries the structured data - use cases, audiences, platforms - that lets AI match it to the right questions.
- Discoverable now
- Whether this product is queryable through the PeerPush API and MCP right now.
- Just launched
- How recently this product was listed on PeerPush.
Methodology v4, last updated July 2026.