llmaudit.app / research

Research, 2026-08-23

How repeatable are AI recommendations? 4,500 answers from three model APIs

The same buyer question asked 5 times to the same model returned the same set of brands in 15.0 percent of cases (mean Jaccard 0.54); the first-named brand held in 75 percent of runs; half of all brands named (49.8 percent) appeared only once.

Dataset and raw answers below, CC BY 4.0. Author: Nahuel Soria, LLM Audit.

Key findings

  1. 1. Overall

    Across 900 cells (one question to one model, 5 runs each) the mean Jaccard overlap between runs was 0.54 (median 0.55). All 5 runs named the same set of brands in 15.0 percent of cells and the same order in 9.6 percent. The first-named brand held in 75.1 percent of runs. Of every brand named in a cell, 21.9 percent appeared in all runs and 49.8 percent appeared once.

  2. 2. By provider

    OpenAI (gpt-4.1-mini, temperature 0): Jaccard 0.84, same set in 34.7 percent of cells. Gemini (gemini-flash-latest, temperature 0): 0.46, 5.0 percent. Claude (claude-haiku-4-5, API default temperature 1.0 on that day): 0.32, 5.3 percent. Part of the Claude gap is the temperature, not the model; see the limitations.

  3. 3. By language

    English questions: Jaccard 0.58, same set in 17.7 percent of cells. Spanish questions about Argentina: 0.46 and 9.7 percent. The Spanish answers were also shorter (4.9 brands per list against 5.7).

  4. 4. By question type

    The most repeatable question was "What are the top 5 {category} right now?" (Jaccard 0.74, same set in 27.8 percent). The least repeatable were "I need to pick one of the {category}. What should I choose and why?" (0.45) and "Which {category} would you recommend for a small business?" (0.44). Decision questions are the least repeatable.

  5. 5. By category

    Most stable: VPN services (0.74), project management tools (0.70), website builders (0.70). Least stable: AI visibility tools (0.34), gyms in Buenos Aires (0.33), standing desks (0.40), prepagas in Argentina (0.40). Categories with a few dominant software brands repeat more; local services and physical products repeat less.

  6. 6. The "AI visibility tools" category is ambiguous to the models themselves

    Of 150 answers to that category, 60 named only ML observability tools (Weights and Biases, Fiddler, WhyLabs, Arize, Seldon, MLflow), 37 named only brand-visibility tools (Otterly, Profound, Peec, Semrush, Ahrefs) and 3 mixed the two. gpt-4.1-mini answered with ML observability tools 49 of 50 times; Gemini answered with brand-visibility tools 31 of 50 times. The term the industry uses for its own category is read as model monitoring half of the time.

Why it matters

One answer from a model is a sample, not the answer. If the same question to the same model returns the same set of brands in 15.0 percent of cases, then a tool that asks once and reports "you are not recommended" is reporting a coin flip, and a tool that reports a 0-100 score from one run is printing noise to one decimal. That is why LLM Audit reports counts with their N (named in X of N answers) and no score; the reasoning is in the methodology page, section "Why there is no score".

The finding is not new. SparkToro and Gumshoe found identical recommendation lists under 1 percent of the time across about 3,000 runs; Schulte, Bleeker and Kaufmann titled their paper "Don't Measure Once"; Sielinski frames AI visibility as an estimate with uncertainty; Petra Labs measured gaps of up to 32 points between the consumer app and the API. We align with all four.

What this study adds: it runs on the same call path as a shipping product (the buyer-question map of the free audit), so the repeatability it measures is the repeatability of the numbers on the report; it compares three model APIs side by side under the same questions; it covers English and Spanish (Argentina), not only English; and the raw answers are public, so every number on this page can be recounted.

Read the full reasoning in the methodology, section "Why there is no score". The prior work:

Method

30 categories (20 in English, 10 in Spanish about Argentina) x 10 buyer-question templates per language x 3 providers x 5 runs = 4,500 calls, all on 2026-08-23, 0 failed. Estimated cost USD 4.29.

Each call sends the question as a single user message, with no system prompt, no tools and no web search, exactly as the product's buyer-question map does. Temperature 0 on OpenAI and Gemini; Anthropic at the API default (1.0), because that was the product's call path on the day of the study (the product switched Claude to temperature 0 on 2026-08-23, after this study). Call order was randomized with a fixed seed so the 5 runs of one question were not adjacent in time.

Brand lists are extracted from each answer with the product's extractor (extractListedOptions) and normalized with its competitor-key rules, so that "Monday.com" and "monday.com" count as one brand. Metrics are computed per cell on the normalized sets and then aggregated.

Models

  • OpenAIgpt-4.1-mini

    Temperature 0. 5 runs per question.

  • Geminigemini-flash-latest

    Temperature 0. 5 runs per question.

  • Claudeclaude-haiku-4-5

    Temperature API default (1.0). 5 runs per question.

