Concepts
Variant assignment, statistical significance, and the anti-flicker snippet.
Browse docs
The handful of ideas you need in your head to use Otter confidently — how variants are assigned, how the math actually works, and how the SDK avoids flicker.
You don't need a maths degree to use Otter — but three simple ideas explain why your results look the way they do and how much to trust them. Here they are in plain language. (If you love the detail, the box at the bottom names the exact methods.)
Variant Assignment
Each visitor is sorted into one version and stays there. Manual splits use the configured weights for new assignments. Multi-armed bandits adapt those new-visitor weights from primary-goal results. Either way, the same visitor sees the same version when they return.
Statistical Significance
This is how we tell a real difference from random luck. Manual splits let you choose frequentist or Bayesian analysis. Multi-armed bandits use Bayesian analysis automatically because their allocation learns from the same primary-goal results. Otter still picks the metric-specific calculation for conversion and revenue data.
Anti-Flicker
Stops visitors from glimpsing the original page for a split second before your version loads — that flash is called "flicker." The snippet briefly keeps the page hidden until the right version is ready, then reveals it (usually in a few hundred milliseconds). A 3-second safety timer makes sure the page always appears, even if something goes wrong.
Why this matters in practice
Deterministic assignment means you can A/B everything safely. A visitor never bounces between variants between page loads. If you see someone “flip” in session replay, it's almost always because they cleared cookies or switched browsers.
Test selection adapts to your data. Otter picks Fisher's exact test for sparse counts and a z-test for typical comparisons automatically — you don't need to think about which to use. Revenue gets Welch's t-test because revenue distributions are heavy-tailed and a z-test would lie to you.
Anti-flicker is non-negotiable. If visitors see the original page flash before the variant, they've already responded to the original — your test is measuring noise. The 3-second failsafe keeps the page from disappearing entirely if the SDK ever fails to load, but the normal case is a few hundred milliseconds.
Frequently asked questions
Quick answers to the questions teams ask most about this part of Otter.