Methodology · ari-v1.0

How the AI Recommendation Index is measured.

Every rule, formula and threshold behind the monthly index, in plain language. The numbers on this page are rendered from the same manifest the scoring code reads, so they cannot drift apart.

Read this first

What these numbers are, and what they are not.

How to read this index. Each month we ask three AI answer engines (OpenAI with web search, Perplexity Sonar, and Google Gemini with Search grounding) the same 24 unbranded buyer questions per category, twice each, through their public APIs. Shortlist Share is the percentage of eligible answers that recommend a brand, shown with a 95% interval. A brand is shown as #1 only when it ranked first in at least 97.5% of bootstrap draws, so its whole 95% rank range is #1; otherwise every brand whose rank range includes #1 is shown as tied for first.

What it does not show. Results come from API requests, not from the consumer apps of these engines, so they do not reflect personalized results or any individual's chat history. A fixed set of 24 questions cannot represent every buyer question. Being recommended does not mean a product is better, and the index does not explain why an AI recommends a brand.

Independence. Scores and badges cannot be bought, RecoProof customers are measured exactly like everyone else, and RecoProof does not rank its own category.

Scope

What the index measures, and what it does not.

Measured: how often a brand is recommended, mentioned without being recommended, and cited from its own website in answers to a fixed set of unbranded buyer questions. Results are reported for each engine and combined.

Not measured: personalized results in consumer apps, market share, product quality, causation, or future rankings. The index measures answers returned to API requests; it does not reproduce what one person sees in a chat window.

The unit of measurement is one eligible answer for one tracked brand. Mention, recommendation, first choice, citation and competitor displacement mean exactly what they mean in RecoProof's methodology, which defines every metric once for the index, the paid audit and the free check; the index does not invent new meanings. Every published number traces to retained runs, a parser version and a measurement date.

Categories

Categories and brand universes.

Version ari-v1.0 covers 6 B2B software categories, each tracking a frozen universe of up to 15 brands. A category must be a real shortlist purchase with a clear boundary and at least 8 established vendors. RecoProof does not index its own category, AI visibility tools.

Categories in this version
CategoryIdStatus
Project management softwareproject-managementBrand universe seeded from earlier research
Email marketing softwareemail-marketingBrand universe seeded from earlier research
CRM softwarecrmBrand universe built by a discovery pass
Help desk and customer support softwarehelp-deskBrand universe built by a discovery pass
HR software (HRIS)hrisBrand universe built by a discovery pass
Product analytics softwareproduct-analyticsBrand universe built by a discovery pass

Discovery pass. For a new category, the question set runs once on every engine and every recommended brand name is collected. Brands recommended in at least 3% of discovery answers, or on at least two engines, join the universe, up to 15 brands by discovery frequency.

Brands outside the universe. Every wave also counts recommended brands that are not tracked. One that passes 5% Shortlist Share in a wave joins the universe in the next version, and the change is logged.

Shared parent domains. Where one domain hosts several products, a citation counts as the brand's own only when the URL path starts with that product's prefix, such as a product section of a larger vendor's site.

Questions

24 unbranded buyer questions per category.

Each category has 6 buyer intents. Every intent has 3 public paraphrases and one holdout paraphrase: 18 public questions and 6 holdout questions. Paraphrases are required because different wordings of the same intent often produce different shortlists; a ranking built on one wording would measure the wording.

Buyer intents
IntentIdBuyer moment
Category overviewbest-toolsExploring the category
ShortlistshortlistStarting an evaluation
Use caseuse-caseA specific business need
Team sizeteam-sizeA constrained buyer persona
BudgetbudgetPrice sensitivity
EnterpriseenterpriseSecurity and scale requirements

Every question ends with the same sentence: “We are based in the United States.” No question names a brand or asks for alternatives to one, and none dictates a list length; only the shortlist intent asks for a shortlist. A second person reviews every question for neutrality before the version is frozen.

Holdout questions and their digest. The public questions are printed in full on every edition. Holdout questions are scored like the others, but their texts stay private until the version retires, at the earliest six months later. At freeze time we publish a SHA-256 digest of the holdout texts in every edition; when the texts are revealed, anyone can recompute the digest and confirm they were not changed. If a brand's Shortlist Share on public questions exceeds its holdout score by more than 20 points in either window, its leaderboard row, the leader summary and its evidence page show a warning that the result may reflect optimization for the published questions. A warning on the rolling three-wave window, where badges are decided, means no badge in that edition; an earlier badge is revoked only if manipulation is confirmed, and then with a dated correction.

