Skip to content
Confidence
  • Documentation
  • Blog
  • Bootcamp
  • Status
  • Confidence Bootcamp
    • My learning
    • Intro to experimentation
      • Introduction
      • Lesson 1: Why you should experiment
      • Lesson 2: Experiment hypothesis
      • Lesson 3: Success and guardrail metrics
      • Lesson 4: Success metrics
      • Lesson 5: Set up your experiment
      • Lesson 6: Calculation frequency
      • Lesson 7: Target audience
      • Lesson 8: Sample size
      • Lesson 9: Quality assurance
      • Lesson 10: Run your experiment
      • Lesson 11: Evaluate your experiment and make a decision
      • Lesson 12: A/B tests and rollouts
      • Course wrap up
    • Intro to metrics
      • Introduction
      • Lesson 1: What is a metric?
      • Lesson 2: Metric roles
      • Lesson 3: Time considerations
      • Lesson 4: Capturing behavior
      • Lesson 5: Strategic metrics
      • Lesson 6: Interpretability
      • Lesson 7: Feasibility and sensitivity
      • Lesson 8: Variance reduction and metric selection
      • Lesson 9: Select metrics
      • Lesson 10: Segment-level analysis
      • Course wrap up
    • Scientific product development
      • Introduction
      • Lesson 1: Why you should experiment
      • Lesson 2: The scientific method
      • Lesson 3: Randomized controlled trials
      • Lesson 4: Experiment hypothesis
      • Lesson 5: Case study
        • Case study
        • Answers to case study
      • Lesson 6: Why do we need statistics?
      • Lesson 7: Success metrics
      • Lesson 8: Detectable effects and sample size
      • Lesson 9: Make a decision
      • Course wrap up
    • A primer on hypothesis testing
      • Introduction
      • Lesson 1: Introduction to hypothesis testing
      • Lesson 2: True vs estimated effects
      • Lesson 3: Sampling distribution of the difference-in-means estimator
      • Lesson 4: Z-tests and how to reject the null hypothesis
      • Lesson 5: False postive rate and alpha
      • Lesson 6: True positive rate, MDE, and power
      • Course wrap up
    • Intro to Feature Flags
      • Introduction
      • Lesson 1: What is a feature flag?
      • Lesson 2: Lifecycle of a feature flag
      • Lesson 3: Clients
      • Lesson 4: Evaluation context and targeting
    • Sample size calculation - I
      • Introduction
      • Lesson 1: What is the required sample size?
      • Lesson 2: Alpha and power
      • Lesson 3: Baseline mean and variance
      • Lesson 4: Sample size playground - I
    • Sample size calculation - II
      • Introduction
      • Lesson 1: Multi-metric decision making
      • Lesson 2: Number of success metrics
      • Lesson 3: Number of guardrail metrics
      • Lesson 4: Number of comparisons
      • Lesson 5: Sample size playground - II
    • Sample size calculation - III
      • Introduction
      • Lesson 1: Binary metrics
      • Lesson 2: Treatment group proportions
      • Lesson 3: Variance reduction
      • Lesson 4: Sequential testing and sample size
      • Lesson 5: Sample size playground - III
    • Advance your experimentation
      • Introduction
      • Lesson 1: Guardrail metrics with non-inferiority margins
      • Lesson 2: Choose evaluation frequency
      • Lesson 3: Metrics' roles in experiments
      • Lesson 4: Cumulative holdback evaluations
    • Experimentation culture
      • Introduction
      • Lesson 1: Onboarding into experimentation
      • Lesson 2: Empowering experimentation champions
      • Lesson 3: Sustaining the experimentation culture
    • Videos

Lesson 7: Health checks and sample ratio mismatch

Summary

In this lesson, you learn what the health checks on the results page are testing, why they matter, and what to do when one of them fails. The sample ratio mismatch check is especially important: if it fails, you cannot trust any of the metric results.

