Back to Signals

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.