Engines

Engines and collection conditions.

Version ari-v1.0 measures 3 engines, each with its own web search, through the provider's direct API. Each engine is pinned to one model for the version; a retired model opens a new condition, run in parallel for one wave.

Engine conditions
EngineModelInterfaceLocationOutput budget (retry)
OpenAI (web search)gpt-5.6-terraResponses API with the web_search toolApproximate user location: United States8,000 tokens (retry 16,000)
Perplexity Sonarsonar-proSonar chat completions with native searchApproximate user location: United States2,000 tokens (retry 4,000)
Google Gemini (Search grounding)gemini-3.5-flashgenerateContent with google_search groundingNone sent; the country sentence only8,000 tokens (retry 16,000)
  • No system prompt and no conversation history: every run is a fresh request.
  • Temperature and search settings stay at the provider default, and the values are recorded. Reasoning settings also stay at the provider default.
  • Each engine's output budget is in the table above. Where an engine reasons before it answers, the reasoning tokens count against the same budget, so it is a total budget rather than an answer length. An answer cut off at the budget is retried once at the larger retry budget; if it is cut off again, it is ineligible.
  • Every question runs 2 times on every engine, on different days: the second repetition at least 20 hours after the first, and the whole wave within 72 hours. That is 144 runs per category per wave.
  • Each run keeps the request, the raw response, the finish reason, the provider's citation metadata, the searches the engine made, the model version it returned, tokens, cost and latency.

Google AI Overviews and AI Mode have no official API and are not part of this version. Engine names describe the APIs queried; OpenAI, Google and Perplexity do not endorse or review the index.

Eligibility

Which answers count.

An answer is eligible when it completed, is not empty, finished normally (finish status STOP), has parser confidence of at least 0.68, and offers options in the category. Ineligible runs are counted and reported, but they never count as “not recommended”.

Labels the parser cannot decide are marked REVIEW_REQUIRED and resolved by a person before publication. Any that remain unresolved are removed from that brand's denominator.

Minimum data. A brand needs at least 36 eligible answers on an engine for that engine's score, and at least 2 such engines for a combined score. Brands below that are listed as “insufficient data” and are not ranked.

Parser

Deterministic labels, checked blind by a person.

A deterministic parser labels every answer: whether each brand is mentioned, recommended, the single explicit first choice, its position when the answer is an explicit ranking, and whether a cited source is the brand's own site. Every label carries the parser version, currently recommendation-gap-parser-v2.0-phase0b-frozen+ari-ambiguous-names-v2. The parser is frozen before a wave is collected.

Blind validation. Each wave, a person labels a random 10% of runs (at least 60, and at least 10 per category), stratified by category and engine, without seeing the parser's output. The wave passes when recommendation agreement is at least 95% with Cohen's kappa of at least 0.85, and first-choice agreement is at least 90%. If it fails, the parser is fixed under a new version, the wave is re-parsed (not re-collected) and validated again on a fresh sample.

Metrics

Three named metrics, and the measures that support them.

For a brand on one engine, the denominator is that brand's eligible answers on that engine. Engines are scored separately. Mention Rate = Shortlist Share + Recommendation Gap: every mention is either a recommendation or a gap.

Each metric is defined once in RecoProof's methodology, which also gives its paid-audit and free-check variants. The index variant is below; every heading links to the shared definition.

Named metric

Shortlist Share

How often AI puts a brand on the buyer's shortlist.

The share of eligible answers to unbranded buyer questions that recommend the brand, meaning the answer presents it as a plausible choice for the buyer's stated need. Naming the brand is not enough; it has to be recommended.

Shortlist Share = eligible answers that recommend the brand ÷ eligible answers × 100

Formula
Per engine: answers recommending the brand ÷ the brand's eligible answers on that engine × 100. Combined: the equal-weight mean of the engines that meet the minimum-data rule (3 engines are measured), never one pool of all answers.
Denominator
The brand's eligible answers on one engine: completed, not empty, finish status STOP, parser confidence of at least 0.68, and offering options in the category. Labels still unresolved after human review leave the denominator; an ineligible answer never counts as "not recommended".
Minimum sample
At least 36 eligible answers on an engine for that engine's score, and at least 2 such engines for a combined score. Below that the brand is shown as "insufficient data" and is not ranked.
How it is shown
Whole-number percentage with its 95% question-bootstrap interval, n and engines. The headline metric: ranks and badges use it, badges on the interval's lower bound.
Caveats
  • Answers come from API requests, not consumer chat apps, so personalization and account history are not reflected.
  • A fixed question set per category cannot represent every buyer question, which is why intervals are wide.

