Methodology

How LegitGeo proves a fix changed what AI assistants say.

Verified lift measures each change a business makes against answers the change should not have moved and against businesses that changed nothing. A verified result means the change did it, not the market.

Updated October 20, 2026 · Published by LegitGeo

Run free check See plans

What verified lift is

Verified lift is a measurement of whether one specific change to a business changed how often AI assistants such as ChatGPT, Google AI Overviews, Perplexity and Gemini name or cite it. The change can be anything the business controls: a page rewritten, prices published, structured data added, a crawler unblocked, a Yelp or Google Business Profile completed.

The output is a verdict and a 95% range, for example +18 points, 95% range +6 to +30, verified. Points are percentage points of the share of answers that name or cite the business, so +18 means that share rose 18 points more than the comparison answers did over the same weeks.

Why a before and after comparison misleads

Most AI visibility tools report a change as the difference between two periods. Two facts make that unreliable:

  • Answers vary. Asked the same question repeatedly, assistants returned the same list of brands in under 1% of 2,961 prompts in a January 2026 study by SparkToro and Gumshoe. One answer, or a handful, says little.
  • Everyone moves together. When an assistant changes its model or how it searches, answers shift for every business on the same day. A business that fixed something that week would see the shift and credit the fix.

Both problems have standard answers in statistics: measure many answers rather than a few, and compare with a group that did not get the change. That comparison is called a difference in differences.

How a change is measured, step by step

  1. The change is logged. A fix marked done in Diagnosis, a finished action, a change typed in by the team, or one reported by a partner platform. The next readiness check confirms a fix is live; one the check still finds broken is left out.
  2. The windows are set. The 28 days before the change are the baseline. The 28 days that start 3 days after it are the after window, leaving time for assistants to re-read the pages.
  3. Answers are split into treated and comparison. Treated answers are the business’s answers on the engines and questions the change should move. Comparison answers are everything that should not move: the business’s other engines and questions, and similar businesses that changed nothing.
  4. The difference in differences is taken. The treated change minus the comparison change. A model update moves both and cancels out; the change itself moves only the treated answers.
  5. The range is calculated. With the small-sample method described below, so it stays honest when a business tracks only a few questions.
  6. The verdict is given once. Only after the after window closes, by rules fixed before any data is seen.

The comparison group and privacy

The comparison group is chosen in this order:

  • The business’s own untargeted answers. A robots.txt change that lets GPTBot in should move ChatGPT, not Gemini, so Gemini answers are part of the comparison.
  • Matched peers. The organisation’s other brands, such as an agency’s clients, and other businesses on the same partner platform, such as providers on a home-services marketplace.
  • The market. A business with no matched peers is compared with other tracked businesses on the same engines. Because those businesses are less alike, a verified result also needs the pre-change drift check to have run and passed.

Peers that made a change of their own in the same weeks are dropped. Engines that another of the business’s changes aimed at in the same weeks are dropped from its comparison. A pool of other businesses is used only when it holds at least 5 businesses from at least 3 organisations, and only pooled rates are ever shown.

How the 95% range is calculated

Answers to one question on one engine are related to each other, so they cannot be treated as independent. LegitGeo clusters them by business, question and engine, and calculates the range with the CR2 cluster-robust standard error and Bell–McCaffrey degrees of freedom. Imbens and Kolesár (2016) recommend this combination for small numbers of clusters, which is the normal case for one small business tracking 10 questions. It is the method of the clubSandwich package in R.

An earlier version used a bootstrap. In simulation its 95% ranges contained the true effect only 86% of the time with six questions, so it was replaced. The current method was simulated 1,000 times per scenario, with businesses whose questions differ and a market-wide move on the change date:

Scenario95% range contains the true effectCalled “verified”
The change did nothing95.4% to 97.2%1.4% to 2.9% (false alarms)
+15 points, 6 questions95.6% to 95.8%55% to 63%
+15 points, 10 questions95.6%82%
+30 points, 6 questions95.2% to 95.3%96%

The design aims for at most 2.5% false “verified” calls. Small effects on one business are often not provable in four weeks; the result then says “not proven” rather than guessing.

