Back to Resources

You Cannot Prove a GEO Win Without a Control Group

You Cannot Prove a GEO Win Without a Control Group

When Gemini 3 became the default model for Google AI Overviews on January 27, 2026, there was less than a 1 in 100 chance that ChatGPT or Google would return the same list of brands twice for the same prompt on any given day (SparkToro, 2024). A brand watching its citation count climb that week had no way, from the number alone, to know whether its content program was working or whether the engine had simply rewired itself underneath it. That gap is the central problem in GEO measurement: a visibility change has two possible causes, your work and the platform, and the raw number cannot tell them apart.

Most teams read the line going up and take credit. The teams that survive the next model release read the line going up and ask whether their competitors moved too. This article is about how to answer that question, because a GEO gain you cannot attribute is a GEO gain you cannot repeat.

Every Visibility Change Has Two Possible Causes

Citation counts drift 40% to 60% month over month for identical prompts even when no model ships (Profound, 2026). That baseline churn means a brand can gain or lose a measurable share of its citations in any given month without changing a single word of content and without the engine changing either. The number moves on its own.

Layer a model release on top of that baseline and the two causes become impossible to separate by inspection. Your program shipped a restructured page, the engine shipped a new default, and the citation line ticked up. Attributing that tick to your work is a guess dressed as a result. The reader at the end of this section should hold one idea: a single before-and-after number proves nothing about causation.

Model Version Changes Reshuffle Which Domains Engines Trust

A single model update displaced 42.4% of previously cited domains, dropping 37,870 of roughly 89,262 from Google AI Overviews after the Gemini 3 rollout (SE Ranking, 2026). The engine replaced them with 46,182 new domains, lifting the total unique cited set 9.3% to 97,574. Nearly half the citation map was redrawn in a single overnight version change, with no input from any content team on either side of the churn.

This is why a before-and-after comparison across a model boundary is not a performance measurement. A brand that appeared after the update and not before did not necessarily improve. It landed on the right side of a reshuffle. A brand that vanished did not necessarily decline. The engine stopped trusting its whole class of source. Measured across the January 27 boundary, both moves read as content-program outcomes, and both readings are wrong.

Three ways a single model update redrew the citation map after the Gemini 3 rollout: 42.4% of previously cited domains were displaced, the total unique cited domain set grew 9.3%, and average sources per AI Overview rose 31.8% (SE Ranking, 2026).

Updates Re-Weight Source Types Not Every Brand Equally

The Gemini 3 reshuffle concentrated almost entirely in the low-citation long tail while the top 500 domains stayed stable, with only 1 dropping out (SE Ranking, 2026). A model update does not move every brand by the same amount. It re-weights which kinds of sources the engine trusts, and it moves the brands sitting in the newly favored or newly demoted classes far more than the brands anchored at the top.

That uneven effect is the trap inside the naive fix. The obvious defense against model noise is to check whether everyone moved at once, and if they did, blame the engine. But a re-weighting that favors the source type you happen to be strong in will lift you while leaving your competitors flat, and that looks exactly like your program winning. The engine handed you the gain. Separating the two requires more than a glance at whether the field moved.

Citations Drift 40 to 60 Percent Without Any Update

Only 30% of brands stay visible from one answer to the next, and just 20% remain present across five consecutive runs of the same prompt (Airops and Kevin Indig, 2026). The instability is not an artifact of model releases. It is the default behavior of a retrieval system that resamples its sources every time it answers, so even a frozen model on a frozen prompt returns a moving target.

The Res AI 1,000-query Perplexity study measured a 0.72 Jaccard similarity between any two runs of the same query, with an average of 8.2 unique brands appearing across ten runs but only 3.1 present in all ten (Res AI, 1,000-query Perplexity B2B citation study, 2026). A team that measures once and calls the result a score is reading one draw from a distribution it has not characterized. The first defense against false attribution is running each prompt enough times to know its noise band before crediting any change to the program.

A Competitor Control Group Isolates Your Contribution

Tracking two or three direct competitors on the same prompt schedule as your own brand gives you a control group for free. When a jump hits you and the whole field on the same day, the platform moved. When you gain share against a field that stayed flat between releases, that gain is yours. The control group converts an uninterpretable number into an attributable one.

A usable control group needs three things, and skipping any one of them collapses the read back into a guess.

  • The same prompt set for every brand. You and your competitors have to be measured on the identical queries, or you are comparing your citations on one question to their citations on another.
  • The same run cadence and run count. A competitor measured weekly against your daily reads cannot serve as a baseline, and a single run per brand drowns the signal in the 40% to 60% drift band.
  • A logged model version per measurement. Without the version stamp, you cannot tell a release-day jump from a program gain when you review the timeline later.

