10 Variables That Change Between AI Citation Measurements

AI citation measurement variables: 10 Variables That Change Between AI Citation Measuremen
,
10 Variables That Change Between AI Citation Measurements

Ten concrete things that shift between two citation rate measurements even when your content hasn’t — the sources of the noise floor every GEO experiment has to account for

TL;DR

Two AI citation measurements of the same URL on the same query can produce different results. The difference isn’t measurement error — it’s real variance in a stochastic system. Ten variables drive most of it: model version, retrieval index state, session context, query order, sampling temperature, time of day, geography, cache state, competing sources, and iteration count.

You can’t eliminate them. You can hold each one constant, randomise across it, or measure over enough iterations that it averages out. Designing a GEO experiment without accounting for these ten is how you get a result that doesn’t replicate.

Key GEO Takeaway

The same query, run against the same page on two consecutive days, can produce different citation outcomes without any content change. Ten variables are responsible — and not controlling for them makes every GEO experiment result uninterpretable, regardless of how large the measured effect appears.

Why the Same Query Gives Different Answers

The first time I tried to measure whether a content change had improved citation rate, I ran the query once before and once after. The number went up. I concluded the intervention had worked. I was, charitably, an idiot.

The GEO Stack measurement layer — Layer 3 — exists precisely because citation rate cannot be read reliably from a single run: the variables documented here are the reason a controlled experimental design is required.

Running the same query a second time before the intervention would have shown me the number was different the second time too. Running it five more times would have shown me a range that entirely contained the post-intervention result. The change I thought I’d measured wasn’t from the content — it was from the simple fact that AI citation systems don’t return the same answer twice.

This is the thing most GEO “case studies” in 2026 get wrong. They measure once before, once after, and declare a result. Without a variance estimate, that kind of measurement is unfalsifiable. The number changed. Why? Could be the content. Could be any of the ten things below. There’s no way to tell from two data points.

The noise floor — the variance you see when nothing changes — is the precondition for every other claim. Before you can say an intervention worked, you need to know how much the metric moves when nothing has been done to it. The variables below are where that movement comes from.

Where the Variance Comes From

The ten variables split into three layers, corresponding to where in the AI pipeline the variance is introduced.

Designing a probe set that controls for these variables requires understanding the ten probe query types — different query types introduce different amounts of variance at each pipeline layer.

Figure 1: The three layers where citation rate variance is introduced. Platform-layer variance is the hardest to control and typically produces the largest effects.

The layer matters because it determines how you control for the variance. Platform-layer variables can’t be held constant — they belong to the AI operator, not you. The best you can do is measure across them (multiple days, multiple model versions) and report a range rather than a point. Session and generation variables can be held constant through experimental discipline: same session setup, same sampling parameters, randomised query order.

The Ten AI Citation Variables

Ordered by the magnitude of variance each variable produces in the Lab’s observations. The first four are the ones that will ruin your experiment if you don’t control for them. The last six are smaller but still real.

The most controlled experiment the Lab has run — E016, the noise floor measurement — established the baseline variance range. That baseline and its protocol are documented in the Month 0 baseline post.

01

Model version

High

What changes

The AI operator silently updates the model behind the API — new weights, new retrieval heuristics, new citation policy.

Observed effect

Citation rate can shift by ten percentage points or more overnight with no correlation to any content change. The version string in the API response may or may not indicate the update.

How to control

Pin to a dated model version where the API allows it. Log the version string on every request. Treat any measurement across a version change as a separate experiment, not a continuous one.

02

Retrieval index state

High

What changes

The AI system’s retrieval index is updated as new content is added and old content is re-crawled. The set of candidate sources for any given query shifts over time.

Observed effect

A URL that was cited heavily last week may be displaced by a newer, more authoritative source this week. Your content hasn’t changed; the competitive set has.

How to control

Record the cited sources on every measurement, not just whether the target URL was cited. A drop in citation rate accompanied by a new domain appearing in the cited set points at index change, not content decay.

03

Session context

High

