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. 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. 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. 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. 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. 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. 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:
- AI recommendation lists rarely repeat
SparkToro and Gumshoe, via Search Engine Land
- Don't Measure Once: Measuring Visibility in AI Search (GEO)
Schulte, Bleeker, Kaufmann (arXiv 2604.07585)
- Quantifying Uncertainty in AI Visibility: A Statistical Framework for Generative Search Measurement
Ronald Sielinski (arXiv 2603.08924)
- How accurate are AI visibility tools
Petra Labs
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
- q01 What are the best {category}?
- q02 Which {category} would you recommend for a small business?
- q03 What are the most popular {category}?
- q04 What are the top 5 {category} right now?
- q05 Which {category} have the best free option?
- q06 What are the cheapest good {category}?
- q07 Which {category} do experts recommend?
- q08 I need to pick one of the {category}. What should I choose and why?
- q09 Compare the leading {category}.
- q10 Which {category} are best for beginners?
Spanish
- q01 ¿Cuáles son las mejores {categoría}?
- q02 ¿Qué {categoría} me recomendás para un negocio chico?
- q03 ¿Cuáles son las {categoría} más populares?
- q04 ¿Cuáles son las 5 mejores {categoría} hoy?
- q05 ¿Qué {categoría} tienen la mejor opción gratis?
- q06 ¿Cuáles son las {categoría} más baratas que valen la pena?
- q07 ¿Qué {categoría} recomiendan los expertos?
- q08 Tengo que elegir una de las {categoría}. ¿Cuál elijo y por qué?
- q09 Compará las principales {categoría}.
- 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
| Group | Cells | Mean list length | Mean Jaccard (median) | Same set, all runs | Same order, all runs | Top-1 stable | Brands in all runs | Brands named once |
|---|---|---|---|---|---|---|---|---|
| All | 900 | 5.4 | 0.54 (0.55) | 15.0% | 9.6% | 75.1% | 21.9% | 49.8% |
| OpenAI | 300 | 5.6 | 0.84 (0.88) | 34.7% | 24.0% | 94.5% | 63.3% | 14.5% |
| Gemini | 300 | 4.9 | 0.46 (0.44) | 5.0% | 0.7% | 69.3% | 16.8% | 48.4% |
| Claude | 300 | 5.7 | 0.32 (0.27) | 5.3% | 4.0% | 61.5% | 7.3% | 65.9% |
| English questions | 600 | 5.7 | 0.58 (0.60) | 17.7% | 10.8% | 77.4% | 25.3% | 45.3% |
| Spanish questions (Argentina) | 300 | 4.9 | 0.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 Jaccard | Same set, all runs | Top-1 stable |
|---|---|---|---|
| What are the best {category}? | 0.55 | 8.9% | 78.7% |
| Which {category} would you recommend for a small business? | 0.44 | 11.1% | 69.3% |
| What are the most popular {category}? | 0.53 | 11.1% | 76.9% |
| What are the top 5 {category} right now? | 0.74 | 27.8% | 88.9% |
| Which {category} have the best free option? | 0.51 | 15.6% | 72.9% |
| What are the cheapest good {category}? | 0.49 | 11.1% | 71.8% |
| Which {category} do experts recommend? | 0.54 | 16.7% | 76.4% |
| I need to pick one of the {category}. What should I choose and why? | 0.45 | 14.4% | 64.2% |
| Compare the leading {category}. | 0.59 | 21.1% | 76.0% |
| Which {category} are best for beginners? | 0.54 | 12.2% | 76.0% |
By category
All providers, 30 cells per category.
| Category | Language | Mean Jaccard | Same set, all runs | Top-1 stable |
|---|---|---|---|---|
| project management tools | en | 0.70 | 30.0% | 82.7% |
| CRM tools for startups | en | 0.54 | 16.7% | 76.0% |
| email marketing platforms | en | 0.60 | 13.3% | 79.3% |
| password managers | en | 0.60 | 23.3% | 79.3% |
| VPN services | en | 0.74 | 36.7% | 89.3% |
| website builders | en | 0.70 | 30.0% | 86.7% |
| note-taking apps | en | 0.64 | 20.0% | 79.3% |
| meal planning apps | en | 0.58 | 13.3% | 78.0% |
| running shoes | en | 0.41 | 10.0% | 66.7% |
| electric toothbrushes | en | 0.43 | 3.3% | 64.7% |
| online course platforms | en | 0.60 | 23.3% | 81.3% |
| invoicing tools for freelancers | en | 0.60 | 23.3% | 78.0% |
| AI visibility tools | en | 0.34 | 3.3% | 65.3% |
| online form builders | en | 0.66 | 26.7% | 84.0% |
| podcast hosting platforms | en | 0.66 | 30.0% | 79.3% |
| budgeting apps | en | 0.61 | 10.0% | 78.0% |
| standing desks | en | 0.40 | 0.0% | 66.0% |
| noise-cancelling headphones | en | 0.44 | 6.7% | 64.7% |
| language learning apps | en | 0.69 | 20.0% | 86.7% |
| web hosting providers | en | 0.60 | 13.3% | 82.7% |
| billeteras virtuales en Argentina | es | 0.53 | 10.0% | 75.3% |
| tiendas online de hardware gamer en Argentina | es | 0.46 | 10.0% | 73.3% |
| prepagas en Argentina | es | 0.40 | 6.7% | 66.0% |
| apps de delivery de comida en Buenos Aires | es | 0.50 | 23.3% | 72.0% |
| bancos digitales en Argentina | es | 0.42 | 0.0% | 70.7% |
| agencias de viajes online en Argentina | es | 0.47 | 13.3% | 68.7% |
| plataformas de cursos online en español | es | 0.50 | 6.7% | 66.7% |
| tiendas de electrodomésticos en Argentina | es | 0.45 | 13.3% | 68.7% |
| gimnasios en Buenos Aires | es | 0.33 | 3.3% | 66.0% |
| servicios de streaming en Argentina | es | 0.52 | 10.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.
| Group | Cells | Mean runs per cell | Mean Jaccard | Same set, all runs | Top-1 stable | Brands in all runs | Brands named once |
|---|---|---|---|---|---|---|---|
| All | 860 | 4.8 | 0.54 | 13.8% | 76.1% | 23.5% | 49.3% |
| OpenAI | 293 | 5.0 | 0.84 | 34.5% | 95.0% | 64.5% | 13.9% |
| Gemini | 295 | 4.8 | 0.47 | 4.7% | 71.2% | 19.4% | 47.8% |
| Claude | 272 | 4.5 | 0.27 | 1.5% | 61.0% | 8.4% | 65.6% |
| English | 571 | 4.8 | 0.58 | 16.6% | 78.4% | 27.3% | 44.6% |
| Spanish (Argentina) | 289 | 4.7 | 0.45 | 8.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.