The health checks section sits between the Spotlight and the Metrics section on the results page. Its job is to answer a question that comes before any metric interpretation: did this experiment actually run correctly?

Metric results are only meaningful if the experiment was set up correctly and ran as intended. The health checks verify this, and they flag problems before you invest time reading individual results.

Incoming traffic

This check verifies that your experiment is actually receiving traffic. Specifically, it confirms that the flag rule the experiment controls is being evaluated by clients, that those evaluations are being applied, and that exposure is being calculated for all groups.

If this check fails, the experiment has not been collecting data as expected. There is nothing to interpret yet.

Balanced traffic (the SRM check)

This is the most important health check, and the one that most frequently requires action.

When users are assigned to experiment groups, they should be distributed according to the allocation you configured. If you set up a 50/50 split, then roughly half the users should be in control and half in the treatment group. If you set up a 33/33/33 split across three groups, each group should have approximately a third of the users.

The sample ratio mismatch (SRM) check tests whether the observed distribution of users across groups matches the expected allocation. If there is a meaningful imbalance (more users in one group than there should be), this is a strong signal that something went wrong in the implementation or exposure logic.

Recommendation

If the SRM check fails, stop the experiment and investigate before drawing any conclusions from the results. A sample ratio mismatch means the groups are likely not comparable, which invalidates all metric results. Results from an experiment with an SRM cannot be trusted, even if the metric numbers look good.

Why does a traffic imbalance invalidate the results? The entire logic of a randomized experiment depends on the groups being statistically equivalent before the treatment variant is applied. If the exposure logic has a bug or was implemented incorrectly (for example, if code sitting between the experiment and the SDK affects users in one group more than another), the groups may differ systematically in ways unrelated to the treatment variant. Any observed difference in metrics could then be due to that pre-existing difference, not the treatment variant.

Common causes of SRM include bugs in the assignment logic, caching issues that cause some users to miss the exposure event, and SDK integration issues where custom code between the experiment and the SDK causes uneven exposure. The SRM check will not tell you which of these is the cause: it will only tell you that something is wrong. Investigating requires looking at the exposure data and the experiment setup in detail.

No metric deterioration

This check verifies that none of the metrics you are tracking have moved significantly in the wrong direction. This is a continuous check: it runs throughout the experiment using sequential tests regardless of which evaluation strategy you have chosen (more on that in Lesson 9).

If this check fails, at least one metric has deteriorated. The specific metric showing deterioration is listed in the health check section. This triggers an Abort recommendation in the Spotlight.

Note

The metric deterioration health check and the deterioration status labels on individual guardrail metrics are related but not identical. The health check is a broad, always-on, early-warning scan that applies to all tracked metrics. The guardrail metric status label is the formal statistical result for that metric based on the test configuration you set up. If either signals deterioration, pay attention.

What the Abort recommendation means

When you see Abort in the Spotlight, Confidence is telling you that something has gone wrong that makes continuing the experiment harmful or pointless. This is either because a health check failed (typically SRM) or because one or more metrics have deteriorated significantly.

Aborting an experiment is not a failure. It is the system working as intended. Catching a problem early, before a damaging feature reaches all users, is one of the core reasons to run experiments in the first place. At Spotify, 42% of experiments are aborted because harm was detected, not because the experiment was poorly designed, but because the experimentation system did exactly what it should. That is an enormous amount of value protected. The Spotify experiments with learning framework post has more on how Spotify thinks about this.

Reader exercise

The balanced traffic health check fails for your experiment. What should you do?

Reader exercise

Why does a sample ratio mismatch invalidate experiment results?

Was this page helpful?

PreviousLesson 6: Guardrail metrics and NIMs
NextLesson 8: Variance reduction in experiment results

© Copyright 2026. All rights reserved.

Follow us on XFollow us on GitHub

On this page

  1. Incoming traffic

  2. Balanced traffic (the SRM check)

  3. No metric deterioration

  4. What the Abort recommendation means