What it does not mean

  • That the product is better, or that it wins sales.
  • Market share or buyer demand.
  • A prediction or guarantee of future answers.

Canonical definition and other sources

Named metric

Recommendation Gap

How often AI mentions a brand without recommending it.

The share of eligible answers that name the brand but do not recommend it: the engine knows the brand but does not choose it. Every mention is either a recommendation or a gap, so Recommendation Gap = Mention Rate − Shortlist Share. It does not require another brand to be recommended instead; Displacement Share measures that.

Recommendation Gap = eligible answers that mention the brand without recommending it ÷ eligible answers × 100 = Mention Rate − Shortlist Share

Formula
Per engine: answers that mention the brand with recommendation NO ÷ eligible answers × 100. Combined: the equal-weight mean of the engines that meet the minimum-data rule (3 engines are measured), never one pool of all answers. The published value is the published Mention Rate minus the published Shortlist Share, so the identity holds on rounded numbers.
Denominator
The brand's eligible answers on one engine: completed, not empty, finish status STOP, parser confidence of at least 0.68, and offering options in the category. Labels still unresolved after human review leave the denominator; an ineligible answer never counts as "not recommended".
Minimum sample
At least 36 eligible answers on an engine for that engine's score, and at least 2 such engines for a combined score. Below that the brand is shown as "insufficient data" and is not ranked.
How it is shown
Percentage points with a 95% interval, published beside Displacement Share.
Caveats
  • Answers come from API requests, not consumer chat apps, so personalization and account history are not reflected.

What it does not mean

  • That a competitor was recommended instead; Displacement Share measures that.
  • That the answer was negative about the brand.
  • Why the brand was not recommended.

Canonical definition and other sources

Named metric

Citation Share

How often a brand's own website is part of the evidence AI shows.

The share of eligible answers that cite at least one page on the brand's own website. It is counted per answer, not per URL, so an engine that lists many sources cannot dominate.

Citation Share = eligible answers citing at least one page on the brand's own site ÷ eligible answers × 100

Formula
Per engine: answers citing at least one page on the brand's own site ÷ eligible answers × 100. Where one domain hosts several products, a citation counts only when its URL path starts with that product's prefix. Combined: the equal-weight mean of the engines that meet the minimum-data rule (3 engines are measured), never one pool of all answers.
Denominator
The brand's eligible answers on one engine: completed, not empty, finish status STOP, parser confidence of at least 0.68, and offering options in the category. Labels still unresolved after human review leave the denominator; an ineligible answer never counts as "not recommended".
Minimum sample
At least 36 eligible answers on an engine for that engine's score, and at least 2 such engines for a combined score. Below that the brand is shown as "insufficient data" and is not ranked. The combined value also needs 2 engines whose citation metadata passed quality gate 5.
How it is shown
Whole-number percentage with a 95% interval. Withheld for an engine whose citation metadata fails quality gate 5.
Caveats
  • Answers come from API requests, not consumer chat apps, so personalization and account history are not reflected.

What it does not mean

  • That the brand was recommended: a citation is not a recommendation.
  • That the cited page is accurate or persuasive.
  • Traffic or referrals from AI answers.

Canonical definition and other sources

Mention Rate

How often AI names a brand at all.

The share of eligible answers that name the brand, whether or not they recommend it. A recommendation always counts as a mention, so Mention Rate = Shortlist Share + Recommendation Gap.

Mention Rate = eligible answers that mention the brand ÷ eligible answers × 100

Formula
Per engine: answers mentioning the brand ÷ eligible answers × 100. Combined: the equal-weight mean of the engines that meet the minimum-data rule (3 engines are measured), never one pool of all answers.
Denominator
The brand's eligible answers on one engine: completed, not empty, finish status STOP, parser confidence of at least 0.68, and offering options in the category. Labels still unresolved after human review leave the denominator; an ineligible answer never counts as "not recommended".
Minimum sample
At least 36 eligible answers on an engine for that engine's score, and at least 2 such engines for a combined score. Below that the brand is shown as "insufficient data" and is not ranked.
How it is shown
Whole-number percentage with a 95% interval, published so that Mention Rate = Shortlist Share + Recommendation Gap holds on the published numbers.
Caveats
  • Answers come from API requests, not consumer chat apps, so personalization and account history are not reflected.