What each verdict means

  • Verified: the whole 95% range is above zero, with a comparison group, no drift before the change and no other change to the same answers.
  • Probably helped: the 95% range is above zero but one of those conditions is missing, or only the 80% range is above zero.
  • No effect found: the 95% range sits inside plus or minus 10 points, with a clean comparison.
  • Went down: the whole 95% range is below zero, with a clean comparison.
  • Not proven: anything else, including fewer than 20 treated answers in either window.

The lift library: what each kind of change does across businesses

One business’s result is noisy. The same kind of change measured at many businesses is evidence. The lift library pools every finished, controlled measurement of the same kind of change on the same engines with a random-effects meta-analysis: the Paule–Mandel estimator for how much results differ between businesses, the modified Hartung–Knapp–Sidik–Jonkman interval for the average, and a prediction interval for what the next business can expect.

A kind of change appears in the library once 5 businesses from 3 organisations have measured it. The library is public at https://api.legitgeo.com/v1/lift/library, and inside the app each Diagnosis fix that has library evidence shows its measured effect beside it.

The model-update radar

Every night LegitGeo takes each engine’s answers across all tracked businesses, removes each business’s own level so strong and weak businesses count alike, and averages them into one daily series per engine. PELT changepoint detection (Killick, Fearnhead and Eckley, 2012) splits that series into regimes; a move of 3 points or more between regimes is reported as a market-wide shift, with how many businesses moved the same way.

Shifts inside a change’s windows are listed in its evidence. The radar is public at https://api.legitgeo.com/v1/lift/shifts.

How the method is tested

Every number is checked against an independent implementation before it ships. The CR2 ranges and degrees of freedom match a brute-force matrix implementation of the published formulas and statsmodels’ cluster-robust regression to at least six decimal places. The library matches statsmodels’ meta-analysis, and the radar’s changepoints match the ruptures library exactly. A database test proves the answer counts fall into the right window at every boundary.

What verified lift cannot tell you

  • It measures AI answers, not revenue. Bookings and calls are a separate question.
  • A change logged with the wrong date or the wrong engines is measured as logged.
  • Small effects on one business usually need the pooled library to show up.
  • It cannot see personalised answers a particular customer gets; it measures the tracked questions.
  • No method can promise what an assistant will say next month.

Verified lift: frequently asked questions

What is verified lift?

Verified lift is LegitGeo’s measurement of whether a specific change to a business, such as a new page, published prices or a claimed listing, changed how often AI assistants name or cite that business. It compares the business’s answers before and after the change with answers the change should not have affected, so a move that hit every business is not credited to the change.

Why not just compare visibility before and after a fix?

Because AI answers vary from one asking to the next, and model updates move every business at once. A before and after comparison on one business cannot tell a fix from a model update. LegitGeo subtracts what happened to comparison answers over the same weeks.

How long does a measurement take?

Four weeks after the change goes live, plus three days for assistants to re-read the pages. The four weeks before the change are the baseline. An interim reading is shown while it runs, but the verdict is only given once the after window has closed.

What does “verified” mean exactly?

The whole 95% range for the change is above zero, the comparison group exists, no other change to the same answers went live in the same weeks, and the business’s answers were not already drifting before the change. “Probably helped” means the evidence leans that way but falls short of that bar.

Who is in the comparison group?

First, the business’s own answers on engines and questions the change does not target. Then similar businesses that changed nothing: the same organisation’s other brands, or other businesses on the same partner platform. A business with neither is compared with other tracked businesses on the same engines, and must also pass the pre-change drift check to be verified.

Can other businesses see my results?

No. Comparison businesses only ever contribute pooled rates, and a pool is used only when at least 5 businesses from at least 3 organisations are in it. The public lift library shows a kind of change only once 5 businesses from 3 organisations have finished measuring it.

Does LegitGeo guarantee that a fix will work?

No. The method measures what happened; it does not promise an outcome. Many changes have small effects that four weeks of answers cannot prove for a single business, and the result says so instead of overstating it.

Does measuring a change cost extra?

No. Measurement reads the answers LegitGeo already collects for tracked questions. It never asks an assistant anything extra.

Can I read the lift library myself?

Yes. The pooled results are public at https://api.legitgeo.com/v1/lift/library and the model-update radar at https://api.legitgeo.com/v1/lift/shifts. Both return JSON and contain no business’s own data.

Sources and further reading