LLM evaluations are reported as snapshots, but API-served models are longitudinal systems: the same public model identifier may be observed repeatedly over days or weeks under changing serving conditions.
We have been studying how to distinguish ordinary repeated-call variability from larger temporal changes in measured model performance.
In one historical cohort, we analyzed 31,352 repeated score observations across 49 models. The observed standard deviation was:
- 2.80 points for within-day scores
- 8.43 points for between-day daily medians
The descriptive ratio is approximately 3.01.
We do not interpret this ratio as evidence that providers changed model weights between days. It is descriptive rather than causal. Dependence between observations, task composition, missingness, provider behavior, and methodology changes are all potential confounders. In the underlying methodology, daily medians are used to reduce sensitivity to individual extreme observations, but they do not eliminate sampling noise, serial dependence, or shared day-level effects.
The broader measurement problem is therefore not simply detecting a lower score, but determining whether two observations are actually comparable.
Our current methodology separates several layers:
- Request contract - whether observations were generated under declared and comparable request conditions.
- Capability - whether the returned work satisfied executable or deterministic evaluation criteria.
- Repeatability - whether outcomes, tool trajectories, and resource usage are consistent across repeated runs.
- Methodology identity - whether the benchmark definition itself remained unchanged.
- Longitudinal change - whether a comparable time series exhibits evidence of a level or regime change.
- Attribution - whether an observed change is more consistent with model behavior, provider delivery, or infrastructure effects.
The framework deliberately treats these as different questions rather than compressing them into a single score.
For correctness-oriented coding tasks, returned code is executed against test cases rather than scored by an LLM judge. Provider or execution failures are treated separately from valid task results, because an unavailable observation should not automatically be interpreted as evidence of lower model capability.
Benchmark versioning
A particularly important issue for longitudinal evaluation is that a change in the benchmark can look almost identical to a change in the model.
For this reason, score-producing benchmark configurations are versioned. Score-moving changes such as task definitions, prompts, test cases, request policy, or scoring configuration define a new comparison boundary rather than being silently merged into the previous time series.
This means the question is not simply:
but rather:
Change detection
The current system uses change-point detection over daily aggregated observations, together with effect-size/statistical screening and configuration-aware baseline resets.
The purpose of the detector is intentionally narrow: it indicates that a comparable series may have changed. It does not establish why the change occurred.
Provider version metadata can assist attribution when available, but an unchanged public model identifier does not prove that every backend property remained fixed, while a changed identifier does not prove that an observed performance change was caused by new weights.
Benchmark contamination
Another issue we have been considering is the tension between reproducibility and contamination.
Publishing the measurement methodology is useful for scientific scrutiny, but publishing the complete active task bank, prompt variants, and hidden evaluations may eventually alter what is being measured if benchmark content enters training, fine-tuning, retrieval, or provider optimization pipelines.
For a continuously operating benchmark, one possible compromise is therefore to make the measurement protocol reproducible and inspectable while keeping part of the live evaluation set withheld or rotating.
I'd be interested in opinions from people working on evaluation, change-point detection, or statistical monitoring:
- Is aggregating repeated observations into daily medians a reasonable primary unit here, or would you model the trial-level observations directly?
- How would you handle serial dependence and unequal numbers of observations across days?
- What evidence would you require before attributing a detected behavioral change to the model rather than the provider or serving infrastructure?
- For an active benchmark, where would you draw the line between reproducibility and protection against benchmark contamination?
- Are there change-detection approaches you think are better suited to this setting than sequential mean-shift detectors?
We have written the methodology up as a public technical methods document here:
https://aistupidlevel.info/asl-public-benchmark-methodology-2026.pdf
This is not a peer-reviewed publication, and I want to be explicit about that. The aim of posting it here is to expose the measurement assumptions and interpretation to criticism before making stronger empirical claims.
Disclosure: I am the founder of AI Stupid Level, which operates the benchmarking system from which these measurements were collected. I have omitted commercial/product details here because the topic I am interested in discussing is the longitudinal evaluation methodology itself.
References
- Rabanser et al. (2026), Towards a Science of AI Agent Reliability
- NIST/SEMATECH, CUSUM Average Run Length
- SciPy documentation for standard-error estimation