What it does not mean

  • Being on the shortlist.
  • Positive sentiment or an accurate description.

Canonical definition and other sources

Displacement Share

Of the answers that mention a brand without recommending it, how often another tracked brand is recommended.

Among Recommendation Gap answers only, the share in which at least one other tracked brand is recommended. It explains the gap; it is not a share of all answers.

Displacement Share = gap answers in which at least one other tracked brand is recommended ÷ gap answers × 100

Formula
Per engine: gap answers in which another tracked brand is recommended ÷ gap answers × 100. Combined: the equal-weight mean of the sufficient engines that had at least one gap answer.
Denominator
The brand's gap answers on one engine: eligible answers that mention it with recommendation NO.
Minimum sample
Published only for brands that meet the Shortlist Share minimum-data rule, and empty when there are no gap answers.
How it is shown
Whole-number percentage printed beside Recommendation Gap, without its own interval.
Caveats
  • Only brands in the category's tracked universe count as competitors.

What it does not mean

  • That the competitor caused the omission.
  • A share of all answers; Displacement Rate measures that.

Canonical definition and other sources

First-Choice Rate

How often a brand is the single explicit top pick.

The share of eligible answers that name the brand as the single explicit first choice: exactly one recommended brand receives explicit preference or ranking language. Appearing first in a list is not enough.

First-Choice Rate = eligible answers naming the brand as the single explicit first choice ÷ eligible answers × 100

Formula
Per engine: answers naming the brand as the single explicit first choice ÷ eligible answers × 100. Combined: the equal-weight mean of the engines that meet the minimum-data rule (3 engines are measured), never one pool of all answers.
Denominator
The brand's eligible answers on one engine: completed, not empty, finish status STOP, parser confidence of at least 0.68, and offering options in the category. Labels still unresolved after human review leave the denominator; an ineligible answer never counts as "not recommended".
Minimum sample
At least 36 eligible answers on an engine for that engine's score, and at least 2 such engines for a combined score. Below that the brand is shown as "insufficient data" and is not ranked.
How it is shown
Whole-number percentage. Secondary: it never leads a headline.
Caveats
  • Checked each wave by blind human validation, which needs first-choice agreement of at least 90%.

What it does not mean

  • Being mentioned or listed first.
  • A ranking of products.

Canonical definition and other sources

Shortlist Stability

How often the verdict stays the same when the question is asked again.

The share of question and engine pairs whose recommend or do-not-recommend verdict for the brand is identical in every repetition. It is a quality signal shown next to scores, not a performance score.

Shortlist Stability = question × engine pairs with the same YES/NO verdict in every repetition ÷ pairs where every repetition is eligible and resolved × 100

Formula
Per engine over one wave, where every question runs 2 times on every engine. Combined: the equal-weight mean of the engines that meet the minimum-data rule (3 engines are measured), never one pool of all answers.
Denominator
Question × engine pairs in which every repetition is eligible and its label resolved.
Minimum sample
Computed for brands that meet the Shortlist Share minimum-data rule.
How it is shown
Whole-number percentage shown next to every score. Below 70% the score is marked "variable" and no badge is awarded.
Caveats
  • Repetitions are collected on different days, so stability mixes sampling noise with day-to-day change.

What it does not mean

  • That the result will persist next month.
  • The paid report's Within-model Stability, which also compares mention and position and covers only adaptively repeated questions.

Canonical definition and other sources

Combined scores are the equal-weighted mean of the engine scores, never one pool of all answers. We do not know the engines' usage shares reliably, so equal weight is the most defensible choice. There is no composite “AI visibility score”: a number that blends recommendations, citations and sentiment with weights is only as meaningful as its weights.

A worked example with fictional counts:

Worked example with fictional counts
EngineEligible answersRecommendedMentionedShortlist ShareMention RateRecommendation Gap
OpenAI48304062.583.320.8
Perplexity47364276.689.412.8
Gemini45203344.473.328.9
Combined140——618221

The combined Shortlist Share is (62.5 + 76.6 + 44.4) ÷ 3 = 61.2, published as 61. Pooling all answers would give 61.4; the two methods drift further apart as engines' sample sizes differ.

Statistics

Intervals, ties and rank ranges.

Question bootstrap. Answers to the same question are not independent, so intervals resample questions, not answers: 2000 draws of the 24 questions with replacement, each drawn question bringing all of its engine and repetition answers. The 95% interval runs from the 2.5th to the 97.5th percentile. When every observation is 0 or 1 the bootstrap has no spread, and a Wilson interval with n equal to the number of questions is used instead.

