Looks, sealed in advance.
The default decision is read once, at the moment the locked plan names; the sequential lens looks only at its four planned points.
OPTIMIZE · EXPERIMENTATION · THE STATISTICS
Every method, threshold and rule Praxis uses to read an experiment, as the product holds them in October 2026. Most of it is fixed by the platform for every test, so every test is read on the same terms. Where a choice is yours, this page says so.
Each label below appears on an experiment's Results tab. The meaning beside it is the definition the product itself carries.
| On screen | What it means |
|---|---|
| "Adjusted p" | The probability of evidence this extreme if there were no effect, corrected for the number of comparisons in its family |
| "Confidence interval" | An interval built by a method that captures the true value in 95% of repeated samples, for one version or for the effect |
| "Decision-grade" | The one retained, mature snapshot at the planned horizon |
| "Chance better" | The posterior probability that a version beats the control in the measure's declared direction |
| "Credible interval" | The interval that holds 95% of the posterior probability of an estimate |
| "Expected loss" | The average cost, under the posterior, of choosing a version instead of the best one |
| "Threshold of caring" | The largest expected loss you accept, adopted explicitly, in the measure's own unit |
| "Information progress" | Mature visitors on the primary measure, divided by the planned exposure |
| "Scheduled look" | One of four planned chances to test the O'Brien-Fleming boundary |
| "Direction-adjusted z" | The standardised effect, signed so that a positive value favours the measure's declared direction |
| "Pre-exposure window" | The time before each visitor's first exposure that CUPED draws on |
| "Pooled adjustment" | One set of coefficients estimated across all versions, without knowing which is which |
| "Precision change" | How much the adjustment changed the variance of the comparison; it can rise as well as fall |
| "No prior history" | A separate column that tells a visitor with no history apart from one whose history is zero |
| Part | Method | Values |
|---|---|---|
| Primary measure | Two-sided pooled two-proportion z-test for conversion goals; delta-method z-test for averages and ratios; Holm step-down across every version against the control | alpha 0.05 |
| Secondary measures | One Benjamini-Hochberg false-discovery family over every secondary measure and every version | q 0.10 |
| Guardrails | New plans check each limit on its own, one-sided, and pass a version only when harm beyond the limit is ruled out. Plans locked earlier keep a one-sided test of "worse than your limit", then Benjamini-Hochberg | alpha 0.05 (earlier plans q 0.10) |
| Data floors | No contrast below 100 mature visitors per version, or 25 converting visitors per version on a conversion goal, or while any visitor is still maturing | 100 and 25 |
| Intervals | Wilson score interval per version; Newcombe interval for the difference in rates; a normal interval for delta-method measures | 95% |
| Peeking | Before the planned length a snapshot is descriptive only ("Interim look: the precommitted fixed horizon has not been reached."); the first mature snapshot at or after it is the single decision look | one look |
| The winner | Exactly one version "improved": it wins. Every version regressed: the control wins. Otherwise, no winner |
The "Analysis lens" switches how the same visitors are read. It never changes the recorded decision, and the screen says so: "View only · traffic unchanged".
| Lens | Method | Conditions to be recorded and promoted |
|---|---|---|
| "Fixed-horizon frequentist" | The default read above, at one precommitted look. The product recommends it "for the experiment's retained terminal decision and for mean or ratio metrics that beta-binomial cannot model." | The default decision |
| "Group sequential · O'Brien-Fleming" | Four fixed looks at 25, 50, 75 and 100% of the planned visitors; boundary z = 2.024 / √t, which gives 4.048, 2.862, 2.337 and 2.024; an unpooled z for conversions; the first eligible crossing decides | A two-version test whose planner produced an estimate. Each look needs 100 mature visitors and 25 conversions per version and a clean split. With guardrails, looks 1 to 3 cannot stop the test |
| "Bayesian beta-binomial" | A Beta(1, 1) prior per version; posterior Beta(conversions + 1, visitors − conversions + 1); for two versions the exact chance to win (Evan Miller's closed form) and the expected loss; for three or more, 524,288 seeded Monte Carlo draws | At least a 95% chance to be best; expected loss under the "Threshold of caring" you adopt, which has no default; at least 1,500 mature visitors and 25 conversions per version; at least 7 days; the planned length reached; a clean split; and every guardrail at most a 5% chance of being worse than its limit |
| "CUPED-adjusted frequentist" | Each visitor's behaviour in the 30 days before first exposure (7 to 90 days, the exposure day excluded); up to 10 covariates from the plan's own measures, standardised; θ = (XᵀX + λI)⁻¹ Xᵀ(y − ȳ), with λ = 10⁻⁶ × n; fitted across all versions, blind to which is which; the adjusted result beside the unadjusted, with "Precision change" | Only the governed profile can be recorded and promoted: 30 days, the first ten eligible covariates, at the planned length. Any other setting reads "Analysis only" |
A plan and a snapshot that match their hashes; the canonical analysis; no sample-ratio alert; no drift in the settings, the split, the targeting or the bindings; no visitor still maturing; the chosen method's own check; and a decision reference recomputed inside the same write.
The test stops and the winner is copied into each bound page's draft.
A separate approval. One undo restores the pages and the split.
The default decision is read once, at the moment the locked plan names; the sequential lens looks only at its four planned points.
Outlier caps and CUPED coefficients are computed across all versions without knowing which is which.
The plan and the snapshot are hashed, and promotion recomputes its decision reference inside the same write.
A guardrail that cannot be computed blocks; a split that looks wrong withholds the verdict.
Slices, date windows and days since exposure never enter a decision.
Nothing is promoted, shifted or published automatically.
Holm controls the family-wise error rate across the versions on the measure you will ship on; the screen labels it "holm-fwer". Benjamini-Hochberg bounds the false discovery rate within the secondary measures, and in plans locked earlier separately within the guardrails, labelled "bh-fdr". New plans check each guardrail on its own, to rule out harm beyond its limit.
Bonferroni is the more cautious of the two, so the plan errs toward enough visitors, and the read is never weaker than the plan assumed.
The test of "no difference" pools the versions, as that hypothesis assumes. The interval for the size of the difference cannot assume it, so it uses Newcombe's interval for a difference of proportions, built on the Wilson intervals of the two rates.
With normal approximations: a z-test for averages, the delta method for ratios, and no comparison below 100 mature visitors per version.
Beta(1, 1), uniform over every conversion rate. The "Threshold of caring" is yours to adopt, and it has no default.
The four looks are planned at fixed shares of the planned visitors, each with a fixed boundary, so looks happen only at those four points.
Only in its governed profile: 30 days, the first ten eligible covariates, at the planned length. Every other setting is "Analysis only".
The decision fails closed.
The visitor: one visitor id, which is one browser. A person who uses two devices can be counted as two visitors.
On the test's "Configuration & QA" tab, with any drift from it; the planner keeps its "Provenance" and "Saved plans".