> ## Documentation Index
> Fetch the complete documentation index at: https://docs.attensira.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How we collect data

> The full measurement methodology: which model surfaces are read, how often, how deeply we sample, and the significance test every delta has to pass.

Attensira sends your prompts to real model surfaces on a fixed daily cadence, records what comes back, and computes every rate over **runs** — one prompt, one model, one country, one point in time. This page documents that pipeline end to end, including where it is thin, so you can judge the numbers yourself.

## Which model surfaces do we read?

A **model** in Attensira is a model surface, addressed by a stable wire id called a channel: `chatgpt`, `perplexity`, `google_ai`, `claude`, `gemini`. The channel survives the provider swapping the underlying model beneath it, so your history stays continuous when a vendor ships a new version.

Four channels have API readers: `chatgpt`, `perplexity`, `claude` and `gemini`. Consumer-surface scraping covers `chatgpt`, `perplexity`, `google_ai` and `gemini`. **`google_ai` has no API reader** — it is read only through the consumer surface.

A new workspace tracks two channels by default: `chatgpt` and `perplexity`. You add the rest yourself in [Models](/tracking/models). A model you have not configured is never queried, and its metrics come back `tracked:false` rather than as a zero — see [Reading the numbers](/measure/reading-the-numbers).

<Note>
  An **agent model** is a different concept: it is the LLM your [chats](/agent/chats) run on. It has nothing to do with the model surfaces measured here.
</Note>

## How often does a prompt run?

An in-process ticker runs hourly and enqueues due work. That hourly tick is a scheduling heartbeat, not a measurement frequency. The rule that governs your data is the one below it:

**Each prompt × model × country combination runs at most once per workspace-local calendar day.**

Days are bounded by your workspace's local calendar, so a "day" means the same thing to you and to the data. Twenty prompts across two models in one country produce forty run-slots per day, no matter how many times the ticker fires.

## How deep is the sample?

Sampling depth is the number of runs issued per prompt × model × country, per day. It is set by plan:

| Plan     | Sampling depth per day | Issued       |
| -------- | ---------------------- | ------------ |
| Starter  | n = 1                  | —            |
| Growth   | n = 3                  | Concurrently |
| Business | n = 3                  | Concurrently |

Growth and Business runs are issued **concurrently**, not spaced through the day. Sending them together means all three see the same model state, so the variation you observe is the model's own answer-to-answer variance rather than a change in the world between morning and evening.

Runs that fail — a timeout, a blocked request, a malformed response — are **stored but excluded from n**. They are kept for debugging and never enter a numerator or a denominator. An outage therefore shrinks your sample rather than depressing your rate.

## Why are rates computed over runs?

Every rate in the product uses runs as the unit, never readings, answers, sentences or keyword occurrences. A run either named you or it did not; it either cited your domain or it did not. An answer that names you nine times is one run in the numerator, exactly like an answer that names you once.

This is what makes rates comparable across prompts, models and windows: the denominator is always a count of questions actually asked and successfully answered.

## What is the significance gate?

Every delta Attensira shows has passed a **two-proportion z-test at 95% confidence**. The current window's rate and the prior window's rate are compared as two proportions with their own sample sizes. If the difference does not clear that bar, the delta comes back as `{real: false}` and the value is `null` — never a number, never zero.

`real: false` means one thing precisely: **no change we can prove.** It is not a claim that nothing moved. It is a refusal to present movement as a finding when the sample cannot distinguish it from noise.

<Warning>
  **At n = 1, most deltas will not clear the gate.** With one run per prompt per model per day, a seven-day window holds seven observations per cell, and a two-proportion test on seven-versus-seven observations only detects large swings. Expect many `real: false` results on Starter. That is the method working, not the product failing to measure.
</Warning>

Three ways to get more deltas that clear the gate, in order of effect:

<Steps>
  <Step title="Widen the window">
    Aggregating fourteen or thirty days instead of seven multiplies the runs behind each rate without changing anything about your setup.
  </Step>

  <Step title="Aggregate the cell">
    Read a rate at the topic or model level rather than for one prompt on one model. Coarser cells pool more runs.
  </Step>

  <Step title="Increase sampling depth">
    Growth and Business sample three runs where Starter samples one, tripling the observations per day for the same prompts.
  </Step>
</Steps>

## What this method cannot tell you

<AccordionGroup>
  <Accordion title="It does not observe real user traffic">
    Attensira asks your prompts on a schedule. It does not see the questions real people asked, or how many of them there were. It measures how the models answer, not how often anyone asks.
  </Accordion>

  <Accordion title="It measures surfaces, not the whole internet">
    Coverage is limited to the channels listed above, in the countries you configure. A surface you do not track is not measured, and never reported as a zero.
  </Accordion>

  <Accordion title="Models are non-deterministic">
    The same prompt can produce different answers minutes apart with nothing having changed. This is exactly why sampling depth and the significance gate exist, and why a single run is an observation rather than a fact about the model.
  </Accordion>

  <Accordion title="Crawlers are not models">
    Page fetches by AI crawlers are a separate dataset with separate mechanics. See [AI traffic](/traffic/ai-traffic).
  </Accordion>
</AccordionGroup>

Data retention follows your plan: 3 months on Starter, 12 on Growth, unlimited on Business. Handling of the data itself is covered by the [privacy policy](https://attensira.com/privacy) and [terms of service](https://attensira.com/tos).