The random seed is the SHA-256 digest of the version, edition, category and window, and it is published with every edition, so anyone with the data can reproduce the intervals. Points are rounded to whole numbers, lower bounds rounded down and upper bounds rounded up, so rounding never narrows an interval.

Ranks. Brands are ranked by Shortlist Share inside every bootstrap draw. A brand's rank range is the 2.5th to 97.5th percentile of its ranks, shown as “#1” or “#1–2”. A brand first in at least 97.5% of draws is the sole leader: its whole 95% rank range is #1, and it is shown as #1. Otherwise every brand whose rank range includes #1 is shown as tied for first. Overlapping Shortlist Share ranges alone do not decide a tie: two brands can have overlapping ranges while one of them still ranks first in nearly every draw. Tables list brands by the point estimate, ties by name.

Windows. Each edition reports the single wave and, once three waves of the same version exist, a rolling three-wave window that pools them with the question still the resampling unit. The rolling window is the default view and the basis for badges; pooling reduces month-to-month noise but not the uncertainty from using a fixed question set, so its intervals narrow only a little. At a Shortlist Share near 50%, a single wave's combined interval is roughly ±15 points.

Month-over-month change. The change in Shortlist Share is estimated with a paired bootstrap over the same question draws in both months. An arrow appears only when its 95% interval excludes zero; otherwise the table says there is no clear change. Change is measured against the category's most recent earlier published edition; when a month was not published after a failed gate, the table names the month compared with instead of saying “last month”. Change is shown only within one version.

Category context. Each edition also reports the average number of brands recommended per answer, the share of recommendation slots taken by the three most-recommended brands, and the share that went to brands outside the tracked universe.

Badges

Three badge tiers, earned on the lower bound.

Badges use the rolling three-wave window and the lower end of the 95% interval, not the point estimate, so one lucky month cannot earn one. Badges cannot be bought, and being a RecoProof customer never earns one.

Badge tiers
TierBadge textRule (rolling three waves, same version)
Category Leader#1 on AI Shortlists — {Category}Sole leader (first in at least 97.5% of bootstrap draws, so its whole rank range is #1) and a Shortlist Share lower bound of at least 50.
AI RecommendedAI Recommended — {Category}Shortlist Share lower bound of at least 50, and Shortlist Share of at least 50 on at least 2 engines.
ShortlistedRegularly Shortlisted by AI — {Category}Shortlist Share lower bound of at least 25, and Shortlist Share of at least 25 on at least 2 engines.

Every tier also requires: a single-wave Shortlist Share point estimate at or above the tier's threshold in each of the last two waves; Shortlist Stability of at least 70%; and no public-versus-holdout warning. The highest qualifying tier wins.

  • Edition badge. Each badge image belongs to one edition, prints its month, and never changes.
  • Current badge. A second image is updated on every publication to the brand's most recent qualifying, unrevoked edition and always prints that edition's month, so an old result never looks new. A brand that never qualified has no current badge.
  • Evidence page. Every badge's embed code links to the evidence page of the edition it shows, which shows the tier, Shortlist Share with its interval and n, the engines, the window, the parser version, and whether the badge is current, lapsed or revoked. That status is recomputed on every publication.
  • Usage. A badge may not be altered and must show its category and month. Where a category name is too long for the badge's single line, the badge prints a shorter name: “Help desk software” for Help desk and customer support software. Only the Category Leader tier may say “#1”. It may not be presented as a claim that a product is better, and it may not use OpenAI, Google or Perplexity logos or imply their endorsement. Linking to the evidence page is not required, and nothing is offered in return for displaying a badge.
  • Revocation. A badge is revoked after a data correction that removes the qualifying result, confirmed manipulation, or an altered or misdated badge. The revocation is published with its date and reason in the edition's corrections and on the evidence page, and the current badge then falls back to the brand's newest unrevoked edition, or is removed when there is none.
Quality gates

Twelve checks before anything is published.

Gates are evaluated per category. A category that fails a gate is not published that month, while the other categories are. Every edition lists its gate results.