Categories

English (20):

  • project management tools
  • CRM tools for startups
  • email marketing platforms
  • password managers
  • VPN services
  • website builders
  • note-taking apps
  • meal planning apps
  • running shoes
  • electric toothbrushes
  • online course platforms
  • invoicing tools for freelancers
  • AI visibility tools
  • online form builders
  • podcast hosting platforms
  • budgeting apps
  • standing desks
  • noise-cancelling headphones
  • language learning apps
  • web hosting providers

Spanish, about Argentina (10):

  • billeteras virtuales en Argentina
  • tiendas online de hardware gamer en Argentina
  • prepagas en Argentina
  • apps de delivery de comida en Buenos Aires
  • bancos digitales en Argentina
  • agencias de viajes online en Argentina
  • plataformas de cursos online en español
  • tiendas de electrodomésticos en Argentina
  • gimnasios en Buenos Aires
  • servicios de streaming en Argentina

Question templates

English

  1. q01 What are the best {category}?
  2. q02 Which {category} would you recommend for a small business?
  3. q03 What are the most popular {category}?
  4. q04 What are the top 5 {category} right now?
  5. q05 Which {category} have the best free option?
  6. q06 What are the cheapest good {category}?
  7. q07 Which {category} do experts recommend?
  8. q08 I need to pick one of the {category}. What should I choose and why?
  9. q09 Compare the leading {category}.
  10. q10 Which {category} are best for beginners?

Spanish

  1. q01 ¿Cuáles son las mejores {categoría}?
  2. q02 ¿Qué {categoría} me recomendás para un negocio chico?
  3. q03 ¿Cuáles son las {categoría} más populares?
  4. q04 ¿Cuáles son las 5 mejores {categoría} hoy?
  5. q05 ¿Qué {categoría} tienen la mejor opción gratis?
  6. q06 ¿Cuáles son las {categoría} más baratas que valen la pena?
  7. q07 ¿Qué {categoría} recomiendan los expertos?
  8. q08 Tengo que elegir una de las {categoría}. ¿Cuál elijo y por qué?
  9. q09 Compará las principales {categoría}.
  10. q10 ¿Qué {categoría} son mejores para alguien que recién empieza?

Metrics

Cell
One question sent to one provider, with its 5 runs. 30 categories x 10 questions x 3 providers = 900 cells.
Jaccard
For two runs, the number of brands named in both divided by the number named in either. 1.0 means the two runs named exactly the same brands; 0 means none in common. The cell value is the mean over all 10 pairs of its 5 runs; the group value is the mean over cells.
Same set
Share of cells where all 5 runs named exactly the same brands, in any order.
Same order
Share of cells where all 5 runs named the same brands in the same order.
Top-1 stable
Within a cell, the share of runs whose first-named brand is the cell's most frequent first-named brand. Averaged over cells.
Brands in all runs / brands once
Of all distinct brands named across a cell's runs (the union), the share that appeared in every run, and the share that appeared in exactly one run. Summed over the group's cells before dividing.

Results

Overall, by provider and by language

Repeatability by provider and language
GroupCellsMean list lengthMean Jaccard (median)Same set, all runsSame order, all runsTop-1 stableBrands in all runsBrands named once
All9005.40.54 (0.55)15.0%9.6%75.1%21.9%49.8%
OpenAI3005.60.84 (0.88)34.7%24.0%94.5%63.3%14.5%
Gemini3004.90.46 (0.44)5.0%0.7%69.3%16.8%48.4%
Claude3005.70.32 (0.27)5.3%4.0%61.5%7.3%65.9%
English questions6005.70.58 (0.60)17.7%10.8%77.4%25.3%45.3%
Spanish questions (Argentina)3004.90.46 (0.42)9.7%7.0%70.5%15.5%58.2%

By question template

All categories and providers; the Spanish template with the same id is the translation shown under Method.

Question (English template)Mean JaccardSame set, all runsTop-1 stable
What are the best {category}?0.558.9%78.7%
Which {category} would you recommend for a small business?0.4411.1%69.3%
What are the most popular {category}?0.5311.1%76.9%
What are the top 5 {category} right now?0.7427.8%88.9%
Which {category} have the best free option?0.5115.6%72.9%
What are the cheapest good {category}?0.4911.1%71.8%
Which {category} do experts recommend?0.5416.7%76.4%
I need to pick one of the {category}. What should I choose and why?0.4514.4%64.2%
Compare the leading {category}.0.5921.1%76.0%
Which {category} are best for beginners?0.5412.2%76.0%

By category

All providers, 30 cells per category.

