The Overfront Benchmark
What actually moves a site’s visibility in AI answers, measured across every site that uses Overfront, and how long each engine takes to notice a change. Published as a versioned, citable dataset. Current version : 2026.10-5.
- JSON :
https://api.theoverfront.com/v1/benchmark - CSV :
https://api.theoverfront.com/v1/benchmark?format=csv - License : CC BY 4.0. Quote it as “Overfront Benchmark v2026.10-5, theoverfront.com/benchmark”.
What a row says
Each row is one improvement action, measured on one AI engine, across every site that marked that action done and had enough data before and after.
| Field | Meaning |
|---|---|
nDomains |
Sites in the estimate. Under 5, the row is not published. Under 30, the verdict is a trend, not a claim. |
nImproved |
Sites whose own change beat their controls. |
deltaPp |
The pooled shift, expressed in percentage points of cited answers at the typical starting rate. |
ci |
95% interval of the pooled shift (log-odds). |
verdict |
lifts, hurts, no_effect_detected, trend, or insufficient. |
qValue |
False-discovery-rate adjusted p (Benjamini–Hochberg) across the published rows. |
Rows with a market are the same estimate within one market (sites that are asked the same questions). Rows without one pool every market.
The latency table gives, per engine, the median days from a page change to the engine’s crawler fetching it again, and to the engine’s answers changing, with the share of changes reflected within 28 days.
How it is measured
When the change landed (t0). We keep a hash of the visible text of each participating site’s public pages every time we read them, so a change is dated by the page, not by the button. If the site has connected Cloudflare, t0 is the first time the engine’s crawler fetched the changed page after the change. Otherwise t0 is the day the text changed. If no change is found within 14 days of the mark, t0 is the day the action was marked done, and the row says so (t0Source).
The outcome. Not a score : the raw daily counts of answers that cited or mentioned the site, per engine, from the same pooled answers the panel score is built on. Twenty-one days before t0 against twenty-one days after. A domain needs at least 30 answers on each side.
The comparison. The site’s change in log-odds of being cited, minus the same change in sites of the same market that did not do the action (difference in differences). Fewer than three such peers and a fixed control group of sites that never change stands in. This removes what the engine did to everyone that month.
Pooling. Per-site results are combined with DerSimonian–Laird random effects, so sites that differ from each other widen the interval rather than vanish into an average. The variance of the shared control group is added once, not divided away. Published rows get Benjamini–Hochberg q-values.
Latency. From the dated page change : the first crawler visit (Cloudflare-connected sites only) and the first day the cumulative post-change interval no longer overlaps the pre-change interval. Sites whose event has not happened yet are censored at the horizon, and the medians are Kaplan–Meier.
Exclusions. A site that marked two different actions within a week is set aside for both (bundled). Cells with fewer than five sites are counted in suppressed and not published.
Versions
The method’s constants (windows, thresholds, estimators) live in code under the version string. Changing any of them changes the version, the public dataset is kept per version, and this page is updated in the same change. Scores shown in the extension and the console are a different, internal method and are not affected by benchmark versions.
- 2026.10-5 : every site, the measured one included, is read by the same rule. A competing site we have not measured is recognized by the site name its cited pages carry in their titles. A name two sites share goes to the one the answers link more often, whichever site is measured. Domains of the same organisation count for every site, not only the measured one. An answer that cites a site only as a source of information gives it no share of that answer, the measured site included.
- 2026.10-4 : a name that is also an everyday word counts only where the answer uses it as a name, so “the checkout process” no longer counts for checkout.com. A citation of another domain of the same organisation counts for the site: a domain its home page sends visitors to under the same name and that names it back (notion.so to notion.com), a domain it lists as its own language version and that lists it back, or a pair we checked by hand. Every answer in the windows is read again under these rules, so no window mixes two versions.
- 2026.10-3 : every search states the United States as the place it is made from, and the benchmark reads only answers searched from there. Answers stored before any place was stated, when the location was left to the search provider, are kept so the 21-day windows stay full.
- 2026.10-2 : an answer mentions a site only where its name stands as a word of the answer. A name inside another site’s link (a
/blog/path) or as one part of a host name (the “blog” of github.blog) no longer counts, and a domain whose first word is an ordinary web word (“blog”, “news”) is recognized only by its brand or full domain. - 2026.10-1 : first version.
What is not published
- Any site’s name, or any per-site estimate.
- Cells with fewer than five sites.
- The questions asked, the answers, or the per-answer outcomes.
Limits
- This is observational. Sites choose which actions to do; a site that fixes its robots.txt is not a random site.
- Marks are self-reported. The page hash catches the change when it is on a page we read; a change elsewhere, or on a page that changes every day, falls back to the mark date.
- Crawler data is sampled by Cloudflare and identified by user agent, which can be spoofed. We store nothing but the hour, the path and the crawler name of matching requests.
- A page change is dated to the day, not the hour.
- Answers vary from run to run. The counts are pooled across a market precisely because single answers mean little.
- Engines change. The
engineDriftfield reports what the control group did over the last four weeks; read the effects against it.