What changes

Queries within the same session accumulate context. Earlier questions prime the model toward specific entities, topics, or sources for later ones.

Observed effect

The same query issued as the first question in a fresh session and the tenth question in an ongoing one can produce different citations. Session warmth biases retrieval and generation.

How to control

Start a fresh session for every iteration. If batch-running queries, randomise order across iterations to distribute session-warmth effects across the sample.

04

Sampling temperature

High

What changes

Most AI systems use non-zero temperature at generation time, which introduces randomness in token selection. Even with identical inputs, the output varies.

Observed effect

The model may cite the same source with different anchor text, cite a different source entirely, or cite no source at all — across runs of a query where every other variable is held constant.

How to control

Set temperature to 0 where the API allows it. For APIs that don’t expose the parameter, accept temperature variance as a floor and use higher iteration counts to average it out.

05

Query order within a batch

Medium

What changes

Within a single session, the order in which queries are issued changes how the model attends to each one. Query three benefits (or suffers) from the context set by queries one and two.

Observed effect

Smaller than full session-context variance, but measurable. A fixed-order batch systematically over- or under-counts citation rate for queries later in the batch.

How to control

Randomise order across iterations, not just within one. Each query should appear in every position across the iteration set.

06

Time of day

Medium

What changes

AI operators run different model weights, rate-limit policies, and cache states at different times. Peak-hour requests may hit a different system configuration than off-peak ones.

Observed effect

Measurable differences in citation rate between, for example, 3am and 3pm on the same day. Usually single-digit percentage points, but consistent enough to confound a poorly scheduled experiment.

How to control

Run measurements at the same time of day across experimental conditions. For longitudinal tracking, schedule a fixed measurement window.

07

Geographic origin

Medium

What changes

Requests from different geographic regions may be routed to different data centres, hit different cache states, and receive region-adjusted retrieval priors.

Observed effect

A query that cites your URL consistently from an EU IP may cite it less often from a US IP, even for content with no regional specificity.

How to control

Pin the request origin. Run all measurements from the same IP range. Document the origin in the experiment metadata.

08

Cache state

Medium

What changes

AI systems cache intermediate results — retrieval results, embeddings, partial responses. A query hitting a warm cache returns differently than one hitting a cold cache.

Observed effect

The first run of a novel query may show different behaviour from the fifth run of the same query minutes later. Cache warmth often stabilises citation rate within a session but introduces between-session variance.

How to control

Hard to control without operator access. The practical workaround is to report the first-iteration behaviour separately from subsequent iterations, or to discard the first N iterations as warmup.

09

Competing sources in the retrieval set

Low

What changes

Even within a single query session, the retrieval step may pull different candidate sources each time. Your URL may be in the candidate set on iteration three and missing from it on iteration four.

Observed effect

Citation rate reflects both whether your URL is in the candidate pool and whether it’s selected from the pool. Two sources of variance combine.

How to control

Where the API exposes the retrieval set, log it. This separates “not retrieved” failures from “retrieved but not cited” failures — two different problems with different solutions.

10

Iteration count

Low

What changes

The number of times the query is run. Not a source of variance itself — a multiplier on whether the variance averages out.

Observed effect

One iteration gives you a point estimate with uncertainty equal to the full noise floor. Five iterations reduce uncertainty substantially. Ten iterations are usually enough to detect effect sizes below five percentage points.

How to control

Use at least five iterations per query as a baseline. Use ten when the intervention being tested is expected to produce a small effect. More iterations cost more but buy you the ability to detect subtler changes.

The Ten at a Glance

One reference table. Use this when designing an experiment — every row needs a decision about how you’ll handle that variable.

# Variable Layer Magnitude Control method
01 Model version Platform High Pin dated version; log string per request
02 Retrieval index state Platform High Record cited sources; track competitive set
03 Session context Session High Fresh session per iteration; randomise order
04 Sampling temperature Generation High Set to 0 where possible; increase iterations otherwise
05 Query order in batch Session Medium Randomise position across iterations
06 Time of day Platform Medium Fixed measurement window
07 Geographic origin Platform Medium Pin request origin; document IP range
08 Cache state Platform Medium Discard warmup iterations; separate cold vs warm
09 Competing sources Generation Low Log retrieval set where exposed
10 Iteration count Experimental Low Minimum 5; use 10 for small expected effects