CategoryLanguageMean JaccardSame set, all runsTop-1 stable
project management toolsen0.7030.0%82.7%
CRM tools for startupsen0.5416.7%76.0%
email marketing platformsen0.6013.3%79.3%
password managersen0.6023.3%79.3%
VPN servicesen0.7436.7%89.3%
website buildersen0.7030.0%86.7%
note-taking appsen0.6420.0%79.3%
meal planning appsen0.5813.3%78.0%
running shoesen0.4110.0%66.7%
electric toothbrushesen0.433.3%64.7%
online course platformsen0.6023.3%81.3%
invoicing tools for freelancersen0.6023.3%78.0%
AI visibility toolsen0.343.3%65.3%
online form buildersen0.6626.7%84.0%
podcast hosting platformsen0.6630.0%79.3%
budgeting appsen0.6110.0%78.0%
standing desksen0.400.0%66.0%
noise-cancelling headphonesen0.446.7%64.7%
language learning appsen0.6920.0%86.7%
web hosting providersen0.6013.3%82.7%
billeteras virtuales en Argentinaes0.5310.0%75.3%
tiendas online de hardware gamer en Argentinaes0.4610.0%73.3%
prepagas en Argentinaes0.406.7%66.0%
apps de delivery de comida en Buenos Aireses0.5023.3%72.0%
bancos digitales en Argentinaes0.420.0%70.7%
agencias de viajes online en Argentinaes0.4713.3%68.7%
plataformas de cursos online en españoles0.506.7%66.7%
tiendas de electrodomésticos en Argentinaes0.4513.3%68.7%
gimnasios en Buenos Aireses0.333.3%66.0%
servicios de streaming en Argentinaes0.5210.0%78.0%

"AI visibility tools", by provider

Of 150 answers: 60 named only ML observability tools, 37 named only brand-visibility tools, 3 mixed the two; the rest named neither or no list was extracted. OpenAI: 0 brand-visibility only, 49 ML observability only, 0 mixed. Gemini: 31, 0, 3. Claude: 6, 11, 0.

Limitations

  • The product's list extractor found no list in 386 of 4,500 answers (8.6 percent): 260 from Claude, 85 from Gemini, 41 from OpenAI, mostly prose answers to "Compare the leading..." and "What should I choose and why?". An empty run against a run with a list scores Jaccard 0, so the main table penalizes the models that answer in prose. The sensitivity table below repeats the metrics on runs with a list only: the conclusion does not change.
  • Temperature confound: OpenAI and Gemini ran at temperature 0, Anthropic at the API default of 1.0, because that was the product's call path on the day of the study. Part of the gap between Claude and OpenAI is the parameter, not the model. The product switched Claude to temperature 0 on 2026-08-23, after this study.
  • Budget-tier models (gpt-4.1-mini, gemini-flash-latest, claude-haiku-4-5), not the flagships. A flagship model may name different brands and may repeat itself more or less.
  • Five runs per cell on one day. This is a repeatability measurement, not a time series; it says nothing about how answers drift over weeks.
  • Template questions, not real user prompts. The study compares runs of the same question, so the question wording only has to be constant, not representative.
  • Brand normalization is heuristic: lists are extracted with the product's extractor and names are normalized with its competitor-key rules. Grouped lists and bold bullets are known weak spots. The raw answers are published so anyone can recount.

Sensitivity: runs with an extracted list only

Cells with at least 2 runs that produced a list; the metrics are computed on those runs only.

GroupCellsMean runs per cellMean JaccardSame set, all runsTop-1 stableBrands in all runsBrands named once
All8604.80.5413.8%76.1%23.5%49.3%
OpenAI2935.00.8434.5%95.0%64.5%13.9%
Gemini2954.80.474.7%71.2%19.4%47.8%
Claude2724.50.271.5%61.0%8.4%65.6%
English5714.80.5816.6%78.4%27.3%44.6%
Spanish (Argentina)2894.70.458.3%71.5%16.5%57.9%

Download the dataset

Three files, licensed CC BY 4.0. The script that produced them ships with the product and its method is on this page; the repository is private, so there is no source link.

  • dataset.csv (619 KB)

    One row per run: category, language, question, provider, model, run number, whether the call succeeded, how many options were extracted, and the extracted options as JSON.

  • cells.json (282 KB)

    One object per cell (question x provider, 900 in total) with the per-cell metrics: mean list length, mean Jaccard between runs, same set, same order, top-1 stability, brands in the union, in all runs and in one run only.

  • raw.json.gz (2.9 MB)

    The 4,500 raw answers with the extracted and normalized brand lists, token usage and estimated cost per call, plus the study metadata (categories, templates, models).

How to cite

LLM Audit, How repeatable are AI recommendations? 2026-08-23, https://llmaudit.app/research/how-repeatable-are-ai-recommendations

The dataset is licensed under CC BY 4.0: reuse it with attribution to LLM Audit and a link to this page.

Changelog

  • 2026-08-23First publication.
Run a free auditRead the methodology