The twelve quality gates every category must pass before an edition is published
#GateThresholdIf it fails
1CompletionAt least 95% of runs completed for every category and engine.Missing runs are retried inside the collection window; if the category is still short, it is not published that month.
2EligibilityAt least 90% of each engine's completed runs are eligible answers.The engine is left out of combined scores that month, with the reasons stated in the edition.
3TruncationAt most 2% of runs still end at the output limit after the retry.The output limit is raised and the affected runs are collected again.
4Finish reasonThe provider's finish reason is retained for 100% of runs.No publication until the collection fault is fixed.
5Citation metadataProvider citation metadata is retained for 100% of runs on engines that return it.Citation Share is not published for that engine.
6Blind parser validationRecommendation agreement at least 95% with Cohen's kappa at least 0.85, and first-choice agreement at least 90%.The parser is fixed, the wave is re-parsed, and the new version is validated on a fresh sample.
7Review backlogUnresolved REVIEW_REQUIRED labels are at most 2% of brand observations.Publication waits until the review is complete.
8Collection windowEvery run falls within 72 hours, and each engine returned a single model version.If a model version changed mid-wave, the affected engine is collected again.
9CoverageAt least 8 brands in the category meet the minimum-data rule.The category is not published that month, with an insufficient-data note.
10CostActual provider cost is at most 150% of the estimate (wave budget $80).Collection stops while the cause is reviewed.
11ReproducibilityRe-running the scoring script on the retained data produces the same output, confirmed by matching output hashes.No publication.
12Manipulation checkThe public-versus-holdout Shortlist Share gap is computed for every brand.No publication until the check has run.
Schedule

Monthly editions on a published calendar.

Measurement has not started yet, so no edition is scheduled. The first edition's collection and publication dates will be announced here before collection begins. Every edition is collected from the first Monday of its month, within 72 hours, and published on the Tuesday eight days after that Monday at 14:00 UTC. The index home lists the next twelve dates.

Every edition keeps its own permanent address, and the category page always shows the latest one. A number that has been cited never changes without a dated correction.

Corrections

Corrections and data challenges.

Corrections. Errors are corrected within 5 business days and logged on the edition with the date. There are no silent edits.

Data challenges. A brand that believes an answer was labelled wrongly can challenge it with the run id from the open data. Challenges are answered within 10 business days. An accepted challenge fixes the parser, and the fix is applied to every brand; no single brand's score is ever changed by hand.

Open data

Labels and scores are open; raw answers are not.

Every edition's labels and scores are published under CC BY 4.0 at https://recoproof.com/data/ai-index/{edition}/, the canonical copy.

Files published with each edition
FileRowsContents
runs.csvOne row per runRun id, category, question id, engine, returned model version, repetition, time, finish reason, eligibility, citation count and domains, output tokens, cost.
observations.csvOne row per eligible answer and brandMention, recommendation, first choice, position, owned citation, parser version.
scores.csvOne row per brand, engine and windowShortlist Share, Mention Rate, Recommendation Gap, displacement share, Citation Share, stability, first-choice rate, n and 95% intervals.
manifest.jsonOne per editionVersion, public question texts, brand universe and domains, parser version, bootstrap seed, gate results, output hash.
DATASHEET.md—Purpose, collection method, known limits, recommended and discouraged uses.

Not published: raw answer text, full source URLs (only domains in this version), and holdout question texts until the version retires. Data files and embeddable charts are licensed under CC BY 4.0; badge images are not, because they carry the usage rules above.

Suggested attribution: Source: RecoProof AI Recommendation Index, {Category}, {Month YYYY}. https://recoproof.com/ai-recommendation-index/{category}/{edition} (CC BY 4.0). Every chart and edition page has copy-ready embed code and citations in text, APA and BibTeX.

Versioning

Current version: ari-v1.0.

Every published page and file carries its version. Month-over-month comparisons are made only within one major version.

What changes a version
ChangeVersion stepMonth-over-month comparison
Question set, engine set, a metric definition, a badge thresholdMajor (v2.0)None; a new series starts
A brand added to a universe, a new category, a parser fix, a new condition replacing a retired modelMinor (v1.1)Kept, with a change note; past waves are re-parsed when the parser changes
A typo or explanatory textPatch (v1.0.1)Unaffected
Limitations

Six known limits.

  1. APIs, not consumer apps. Personalization, account history and interface differences are not reflected.
  2. A fixed question set. 24 questions cannot represent every buyer question in a category, which is why intervals are wide.
  3. Partial location. Location is sent only where the API supports it; elsewhere only the country sentence in the question carries it.
  4. A recommendation is not success. Being recommended does not show that a product is better or that it wins sales.
  5. No causation. The index records whether a brand was recommended, not why.
  6. Engines change. Providers can change models and search without notice. The returned model version is recorded on every run, but invisible changes cannot be detected.