Skip to main content
Cheers

Methodology

Show the math. Protect the business.

This is the operating contract behind every Cheers Research number: who enters the panel, what counts as an appearance, how a rate is calculated, and when a result stays private. The September 2, 2026 edition was first pulled from Cheers production on September 3, 2026 at 04:05 UTC and corrected on September 28, 2026, both times with read-only queries. The query files ship in the repository next to the results.

Published September 2, 2026Last verified September 28, 2026Read the methodology

Correction

Corrected September 28, 2026. The first pull, published September 2, 2026, treated 119 account records as 119 brands, and it added up aggregate rows that repeat the same AI answer under a location, as a prompt total, and under every parent account, which counted most answers two or three times. It also covered August 10 through September 1 rather than the stated 28 days, because of how it filtered weekly buckets.

It also included 46 branded prompts, questions that name the tracked company itself and return it almost every time, and a Cheers test account counted as a company, and its weekly trend included weeks from before July 20, when we finished fixing an enrichment defect that counted competitor names shown in answer map widgets, mostly on ChatGPT, as the tracked business. The method below excludes branded prompts and the test account and uses no answer from before July 20. Each answer is counted once, each company counts once, and a published cell needs ten companies behind it. The panel is now 13 companies and 958,754 answers in the 28 days ending September 2, 2026. The Market Baseline citation cuts were not affected, and its run count is 49,677, not 81,012. The engine we first labeled Google AI Overviews and AI Mode is Google AI Mode. Every earlier query and results file stays in the repository as the record.

Panel

Who is included

The home-services panel is 13 companies with prompt checks recorded in the 28 days ending September 2, 2026, tracking 183 locations and carrying 958,754 checks between them. A company is the top-level account in Cheers; every region, sub-brand, and location record underneath it rolls up to it. Real estate and beauty and personal care are tracked too, but neither has 10 companies, so neither is published or compared.

market_baseline and other internal-purpose organizations excluded from every panel cut; a company enters the home-services panel when any organization in its tree is categorized as home services; a Cheers test account (a cleaning-service test organization with four prompts) is excluded. A company enters a published cell only when it matches the stated category, has checks inside the window, and does not drop the cell below 10 companies.

The Market Baseline is the one Cheers-owned organization we publish, and we name it because it is ours. Organization 1424 exists to sample the market rather than to sell anything, so it is excluded from every customer cut and its own appearance rate is never reported. In this edition it recorded 49,677 engine answers and 356,019 citations.

Definitions

Appearance and citation are different

Appearance rate

checks naming the company / all its checks x 100

An appearance means the recorded answer named or recommended the tracked company for a prompt we ran on its behalf. A check is one answer from one engine, counted once.

Citation rate

checks citing the company / all its checks x 100

A citation means the recorded answer carried a source attributed to that company. A business can be named without being linked, which is why the two rates are reported separately.

Two summaries appear on these pages and they answer different questions. A company rate gives every business one vote: per company: appearances / checks across all of its tracked prompts, locations, and engines in the window; percentiles and means are taken across companies (each company counts once). A pooled rate gives every check one vote: sum of appearances / sum of checks across every check in the cell, so companies with more checks weigh more (used only where stated: prompt shape, weekly trend, engine pooled, review shares). Percentile and mean figures are company rates unless the chart says pooled, and the two diverge most where a handful of companies run enormous prompt volumes. Across the panel the median company was named in 29.5% of its checks, while the pooled rate was 28.6%.

The daily aggregates come from prompt_aggregates in Cheers production, filtered to rows with at least one recorded run. That table keeps several copies of each answer, so we read only the prompt-level row owned by the account that owns the prompt, which holds every answer exactly once. Mention position is recorded only when the engine actually named the business, so a position average is never diluted by the answers that left it out.

The exact method

Every rule this edition ran under

Method notes from the corrected production pull

These lines ship inside the corrected results file. They are reproduced here without editing.