The control group is why a brand should never track itself in isolation. A citation count with no competitor baseline is a number with no denominator, and a number with no denominator cannot be attributed to anything.

Log Model Release Dates Against Your Tracking Timeline

Keep a log of model release dates alongside the tracking data, because the release calendar is the single most valuable annotation on a GEO chart. Gemini 3 shipped in late January 2026, and major providers pushed model updates on a roughly monthly cadence through the period, each one a candidate cause for any movement in the same window. A visibility swing with no nearby release date and one landing exactly on a release date demand opposite readings.

The annotation is cheap and the payoff is large. When you review a two-month window and see a jump, the first question is whether a release date sits under it. If one does, the burden of proof shifts hard toward the model as the cause, and the competitor control group tells you whether the whole field jumped with you. If no release sits under the jump and your competitors held flat, you have the cleanest attribution GEO offers: a gain with no platform event to explain it and a static field to contrast against.

Point Changes Signal the Model Arc Changes Signal You

Compare the 30 days before a movement to the 30 days after and read how the line moved. A point change, where it steps up or down abruptly on a single date, points to a model update, because engine version changes are discrete events that redraw the map overnight, exactly as the 42.4% Gemini 3 displacement did (SE Ranking, 2026). An arc change, where the line bends gradually over weeks, points to a content program or an entity-strength shift, because earned recognition accrues, it does not switch on.

The diagnostic below maps what you observe to the likely cause and the action it warrants.

What you observe Likely cause What to do
Whole field steps on a model release date Model version re-weighting Re-baseline, credit or blame nobody
You gain share while competitors stay flat between releases Your program Bank it, repeat what shipped
Everyone drifts inside the 40 to 60% band, no release date Non-determinism Raise run count, ignore single-run swings
You and the field both fall on a release, you fall less Update favored your source class Bank cautiously, confirm with entity strength

The point-versus-arc read is not a substitute for the control group. It is the second lens you apply once the control group has told you whether the field moved, and together they resolve most of the ambiguity a raw citation line carries.

Entity Strength Is the Signal That Survives Reshuffles

Branded web mentions correlate with AI brand visibility at a Spearman coefficient of 0.656 to 0.709 across ChatGPT, Google AI Mode, and AI Overviews, more than three times the 0.194 to 0.270 correlation for backlinks (Ahrefs, 2026). The brands that barely moved through the Gemini 3 reshuffle were the ones with the deepest off-domain recognition, because a model that re-weights source types still trusts an entity that shows up everywhere. Entity strength is the closest thing GEO has to a signal that outlasts a version change.

That durability is what makes it a better program target than the citation count itself. A brand chasing this week’s citation number is optimizing against a figure that a model release can erase overnight. A brand building recognition, 85% of which originates from third-party pages rather than its own domain (Airops and Kevin Indig, 2026), is building the one input that survives the reshuffle and keeps compounding through it. When a control group shows your gains holding across a release boundary, entity strength is usually why.

Run the Control Group Per Engine Because Updates Land Separately

Only 11% of cited domains appear in both ChatGPT and Perplexity for the same prompt (Averi, 2026). The engines do not share a citation map, they do not ship updates on the same calendar, and a reshuffle on one leaves the other untouched. A blended cross-engine visibility score averages independent systems that move on independent schedules, and the average hides which engine actually changed.

Attribution has to run per engine or it does not run at all. A gain that shows up on Perplexity and nowhere else is either a Perplexity-specific program win or a Perplexity-specific model event, and only a per-engine control group can tell you which. Folding the engines together turns two answerable questions into one unanswerable one, which is the same failure mode as tracking with no competitor baseline, moved up a level. Visibility that does not transfer between engines cannot be measured as though it does.

Track Recommendation Share Not Raw Citation Count

Measure the rate at which an engine names your brand as a recommendation against a fixed competitor set, not the count of times your domain is cited. Only 28% of AI answers include a brand that earns both a citation and a mention, and those dual-visibility brands are 40% more likely to resurface across answers (Airops and Kevin Indig, 2026). A raw citation count rewards being present in the source list. Recommendation share rewards being the answer, which is the outcome that moves pipeline.

The tracker below lists the metrics that isolate cause instead of conflating it, and the cadence each one needs to stay honest against drift.

Metric What it isolates Cadence
Recommendation share vs a fixed competitor set Your gain against the field Every run, same prompts
Model version in effect at measurement Update boundaries Logged per run
10-run citation frequency The non-determinism floor Per prompt
Branded web mentions The durable signal under reshuffles Monthly
Cross-engine spread Engine-specific events Per engine, never blended