Designing Around the Ten

Three design principles follow directly from the variables above.

In practice: the Tier 1 vs Tier 2 citation gap post shows how applying these design principles changes the interpretation of a 60-percentage-point citation rate difference between query tiers.

First: measure baseline variance before attributing any change. A pre-intervention noise floor is the unit against which post-intervention changes are interpreted. Without it, you have a point estimate and no idea what it means. Five days of measurement with no content change is the Lab’s working minimum; ten is better.

Second: control the cheap variables; report the expensive ones. Session context, query order, temperature, and geographic origin can all be held constant with basic experimental discipline. Model version and cache state often can’t — so log them, report them, and treat measurements across a model change as separate experiments rather than continuous ones.

Third: iteration count is the adjustable knob. When you can’t hold a variable constant, you can usually average it out by running more iterations. Five iterations per query is the baseline. Ten is the standard for detecting small effects. Twenty is warranted when model-version drift is suspected during the experiment window.

A practical mapping of when each variable matters across the experiment lifecycle:

Stage Variables to decide What the decision determines
Pre-experiment setup 01 Model version, 04 Temperature, 06 Time of day, 07 Geography Whether the experiment has any chance of being replicable at all
Query batch design 03 Session, 05 Order, 10 Iteration count How much within-batch variance will average out versus confound
During measurement 02 Index state, 08 Cache, 09 Competing sources Whether observed changes are attributable to the content or the platform
Reporting 01, 02 logged; 06, 07 documented Whether another researcher can reproduce the result or dismiss it

The single most common failure mode. Running a one-shot measurement before and after an intervention and declaring victory when the number goes up. The number would have gone up, or down, without the intervention. You cannot tell the difference from two data points. The variables above are why.

Frequently Asked Questions

Why do AI citation rates change between measurements?

AI citation systems are stochastic at multiple layers: the retrieval step samples from an index that changes as content is added and removed, the generation step introduces variance through temperature and sampling parameters, and the caching and personalisation layers shift results between sessions. Even when the input query and target content are identical, the output is not deterministic. The observed variance across repeated measurements is called the noise floor, and establishing it is a prerequisite for attributing any citation rate change to a content intervention.

How many of the same query should I run to get a reliable citation rate?

At least five iterations per query is the working minimum in the GEO Lab’s experiments, and ten is better where time and API cost allow. One iteration gives you a single sample from a stochastic distribution, which is indistinguishable from noise. Five gives you a point estimate with usable uncertainty. Ten lets you detect effect sizes below the single-digit percentage range.

Does the order of queries in a batch affect the results?

In some AI systems, yes. Session-level context accumulates across queries in the same session — earlier queries can prime the model’s attention toward specific entities, topics, or sources for later queries in the batch. The fix is to randomise query order across iterations, or to issue each query in a fresh session with no prior context.

What is the biggest source of variance in AI citation measurement?

In the GEO Lab’s experiments, model version changes produce the largest single source of variance. A silent model update on the provider’s side can shift citation rate by 10 percentage points or more overnight, with no correlation to any content change. Time of day, query order, and session state produce smaller but still measurable variance. Establishing the noise floor across multiple days, not a single day, is the only way to separate model-level drift from content-level intervention.

Version History

  • Version 1.0 — 19 May 2026: Initial publication. Ten variables producing between-measurement variance in AI citation rate, grouped by platform, session, and generation layers.

About the author: The GEO Lab founder Artur Ferreira has 20+ years of experience in SEO and organic growth strategy. He developed the GEO Stack framework and leads research into Generative Engine Optimisation methodologies. Connect on X/Twitter or LinkedIn.

Have questions? Contact The GEO Lab