Why an LLM Gives Different Answers to the Same Data Question
Model output varies between runs even at settings meant to be deterministic, and GA4 data can change for days. Save the SQL, freeze the data, and judge a tool on its numbers, not its wording.
Three platforms, three answers, one budget to defend. Your GA4 export already holds the answer, and the first finding is free and never leaves your browser. Get your first finding free
By Joris van Huët, Founder & CEOUpdated 3 min read
Because output varies between runs even at settings meant to be deterministic, and your data moves underneath it. OpenAI's documentation calls chat completions non-deterministic by default, and Anthropic's says that even at temperature 0 results will not be fully deterministic. Freeze the query and the data, and judge a tool on its numbers, not its wording.
What has been measured?
- Run to run. Atil et al. (arXiv, submitted 6 August 2024, revised 2 April 2025) evaluated five LLMs configured to be deterministic on eight common tasks across 10 runs.
- Code, the nearest thing to SQL. Ouyang, Zhang, Harman and Wang (arXiv, revised 17 October 2024) studied ChatGPT on 829 code generation problems from three benchmarks.
- Documentation and data. OpenAI says the seed parameter gives "mostly" deterministic output, and Anthropic's page for Claude Sonnet 5 says setting temperature, top-p or top-k to non-default values returns a 400 error. On the data side, Google says GA4 processing can take 24 to 48 hours and credit for a key event can change for up to 12 days.
All three papers are arXiv preprints; the rest is official documentation.
How do you check your own tool?
- Freeze the data. Export a closed period ending more than 12 days back to a dated CSV or table, so the data cannot move.
- Ask the same question at least three times, in fresh chats. Log the tool, the model name it shows, the date, the exact prompt, the numbers returned and any SQL.
- Compare the numbers. Pass: identical in every run, whatever the wording. Fail: any numeric difference. You have measured the tool's own variation.
- Run the saved SQL twice on the frozen table. The two results should match each other and the numbers the tool quoted. If they do not, the tool quoted numbers its own query does not produce, and because the query is text you can see why.
- Keep the audit trail. The prompt, model string, date, SQL and file name together. Rerun when the model behind the tool changes.
Is a repeatable answer a correct one?
No. A tool can repeat a wrong number every time. Repeatability is the floor; correctness comes from reconciling to Shopify and GA4, and for causal claims from a holdout or geo test. An LLM is still a good way to draft SQL and explain it: once the SQL is saved, the repeatable part is the query, not the model.
Later, if you want numbers you can recompute, a causal attribution read like Causality Engine's lets you check every number against the GA4 export, recomputed in your browser.
Sources, 30 September 2026: Non-Determinism of "Deterministic" LLM Settings (Atil et al., arXiv, 2025); An Empirical Study of the Non-determinism of ChatGPT in Code Generation (Ouyang et al., arXiv, 2024); How is ChatGPT's behavior changing over time? (Chen, Zaharia and Zou, arXiv, 2023); Advanced usage, reproducible outputs (OpenAI, 2026); Glossary, temperature (Anthropic, 2026); Claude Sonnet 5 model page (Anthropic, 2026); Data freshness (Google, 2026).
Related answers
Frequently asked questions
Can I make an LLM give the same answer every time?
Not fully. OpenAI documents a seed parameter that gives mostly deterministic output, and Anthropic says results at temperature 0 will not be fully deterministic. The dependable route is to save the SQL the tool writes and rerun it on a frozen table.Why does my GA4 data change after I have pulled a report?
GA4 processing can take 24 to 48 hours, and Google says credit for a key event can change for up to 12 days. Pull closed periods, or save dated exports so you can compare.What should I log when I use an LLM on analytics?
The prompt, the model name as shown, the date, the numbers returned, the SQL, and the file or table it ran on. With those six, anyone can rerun the question.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Have an audience of ecommerce operators? Earn 20% recurring commission by recommending the €99 read.
Keep reading
Terms in this article
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Causal AttributionCausal Attribution uses causal inference to determine which marketing touchpoints genuinely cause conversions, not just correlate with them.
- CausalityCausality is the relationship where one event directly causes another, essential for identifying specific actions that drive desired outcomes in marketing.
- IncrementalityIncrementality is the part of an outcome, such as orders or revenue, that a marketing activity caused: the extra results compared with what would have happened without it. It is a causal effect, not the number of conversions credited to a channel.
- ShopifyShopify is an ecommerce platform for creating online stores and selling products. Attribution modeling shows which marketing channels drive traffic and conversions within Shopify.