Recommendation share against a control group, stamped with the model version and read per engine, is the closest a GEO team gets to a number it can defend. Everything else is a draw from a distribution that a model release can redraw without warning.

How Res AI Compares to the Monitoring Tools

The GEO tooling market splits on what it hands you when the visibility line moves, and that split maps directly onto the attribution problem. Every tool below tracks a brand against competitors across engines; they diverge on whether the read ends at a dashboard or ends at a shipped correction, which is what determines whether you can close the loop before the next model update lands.

Platform Engines tracked What you get when visibility moves
Res AI ChatGPT, Perplexity, Claude, Gemini A corrective edit published through the connected CMS
Profound 10+ including Copilot, Grok, AIO A visibility gap report, no content fix
Athena 8+ LLMs Automated optimization recommendations
Peec AI Multiple LLMs Competitive gap analytics, monitoring only
AirOps Multiple AI models Generated and refreshed content
Conductor ChatGPT, Gemini, Copilot, Claude Content creation plus enterprise reporting

Profound reports gaps without helping create the content to close them, and Peec AI is monitoring only by its own positioning. The distinction matters for attribution because a reshuffle is a timed event: the window between reading a drop and shipping the fix is where the next model update lands, and a tool that ends at a brief leaves that window open. Res AI runs the competitor prompt set across all four major engines and then publishes the corrective edit against the connected CMS, so the read and the fix live in one pass.

Frequently Asked Questions

Why can a rising citation count be bad news

A rising count with no competitor baseline tells you nothing about cause, and a model update can lift your whole source class while your program does nothing. A count that rose because the engine re-weighted in your favor will fall the moment the next update re-weights back, so an unattributed gain is a liability you are treating as an asset.

How many competitors do I need in the control group

Two or three direct competitors measured on the identical prompt set is enough to distinguish a field-wide jump from a brand-specific one. The competitors do not need to be your closest rivals; they need to be tracked on the same queries, the same cadence, and the same run count as your own brand.

How do I know a model update caused a swing

Log model release dates against your tracking timeline and read how the line moved. A swing that lands on a release date and hits your competitors at the same time is the model; a gradual bend with a static field and no nearby release is your program.

Does non-determinism alone explain most of my movement

Often, yes, because citations drift 40% to 60% month over month with no model change at all (Profound, 2026), and only 20% of brands stay present across five runs of one prompt (Airops and Kevin Indig, 2026). Running each prompt ten times and reading the frequency, not a single result, filters most of that noise before you attribute anything.

Why measure per engine instead of one blended score

Only 11% of cited domains overlap between ChatGPT and Perplexity (Averi, 2026), and the engines ship updates on separate calendars. A blended score averages systems that move independently, so it can show a flat line while one engine reshuffled hard and another held, hiding the exact event you needed to see.

What should I track if not raw citation count

Track recommendation share against a fixed competitor set, stamped with the model version and read per engine. Recommendation share rewards being named as the answer, which correlates with resurfacing across answers far better than mere presence in a citation list (Airops and Kevin Indig, 2026).

Is entity strength worth optimizing over citations

Entity strength correlates with AI visibility at 0.656 to 0.709, over three times the backlink correlation (Ahrefs, 2026), and it survives model reshuffles that erase citation counts. Building third-party recognition is a slower program than chasing this week’s number, but it is the input that keeps compounding through version changes.

Can I attribute anything with confidence in a non-deterministic system

Yes, when three conditions hold at once: a competitor control group stayed flat, no model release sits under the movement, and the gain persisted across enough runs to clear the drift band. That combination is rare enough that most reported GEO wins do not meet it, which is the point.

How Res AI Separates Your Wins From Model Noise Across 4 Engines

The article above showed why a citation number read in isolation cannot tell a program gain from a platform reshuffle, and why the fix is a competitor control group tracked per engine with model versions logged. Res AI runs exactly that setup: it monitors the prompts your buyers actually ask across ChatGPT, Perplexity, Claude, and Gemini, tracks your brand against the competitors winning those prompts, and does it on one shared schedule so a field-wide jump reads as the model and a solo gain reads as your work.

Where monitoring tools end at that read, Res AI ships the correction. When the tracking surfaces a page losing share, the natural-language interface restructures it and publishes the change through the connected CMS in the same pass, so the fix lands before the next model update redraws the map. Attribution and execution stop being two tools and two teams.

Closing the window between reading a citation drop and shipping the corrective edit is what keeps a model reshuffle from becoming a lost quarter, and that is what Res AI is built to do. Teams that want to run the control group and act on it in one place can start with 10 free articles.

See how Res AI tracks and fixes AI citations across four engines →