Method notes from the corrected production pull
RuleAs recorded in the pull
Unitcompany: the top-level organization in the Cheers account tree. Every region, sub-brand, and location record underneath a company rolls up to it, so each company counts once in every company-level figure
Company rateper company: appearances / checks across all of its tracked prompts, locations, and engines in the window; percentiles and means are taken across companies (each company counts once)
Pooled ratesum of appearances / sum of checks across every check in the cell, so companies with more checks weigh more (used only where stated: prompt shape, weekly trend, engine pooled, review shares)
Counting each answer onceeach engine answer is counted once: only prompt-level aggregate rows are read (no location, owned by the organization that owns the tracked prompt). Location rows and every copy stored under parent organizations repeat the same answers and are excluded
Exclusionsmarket_baseline and other internal-purpose organizations excluded from every panel cut; a company enters the home-services panel when any organization in its tree is categorized as home services; a Cheers test account (a cleaning-service test organization with four prompts) is excluded
Branded promptsbranded prompts are excluded from every customer-panel cut: a tracked prompt is branded when its text contains the tracked company's own name, matched as whole words after lowercasing and removing punctuation (a possessive such as "<brand>'s" also matches), against the names of every account in the company's tree, the business name on the prompt, and the company's approved identity names and aliases (location suffixes, parentheticals, legal suffixes and a leading 'the' removed). A question that names the business answers itself, so it measures recall of a name the user typed, not whether the engine recommends the business
Valid answersan enrichment defect in the Cheers pipeline counted competitor names shown in answer map widgets as the tracked business until a fix deployed on 2026-07-15, and the defective code path was fully removed on 2026-07-20, so no customer-panel figure uses answers from before 2026-07-20
Cell sizeminimum 10 companies per published cell; cells below 10 are suppressed and named as suppressed. With 13 companies the 90th percentile would sit between the two highest companies, so it is not published
Tradesorganization.subcategory_ids across every organization in a company's tree, joined to business_subcategory; a company with several subcategories counts in each
Enginesprovider table names: ChatGPT (OpenAI), Gemini (Google), Perplexity, and GAIO, which is Google AI Mode
Window28 days ending 2026-09-02 (daily prompt aggregates dated 2026-08-06 through 2026-09-02, rows with runs_count > 0, non-branded prompts only)
Review velocityreviews with created_at in the 90 days ending 2026-09-02 (2026-06-05 through 2026-09-02), not deleted, as recorded on 2026-09-23 (includes reviews that reached Cheers after the first pull); per company rate = reviews / locations with at least one review / 3, so it reads as new reviews per location per month and each company counts once; response rate = reviews with a non-empty owner response; Google share = reviews whose source contains google
Weekly trendpooled across the home-services panel each week, non-branded prompts only; weeks before 2026-07-20 are not published because an enrichment defect counted competitor names in answer map widgets as the tracked business until then; the week of 2026-08-31 is partial (through 2026-09-02); the panel grew from 12 to 13 companies over the published weeks
Prompt shapeprompt text classified by regular expression on the tracked prompt; pooled rates; non-branded prompts only; shapes with fewer than 10 companies suppressed; prompts are distinct tracked prompts
Market BaselineCheers Market Baseline (organization 1424, Cheers-owned, not a customer): 32 natural-language home-services prompts (10 HVAC, 8 plumbing, 6 electrical, 2 roofing, and one each for water damage restoration, duct cleaning, garage door, pest control, windows and doors, lawn care) run in 100 metro service areas (60 United States, 40 Canada) on four engines; about 500 runs per metro in the 28-day window (49,677 runs total, each engine answer counted once). Its own appearance is meaningless (it is not a business); the published measure is which domains the engines cite.
Metro citation mixper metro, 28 days, all four engines pooled; columns: citations, google share, directory share, social share, business-or-other share, distinct cited domains. In this pull the media/vendor class is folded into business-or-other.
Source: Cheers production panel pull, 28 days ending September 2, 2026, corrected September 28, 2026. Last verified September 28, 2026. Methodology

Citations

How a cited domain gets classified

The Market Baseline records every domain an engine cites, then sorts each one into a class by an explicit allow list. Anything that is not on a list is a business site, which is where contractor and franchise websites land. Those domains stay out of every published table. Platforms and directories are named because naming them is the useful part.

Domain classes and their members

The full classification used for the 2026-09-02 edition.

Domain classes and their members
ClassDomains
Googlegoogle.com
Directories and review platformsyelp.com, yelp.ca, bbb.org, angi.com, homeadvisor.com, thumbtack.com, expertise.com, houzz.com, homestars.com, yellowpages.com, yellowpages.ca, threebestrated.com, threebestrated.ca, trustanalytica.org, bestprosintown.com, consumeraffairs.com, trustpilot.com, birdeye.com, homeguide.com, bestpickreports.com, diamondcertified.org, prosgrade.com, proscore.ca, serviceagent.ai, industryoversight.ca, hvacservice.io, porch.com, networx.com
Social and forumsreddit.com, facebook.com, nextdoor.com, quora.com, youtube.com, instagram.com, tiktok.com, x.com, twitter.com
Media and vendorsforbes.com, yahoo.com, todayshomeowner.com, modernize.com, thisoldhouse.com, bobvila.com, consumerreports.org, usnews.com, housecallpro.com, servicetitan.com, furnaceprices.ca, homedepot.ca, homedepot.com, lowes.com, carrier.com, trane.com, lennox.com
Business sitesevery other domain (contractor and franchise websites); never published by name
Source: Cheers production panel pull, 28 days ending September 2, 2026, corrected September 28, 2026. Last verified September 2, 2026. Methodology

Privacy

Ten companies, or the number stays out

Every published customer number stands on at least 10 companies. A thinner cell is suppressed and named as suppressed. We do not merge it into a nearby category, because merging is how a small group becomes identifiable. For the same reason we do not publish a 90th percentile from 13 companies. This edition suppressed 24 cells, listed on the index page.

Cheers Research never publishes customer names, domains, organization identifiers, raw prompts, raw answers, raw review rows, or location-level customer results. Missing access is reported as unavailable, never as zero. The build itself enforces the floor: the loader throws if a published cell falls below it, and every panel figure quoted in the statistics sourcebook is checked against the results file at build time.

Excluded

  • Cheers-owned and internal organizations, including the Market Baseline
  • Companies with no business category anywhere in their account
  • Weeks with no recorded runs
  • Cells under 10 companies
  • Duplicate copies of the same AI answer
  • Branded prompts that name the tracked company
  • Cheers test accounts
  • Answers from before July 20, 2026
  • Deleted reviews

Refresh record

What happened in this edition

Read-only queries first ran against Cheers production on September 3, 2026 at 04:05 UTC. On September 23, 2026 we found that pull had counted account records as brands and repeated answers several times, and reran every customer cut. On September 28, 2026 we reran them again without branded prompts, the test account, or any answer from before July 20, and wrote a new aggregate results file. No customer rows were stored at any point. Every figure on these pages now comes from the latest file.

The public research set is reviewed quarterly. The next scheduled review is the fourth quarter of 2026. Every page carries its own last-verified date, and a figure that has not been rechecked keeps the date it was.

Citation

How to cite Cheers Research

Allen-Arnegård, Dylan. "Cheers Research Methodology." Cheers Research, September 2, 2026. https://www.cheers.tech/research/methodology. Accessed [date].

Cite the specific page whenever you can, and keep the published date, the last verified date, and the window attached to the number. See the statistics sourcebook or the 2026 home-services index.