{"slug":"are-llm-analyses-reproducible-2026","title":"Are LLM Analyses Reproducible? What Qualitative Researchers Need to Know","description":"LLMs are non-deterministic even at temperature 0, and hosted models drift between versions. What that means for qualitative rigor, what to log, and how to report test-retest agreement.","keywords":"LLM reproducibility, AI qualitative coding reliability, LLM non-determinism, temperature 0 determinism, model version drift, GPT drift, test-retest reliability LLM, Cohen's kappa AI coding, dependability qualitative research, confirmability, AI coding audit trail, human-in-the-loop validation","date":"2026-07-12","author":"Qualitati Research Team","category":"Methodology","readTime":"11 min read","content":"<p><strong>Short answer:</strong> Not by default. Large language models can return different outputs for identical inputs &mdash; even at temperature 0 &mdash; and hosted models change under your feet through silent version updates and deprecations. For qualitative researchers this threatens dependability and confirmability. Reproducibility is achievable in a documented, statistical form: log your full configuration, run the analysis at least twice, report test-retest agreement (Cohen's kappa between runs), and validate against a human-coded sample.</p>\n\n<h2>Are LLM analyses reproducible?</h2>\n<p>Reproducibility in qualitative analysis has always been a nuanced claim &mdash; two human coders never agree perfectly either. But when an LLM does the coding, two distinct instabilities enter the pipeline that most methods sections currently ignore. The first is <strong>within-version non-determinism</strong>: the same model, same prompt, and same settings can produce different codes on Tuesday than on Monday. The second is <strong>across-version drift</strong>: the model you cite in your paper may behave differently &mdash; or no longer exist &mdash; by the time a reviewer or replicator tries to re-run your analysis.</p>\n<p>Last updated: July 12, 2026. This guide covers why both instabilities happen, what the empirical evidence says, why it matters for qualitative rigor, and a concrete logging-and-agreement protocol you can adopt today.</p>\n\n<h2>Key takeaways</h2>\n<ul>\n  <li><strong>Temperature 0 does not mean deterministic.</strong> A large empirical study of ChatGPT code generation found that setting temperature to 0 reduces but does not eliminate output variation across identical requests (<a href=\"https://dl.acm.org/doi/10.1145/3697010\" target=\"_blank\" rel=\"noopener noreferrer\">Ouyang et al., ACM TOSEM, 2025</a>).</li>\n  <li><strong>The variation is structural, not a bug you can toggle off.</strong> Batch-dependent GPU reduction kernels and Mixture-of-Experts routing mean identical prompts can take different numerical paths through the model (<a href=\"https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference/\" target=\"_blank\" rel=\"noopener noreferrer\">Thinking Machines Lab, 2025</a>).</li>\n  <li><strong>Models drift between versions.</strong> GPT-4's accuracy on a prime-number identification task fell from 84% to 51% between its March and June 2023 releases, with instruction-following degrading in parallel (<a href=\"https://arxiv.org/abs/2307.09009\" target=\"_blank\" rel=\"noopener noreferrer\">Chen, Zaharia &amp; Zou, 2023</a>).</li>\n  <li><strong>Annotation reliability can fall below scientific thresholds.</strong> Repeating identical classification inputs to ChatGPT produced output consistency that fell short of standard reliability criteria; pooling multiple runs improved it (<a href=\"https://arxiv.org/abs/2304.11085\" target=\"_blank\" rel=\"noopener noreferrer\">Reiss, 2023</a>).</li>\n  <li><strong>The fix is procedural:</strong> pin a model snapshot, log everything, run the analysis twice, report between-run kappa, and keep a human validation loop.</li>\n</ul>\n\n<h2>Why do LLMs give different answers even at temperature 0?</h2>\n<p>Sampling temperature is the obvious source of randomness: at typical settings the model draws tokens probabilistically, so two runs diverge by design. Most researchers know to set temperature to 0 (greedy decoding) for analytical tasks. Fewer know that this does not produce identical outputs either.</p>\n<p>Ouyang and colleagues systematically re-ran identical code-generation requests and found substantial instability even under &ldquo;deterministic&rdquo; settings; under default settings, the majority of tasks produced zero test-equivalent outputs across repeated requests (<a href=\"https://dl.acm.org/doi/10.1145/3697010\" target=\"_blank\" rel=\"noopener noreferrer\">ACM TOSEM, 2025</a>). A separate study of supposedly deterministic configurations across multiple models reached the same conclusion: greedy decoding narrows but does not close the gap (<a href=\"https://arxiv.org/abs/2408.04667\" target=\"_blank\" rel=\"noopener noreferrer\">Atil et al., 2024</a>).</p>\n<p>The mechanism is now well understood. In one demonstration, sampling 1,000 completions of the same prompt at temperature 0 produced 80 unique outputs. The dominant cause is not floating-point noise alone but <em>batch-size dependence</em>: the numerical result of a GPU reduction depends on how many other requests are batched with yours on the server, which you cannot see or control as an API user (<a href=\"https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference/\" target=\"_blank\" rel=\"noopener noreferrer\">Thinking Machines Lab, 2025</a>). Mixture-of-Experts architectures add another path: expert routing can shift with server load. When two candidate tokens are nearly tied, a one-bit difference in an intermediate activation flips the output &mdash; and every token after it.</p>\n<p>The practical upshot for a researcher: <strong>you cannot promise bit-identical re-runs of a hosted LLM analysis.</strong> What you can promise is a documented configuration and a measured level of run-to-run agreement.</p>\n\n<h2>What is model version drift, and why do deprecations matter?</h2>\n<p>Hosted models are moving targets. Providers retrain, fine-tune, and silently update the models behind stable-sounding names. The canonical demonstration is Chen, Zaharia and Zou's longitudinal evaluation: between March and June 2023, GPT-4's accuracy at identifying prime numbers dropped from 84% to 51%, code formatting errors increased, and willingness to follow user instructions declined &mdash; while the same period <em>improved</em> other tasks (<a href=\"https://arxiv.org/abs/2307.09009\" target=\"_blank\" rel=\"noopener noreferrer\">How Is ChatGPT's Behavior Changing over Time?, 2023</a>). The trends for GPT-3.5 and GPT-4 often pointed in opposite directions, which means you cannot even assume drift is monotonic improvement.</p>\n<p>Deprecation is the harder deadline. Providers retire model snapshots on schedules of months to a few years. Once the snapshot you used is gone, exact replication of your analysis becomes impossible &mdash; no amount of logging brings the instrument back. Two mitigations exist: pin dated snapshots rather than floating aliases (for example, a versioned model ID rather than a &ldquo;latest&rdquo; alias), and archive the model's raw outputs alongside your data so the analysis itself remains auditable after the model is retired.</p>\n\n<h2>Why does non-reproducibility threaten qualitative rigor?</h2>\n<p>In Lincoln and Guba's trustworthiness framework, <strong>dependability</strong> asks whether findings are consistent and could be repeated, and <strong>confirmability</strong> asks whether findings are shaped by the data rather than by analyst (or instrument) idiosyncrasy. Both are conventionally demonstrated through an audit trail: a reader should be able to trace every theme back through coding decisions to raw data.</p>\n<p>An unstable AI coder undermines both at once. If the &ldquo;coder&rdquo; produces different codes on re-run, the coding decisions in your audit trail describe one realization of a random process, not a stable procedure. And the evidence says the instability is large enough to matter for research: Reiss found that repeating identical annotation inputs to ChatGPT produced consistency below accepted reliability thresholds, and that even minor prompt rewording shifted outputs (<a href=\"https://arxiv.org/abs/2304.11085\" target=\"_blank\" rel=\"noopener noreferrer\">Reiss, 2023</a>). Task type matters too: in a medical-education coding study, GPT-4 applying a fixed human codebook reached a mean Cohen's kappa of 0.71 against humans, but in inductive mode only 31% of AI-generated codes matched human ones (<a href=\"https://learning-analytics.info/index.php/JLA/article/view/8575\" target=\"_blank\" rel=\"noopener noreferrer\">Journal of Learning Analytics, 2024</a>). Deductive coding with a tight codebook is far more stable ground than open inductive generation.</p>\n\n<h2>What should you log to make an LLM analysis reproducible?</h2>\n<p>Treat the model as an instrument and log its calibration. The following table is the minimum a methods section (or supplementary file) should contain.</p>\n<table>\n  <thead>\n    <tr><th>What to log</th><th>Why it matters</th></tr>\n  </thead>\n  <tbody>\n    <tr><td>Provider and exact model ID (pinned, dated snapshot)</td><td>Floating aliases silently change; a dated snapshot is the closest thing to a fixed instrument</td></tr>\n    <tr><td>Access date(s) of every analysis run</td><td>Anchors the analysis against version drift; providers update models without notice</td></tr>\n    <tr><td>Sampling parameters (temperature, top_p, max tokens, seed if offered)</td><td>These change output distributions dramatically; &ldquo;defaults&rdquo; differ across providers and over time</td></tr>\n    <tr><td>Full prompt text: system prompt, task instructions, codebook, few-shot examples</td><td>Minor wording changes measurably shift annotations (Reiss, 2023)</td></tr>\n    <tr><td>Number of runs and the aggregation rule (single run, majority vote, pooling)</td><td>Pooled or majority-voted outputs are more reliable than single runs and must be described to be replicated</td></tr>\n    <tr><td>Post-processing rules (code merging, normalization, exclusions)</td><td>Silent cleanup steps are a classic source of irreproducibility</td></tr>\n    <tr><td>Raw model outputs, archived</td><td>The only guaranteed replication artifact once a snapshot is deprecated</td></tr>\n    <tr><td>Between-run agreement statistic</td><td>Quantifies the instability instead of hiding it (see next section)</td></tr>\n  </tbody>\n</table>\n\n<h2>How do you measure whether your LLM coding is stable?</h2>\n<p>Borrow test-retest logic from psychometrics: <strong>run the identical analysis twice (or more), treat the runs as two coders, and compute an agreement coefficient</strong> &mdash; Cohen's kappa for two runs on categorical codes, Krippendorff's alpha for more runs or more complex data. This turns &ldquo;the model might vary&rdquo; into a number a reviewer can evaluate. By the common Landis-and-Koch reading, between-run kappa above 0.80 is strong; 0.61&ndash;0.80 is substantial but worth tightening; below that, your codebook or prompt is underspecified and the single-run analysis should not be trusted.</p>\n<p>Three practical refinements:</p>\n<ul>\n  <li><strong>If between-run agreement is low, fix the prompt before scaling.</strong> Ambiguous code definitions produce both human and machine unreliability; the model is amplifying a codebook problem. Our guide on <a href=\"/blog/how-to-code-qualitative-data\" target=\"_self\">how to code qualitative data</a> covers writing code definitions that survive this test.</li>\n  <li><strong>Pool runs for production coding.</strong> Majority-voting across three or five runs measurably improves reliability over any single run (<a href=\"https://arxiv.org/abs/2304.11085\" target=\"_blank\" rel=\"noopener noreferrer\">Reiss, 2023</a>).</li>\n  <li><strong>Report machine-human agreement separately from machine-machine agreement.</strong> A model can agree perfectly with itself and still be wrong. See our deep dive on <a href=\"/blog/llm-human-coder-inter-rater-reliability-2026\" target=\"_self\">LLM&ndash;human inter-rater reliability</a> for benchmarks and study design.</li>\n</ul>\n\n<h2>Where does human-in-the-loop validation fit?</h2>\n<p>Test-retest agreement guards against instability; it does not guard against a model that is stably wrong. The complementary control is human review of a stratified sample: draw a random sample of AI-coded segments (stratified by code, so rare codes are checked too), have a researcher code them blind, compute human&ndash;AI kappa, and adjudicate disagreements. Keep the disagreement log &mdash; it is the confirmability evidence reviewers actually want. Run a deliberate disconfirmation pass as well: search for segments that contradict the emerging themes before accepting the AI's synthesis. Our <a href=\"/blog/audit-ai-qualitative-coding-checklist-2026\" target=\"_self\">checklist for auditing AI qualitative coding</a> walks through this end to end.</p>\n\n<h2>The LLM reproducibility checklist</h2>\n<ul>\n  <li>Pin a dated model snapshot; never analyze on a floating &ldquo;latest&rdquo; alias.</li>\n  <li>Set temperature to 0 (or the minimum) &mdash; and still do not assume determinism.</li>\n  <li>Freeze prompts and codebook under version control before the main analysis.</li>\n  <li>Run the full analysis at least twice; report between-run kappa or alpha.</li>\n  <li>Use majority voting or pooling across runs for the final code assignments.</li>\n  <li>Archive raw model outputs with timestamps and run metadata.</li>\n  <li>Validate a stratified human-coded sample; report human&ndash;AI agreement.</li>\n  <li>Record every post-processing step applied after model output.</li>\n  <li>State the model's access dates and acknowledge deprecation risk in limitations.</li>\n  <li>Prefer deductive codebook application over unconstrained inductive generation when reproducibility is the priority.</li>\n</ul>\n\n<h2>Where Qualitati fits</h2>\n<p>Qualitati's analysis tools are built around the assumption that AI output must be auditable rather than trusted. <a href=\"/themelens\" target=\"_self\">ThemeLens</a> anchors every synthesized theme to verbatim participant quotes that are verified against the source transcripts, so a human can always trace a claim back to data &mdash; the confirmability requirement, operationalized. The <a href=\"/qda\" target=\"_self\">QDA Workspace</a> keeps AI-assisted coding under human override, letting you re-run, compare, and correct code assignments instead of accepting a single stochastic pass. And because runs are cheap, the run-twice-and-compare protocol described above is practical rather than aspirational. <a href=\"/pricing\" target=\"_self\">Pricing is transparent and pay-as-you-go</a>, with a free tier to test the workflow.</p>\n\n<h2>Limitations and trade-offs</h2>\n<ul>\n  <li><strong>Perfect replication of hosted models is not attainable.</strong> Logging and agreement statistics bound the uncertainty; they do not eliminate it. Only locally hosted open-weight models with fixed inference stacks approach bit-level reproducibility, at a large capability and infrastructure cost.</li>\n  <li><strong>Test-retest agreement measures stability, not validity.</strong> High between-run kappa with low human&ndash;AI kappa means a consistently miscalibrated instrument.</li>\n  <li><strong>The evidence base is young and shifting.</strong> Most published reliability studies tested 2023&ndash;2025 models; newer models may be more stable on some tasks and drift-prone on others. Re-verify on your own data.</li>\n</ul>\n\n<h2>Frequently asked questions</h2>\n<h3>Does setting temperature to 0 make an LLM deterministic?</h3>\n<p>No. It removes sampling randomness but not the batch-dependent numerical variation in server-side inference or Mixture-of-Experts routing effects. Empirical studies find repeated identical requests still diverge at temperature 0 (<a href=\"https://dl.acm.org/doi/10.1145/3697010\" target=\"_blank\" rel=\"noopener noreferrer\">Ouyang et al., 2025</a>).</p>\n<h3>Is naming the model in my methods section enough?</h3>\n<p>No. &ldquo;We used GPT-4&rdquo; describes a family of changing systems, not an instrument. Report the dated snapshot ID, access dates, sampling parameters, full prompts, number of runs, and the aggregation rule &mdash; and archive raw outputs.</p>\n<h3>What agreement statistic should I report for repeated LLM runs?</h3>\n<p>Cohen's kappa for two runs over categorical codes; Krippendorff's alpha for three or more runs, missing data, or non-nominal codes. Report it alongside human&ndash;AI agreement on a validation sample.</p>\n<h3>Will journals accept LLM-assisted qualitative coding?</h3>\n<p>Increasingly yes, when the reliability case is made explicitly: logged configuration, between-run agreement, human validation sample, and an audit trail from themes to quotes. Undocumented single-run AI coding is what reviewers reject.</p>\n\n<h2>Conclusion</h2>\n<p>LLM analyses are not reproducible in the bit-identical sense, and pretending otherwise is a rigor problem waiting for a reviewer to find it. They are reproducible in the sense that matters for qualitative research: as a documented procedure with measured stability. Pin the snapshot, log the configuration, run it twice, report the kappa, and keep a human in the loop. If you want a workflow where the audit trail comes built in, try the <a href=\"/qda\" target=\"_self\">Qualitati QDA Workspace</a> &mdash; <a href=\"/pricing\" target=\"_self\">start free, no credit card required</a>.</p>","related":[{"slug":"synthetic-survey-panels-marginal-fidelity-2026","title":"Do Synthetic Survey Panels Simulate People? A 2026 Test","description":"Do synthetic survey panels simulate real respondents? A 2026 test finds matching published averages is not proof: a no-persona prompt beat panels 9 of 9 times.","category":"Methodology","date":"2026-10-22","readTime":"7 min read","author":"Qualitati Research Team"},{"slug":"llm-as-judge-qualitative-interpretation-2026","title":"Can LLM-as-Judge Rate Qualitative Interpretations? A 2026 Test","description":"Can LLM-as-judge replace human review of qualitative interpretations? A 2026 study of 3,560 AI interview readings finds it screens models but misses nuance.","category":"Methodology","date":"2026-10-21","readTime":"7 min read","author":"Qualitati Research Team"},{"slug":"rehearse-interview-protocol-simulated-participants-2026","title":"Can You Rehearse Interviews with AI Participants? A 2026 Study","description":"Can you rehearse an interview guide with AI-simulated participants? A 2026 study of 21 researchers found real protocol revisions and three hidden risks.","category":"Methodology","date":"2026-10-21","readTime":"7 min read","author":"Qualitati Research Team"}]}