How BotLens measures its numbers

The rule behind this page: every public number on botlens.app is computed from our database at request time, or it does not appear. Nothing on the marketing site is a typed-in claim, and each headline metric links here.

The audit time statistic

Every audit stores two timestamps: when processing actually starts (not when you clicked, so queue wait does not flatter the number) and when it completes successfully. Failed audits never enter the statistic. The duration is derived inside the database from those two timestamps, so application code cannot write an inconsistent value. The published figure is the median over the trailing thirty days, precomputed every five minutes; the p90 is computed alongside it. When fewer than thirty audits completed in the window, we show the honest count instead of a median from thin data.

What a prompt set is

A prompt set is a fixed list of questions a real buyer would ask an AI assistant, for example asking for recommended providers in a niche. We send each prompt to the engines, store the full answers, and extract which firms were named. Visibility is then a share: how often, and how prominently, a firm appears across the stored answers. Tracked prompts run weekly; the public Index runs only when we start it manually, and a category needs at least 48 stored responses before we treat it as live.

Which engines we query

Share of Answer queries ChatGPT (with web search), Google Gemini (with search grounding), Claude, and Perplexity. The Prompt Tracker currently queries Claude only, and says so in the product. The engine count shown in our live numbers below is counted from stored responses, not asserted.

How the audit score is computed

The TRIAD score rates a site's Discoverability, Content and Authority from automated checks (crawler access, schema markup, llms.txt, content structure, entity signals) and averages the three pillars. The full check list, including the checks that are documented but not yet automated, is on the methodology page.

What confidence labels mean

Every audit stores a coverage label next to its score: how many checks ran and any caveats, for example when a site relies heavily on client-side rendering and a heuristic estimated instead of fully rendering. A score never hides what it could not measure.

Current sample size

These are the live numbers this site is allowed to show, straight from the same endpoint the homepage uses. If the endpoint is down, this section is empty; we do not keep a fallback copy.

What we do not measure

Methodology versions: audit triad-2026.06, Share of Answer soa-2026.07. When the method changes, the version changes, and stored results keep the version they were produced with.