Back to Blog
Product

Experiments in Mitzu: Warehouse-Native A/B Test Analysis

Launch Week, day 1. Read every A/B test on your own warehouse data, measured with your own saved insights, with a verdict, health checks and a recorded decision. No extra tracking, no data copies.

Experiments is new in Mitzu. Your experimentation tool or your own code keeps assigning users to variants; Mitzu reads the exposure event it leaves in your data warehouse, measures every variant with the saved insights your dashboards already use, checks that the test itself is healthy, and records the decision. This guide covers why we built it, how it works, and a step-by-step walkthrough from the first exposure event to a finalized decision.

István Mészáros
István Mészáros

Co-founder & CEO

November 2, 2026
11 min read
Experiments in Mitzu: Warehouse-Native A/B Test Analysis

TL;DR

Experiments analyses the A/B tests you already run, directly on your data warehouse: Mitzu reads the exposure event your experimentation tool leaves behind, with no SDK and no data copies, and never assigns users or touches feature flags. Every experiment metric is a saved Mitzu insight, so a test is judged on the same definition of conversion or revenue your dashboards show, with guardrail metrics that must not get worse. Each evaluation gives a verdict with lift, interval and p-value; health checks such as sample ratio mismatch withhold it when the test is broken, and finalizing records the decision, cohorts and roll-out annotations.

Experiments is new in Mitzu: run and read A/B tests directly on your warehouse data, with no extra tracking or data copies. It is built for product managers, growth teams and the analysts who support them, at companies whose event data already lives in Snowflake, BigQuery, Databricks, Redshift, ClickHouse or a similar cloud warehouse.

You keep running tests the way you do today: an experimentation or feature-flag tool, or your own code, decides who sees which variant. Mitzu reads the exposure event that tool leaves in your warehouse, measures every variant with the saved insights your team already uses, checks whether the test itself can be trusted, and records what you decided. It is the first of five releases in Mitzu Launch Week.

Experiments in Mitzu, start to finish: describe the test, schedule it, evaluate it, read the verdict and record the decision.

1. Why we built Experiments

An A/B test has two halves. One tool decides who sees which variant. The data that says whether the change worked, such as signups, purchases, documents created and cancellations, usually lives somewhere else: in your data warehouse, next to everything else your company knows about its customers. Teams kept telling us the same four things go wrong in the gap between those halves.

  • The tool that runs the test sees only part of the picture. It measures the events you send to it. The metrics the business is run on, such as revenue per customer, trial-to-paid conversion, retention and support tickets, are built in the warehouse from many sources, and most of them never reach the testing tool.
  • Two definitions of the same metric disagree. When "conversion" is defined once in the testing tool and again on the company dashboard, the test can win in one place while the dashboard stays flat in the other. Nobody trusts either number.
  • Every test becomes a one-off analysis. An analyst writes new SQL for each test: who was exposed, which variant they saw, how many converted, a significance test. The work is slow, hard to review and hard to repeat.
  • Decisions get lost. Months later, nobody remembers why the old checkout was kept, which variant won the pricing test, or whether the redesign was tested at all.

Experiments closes that gap where the data already lives. It is the same idea behind everything Mitzu does as an agentic product analytics platform: the analysis runs on your warehouse, uses your definitions, and the SQL comes from a deterministic query engine, not from a hand-written script per test.

Diagram: an experimentation tool or your own code assigns users to variants and writes an exposure event with a variant property to the data warehouse; your product writes outcome events such as signups, orders and cancellations to the same warehouse; Mitzu Experiments reads both in place and returns saved insights as metrics, lift, interval and p-value, health checks, and a decision on record with cohorts and annotations
Your tool runs the test, your warehouse holds the outcome, and Mitzu reads both in place.

2. What you get

BenefitWhat it means in practice
Your metric definitionsAn experiment metric is a saved insight, the same funnel or segmentation your dashboards show. Fix a definition once and the next evaluation of every experiment that uses it picks it up.
Your data, in placeExposure, variants and outcomes are read from your warehouse with the same queries as the rest of Mitzu. Nothing is copied out, and no SDK is added to your product.
A verdict you can trustEach result comes with a significance test, a confidence interval, an optional correction for testing many metrics at once, and health checks that withhold the verdict when the test is broken.
Business metrics, not just clicksBecause the outcome is anything in your warehouse, a test can be judged on revenue per user or trial-to-paid conversion, with cancellations or refunds as guardrails.
A record of every decisionFinalizing stores the outcome, the decision, a written summary and the exact results it was based on. Anyone can look it up later.
Tests feed the rest of your analysisEach variant's users can be saved as a cohort, and the test window and roll-out can be marked on every chart as annotations.

3. What Experiments does, and what your tool keeps doing

Experiments analyses tests; it does not run them. Keep using your experimentation tool or your own code for assignment and roll-out. Mitzu only needs the record each one leaves behind.

Your experimentation tool or codeMitzu Experiments
Assigns users to variants and decides who is in a testReads the exposure event and the variant each user saw
Creates, changes and switches off feature flagsMeasures every variant against the control on your saved insights
Sets the traffic split and stops a testChecks the split you planned against the split you got
Ships the winnerRecords the decision and marks the roll-out on your charts

4. How it works: five stages

Every experiment moves through the same five stages, shown as a badge on the experiments list and as a timeline on the experiment itself. Most stages follow from the calendar and from the results you compute; only scheduling, finalizing and archiving are things you do yourself.

Experiment stages timeline in Mitzu: Draft, Scheduled, Running, Ready for decision and Finalized, with the current stage marked Now
The stages timeline on an experiment: solid steps are done, dashed steps are still ahead.
StageWhat happens
DraftYou describe the test. Everything can be edited, and a progress line says what is still missing, for example a primary metric or an end date.
ScheduledScheduling locks the definition: population, metrics, statistics settings, sample plan, variants and test window can no longer change.
RunningThe test window is open. You can evaluate as often as you like, but results are marked incomplete and carry no verdict yet.
Ready for decisionThe window has ended and the results cover every day of it. Mitzu re-evaluates on its own the morning after the end date and emails the owner.
FinalizedYou recorded the outcome, the decision and a summary. The results are frozen with the decision.

The lock at scheduling is deliberate. Once results start coming in, it is tempting to swap the primary metric for the one that looks best, or to stop the test the day it crosses the line. Locking the definition before the data arrives keeps the analysis honest without anyone having to police it.

5. Step by step: from exposure event to decision

Step 1: Check that your warehouse has what Experiments needs

Before you create an experiment, check for three things:

  1. An exposure event in one of your event tables, recorded when a user enters the test, for example Experiment Viewed, experiment_exposure or a feature-flag evaluation event.
  2. A variant property on that event whose value says which variant the user saw: control, treatment, A, B. Among exposed users it needs between 2 and 10 values.
  3. Outcome events for the same users, recorded with the same user identifier as the exposure event, so Mitzu can follow each exposed user to what they did next.

A quick sanity check: open a segmentation insight, pick the exposure event, break it down by the variant property and count unique users over the test window. You should see one bar per variant, roughly in the proportions the test was set up with. Log exposure when the user actually experiences the variant, not when they are assigned; otherwise users the change could never have affected dilute the effect.

Step 2: Describe the test and its population

Click New experiment, give it a name and a hypothesis, then set the population: the allocation window, the end date, the exposure event, an optional Only where filter (for example experiment_id is checkout-redesign when one event carries every test) and the variant property. Mitzu draws Exposed users per variant right in the form, lists the variants it found, and lets you pick the control, give each variant a display name and set the planned split.

The Population card of a Mitzu experiment: allocation window, experiment end date, exposure event Page Visit, variant property Experiment Variant, a chart of exposed users per variant over time, and a variants table with Control, A and B, display names and a planned split of 34%, 33% and 33%
Population and variants: the exposure event, the variant property, exposed users per variant, and the planned split.

Step 3: Pick metrics from your saved insights

Add metrics with Add metric. Each one is a saved insight with a role and a direction that counts as good. Mitzu puts the exposure event in front of the insight's own steps and counts only what happens after each user's first exposure.

RoleWhat it doesTypical example
PrimaryDecides the test. Exactly one per experiment. The verdict, the sample plan and the traffic split check are all about this metric.Signup to trial started conversion
SecondarySupporting evidence: shown with a significance test, but doesn't change the verdict.Revenue per user, next funnel step
GuardrailMust not get worse. Shows Within guardrail or Guardrail breached; never wins.Cancellations, refunds, support tickets
The Metrics card of a Mitzu experiment: Visitor to Signup Conversion as the primary metric, Signup to Trial Started as a secondary metric and Signup to First Document Created as a guardrail that should not decrease, each measured as the share of exposed users who reach the last step within a set number of days of exposure
Each metric is a saved insight with a role and the direction that counts as good.

Funnels measuring the conversion rate and segmentations that count unique users, count events, sum a property or divide two segments (A / B) can all be tested. To test average order value, for example, save a segmentation with the sum of revenue on order_completed as A, the count of order_completed as B and the formula A / B. Journeys and retention insights can't be experiment metrics yet; the picker greys them out and says why.

Step 4: Set the statistics and the sample plan

The defaults, 95% confidence and a two-sided test, suit a test with one treatment and one primary metric. Use 99% when the change is expensive or hard to reverse, such as pricing. Turn on the Holm correction when you compare several variants or will act on a secondary metric: test ten things at 95% and the chance that at least one looks significant by luck alone is about 40%. A sample plan tells you how many users each variant needs to detect the lift you care about, and the experiments list shows how far along each test is.

Step 5: Schedule it

Click Schedule experiment. The definition locks, and the experiment waits until the start date or goes straight to Running if the window has already started. The name, hypothesis, key, link and description stay editable. If you really need to change the definition, Back to draft unlocks it and hides the current results, so the next run starts clean.

Step 6: Evaluate and read the verdict

Nothing runs on its own while the test is in progress: results are computed when you press Evaluate. The Results card leads with the verdict on the primary metric, in plain words, for example Annual first beats Monthly first on Signup to Trial Started: +11.4% against Monthly first (95% interval +4.6% to +18.6%, p < 0.001). Below it, one row per metric shows each variant's value, lift, interval and p-value.

Mitzu Experiments Results card: verdict Annual first beats Monthly first on Signup to Trial Started, significant win, +11.4% with a 95% interval of +4.6% to +18.6%; rows for the primary metric, revenue per user as a secondary metric, and visitor to signup conversion as a guardrail within limits; and six green health checks
The Results card: verdict first, then every metric for every variant, then the health checks.
VerdictWhat it means
Significant winA variant beats the control on the primary metric at the chosen confidence.
Significant lossA variant does worse than the control on the primary metric.
No clear winnerNo difference was large enough to be sure of. That is a useful answer too.
Inconclusive: sample too smallNo clear winner, and the test stopped short of its planned sample, so a real lift could have been missed.
Verdict withheldA health check failed, so the comparison is not trustworthy.

Show details on any metric opens it over time: the lift against the control with its interval, day by day, and the metric itself per variant. You can see whether a lift held steady or came from one unusual week, and why stopping the first time a line clears zero is a trap.

Metric details for Signup to Trial Started in a Mitzu experiment: a result table with a significant win for Annual first, a chart of the cumulative lift against Monthly first with its 95% interval narrowing over the test window and clearing zero from Oct 2, and a daily chart of the metric for each variant
Metric details: the lift and its interval over time, and the metric per variant.

Step 7: Check the health of the test

A verdict is only as good as the test behind it. After every evaluation, six health checks look at the test itself. The two assignment checks are strict: when either fails, Mitzu withholds the verdict instead of giving you a confident wrong answer.

Health checks under a Mitzu experiment result: traffic split, users in several variants, sample against plan, window coverage, metric tracking and users left out, each with a pass state
Six health checks after every evaluation.
CheckWhat it catches
Traffic splitA sample ratio mismatch: the real split differs clearly from the plan (chi-square, p < 0.001). Usually a redirect that loses visitors, a bug in one variant, or exposure logged at different moments. Withholds the verdict.
Users in several variantsUsers who saw more than one variant. Above 5% of all counts the groups are no longer independent. Withholds the verdict.
Sample against planWhether the smallest variant reached the sample plan.
Window coverageWhether the results cover every day of the test window.
Metric trackingA metric with no conversions in a variant, usually a tracking gap rather than a result.
Users left outExposed users without a variant value, often a platform or app version that doesn't send it.

Step 8: Finalize and record the decision

A test isn't finished when the numbers come in; it is finished when someone decides what to do about them. Once the experiment is Ready for decision, click Finalize. Mitzu suggests the outcome (Win, Loss, No clear winner, Inconclusive) and the decision (Roll out, Iterate, Re-test, Stop) from the results, and drafts a summary with the result, the rationale, behavioural findings on every secondary metric and guardrail, limitations from the health checks, and a recommendation. The decision is yours: edit anything, add the context only you have, and finalize. The results are frozen with the decision.

The Finalize the experiment dialog in Mitzu: outcome Win, winning variant Annual first, decision Roll out, a roll-out date, and a summary drafted from the results with outcome, result, rationale, behavioural findings, limitations and recommendation sections
Finalizing records the outcome, the decision and a summary drafted from the results.

Step 9: Turn the result into follow-up analysis

  • Save variant cohorts. One frozen cohort per variant, holding the users exposed to it. Build a retention insight on them to see whether the winners still retain better three months later.
  • Annotate your charts. The test window and the roll-out date appear on every chart in the workspace, so a step change on the company dashboard can be traced back to the test that caused it.
  • Duplicate as follow-up. Start the next test from this one, with the same population, metrics and settings, to re-test an inconclusive result or try the next iteration of a winner.
The Follow-up card of a finalized Mitzu experiment: three frozen variant cohorts for Signup form: fewer fields, the test window annotation, and the roll-out annotation Rolled out Short form on Oct 5, 2026
Variant cohorts and annotations from a finalized experiment.

6. Every test in one place

The experiments list shows every test with its stage, its verdict, the sample reached against the plan, and the hypothesis. Filter by stage, tag or owner, or search by name, key or hypothesis. It doubles as the team's decision log: what was tested, what won, and what was rolled out.

The Mitzu experiments list: finalized, ready for decision, running, scheduled and draft experiments with verdicts such as Win: Short form, Verdict withheld, Inconclusive: sample too small, Significant loss and Significant win, plus sample progress and hypotheses
The experiments list: stage, verdict, sample against plan and hypothesis for every test.

7. Who Experiments is for

  • Product managers and marketers who run tests and need a clear answer in plain words, and a place to record the decision.
  • Analysts and data teams who want every test measured the same way, on the same metric definitions, without writing SQL for each one.
  • Leadership who want to see what was tested, what won and what was rolled out, without asking around.

8. Getting started

Experiments runs on the same warehouse connection, event tables and saved insights as the rest of Mitzu, so there is nothing new to install. It is rolling out to workspaces now: if you don't see Experiments in the left sidebar, ask us to enable it. The Experiments documentation covers every setting in detail, including a guide written for marketers and product managers who want to read results without the statistics.

FAQ

What is warehouse-native experiment analysis?

Warehouse-native experiment analysis measures A/B tests on the data in your own data warehouse instead of on a copy held by a testing vendor. The exposure data your experimentation tool writes and the outcome events your product records are joined where they already live, so a test can be judged on any metric the warehouse holds, including revenue and retention.

Does Mitzu replace my experimentation or feature-flag tool?

No. Mitzu analyses tests; it does not run them. It never assigns users to variants, changes the traffic split, stops a test or switches feature flags. Keep using your experimentation tool or your own code for that.

Mitzu needs only the exposure event it leaves in your warehouse.

What data do I need to analyse an A/B test in Mitzu?

An exposure event recorded when a user enters the test, a property on it with the variant the user saw (2 to 10 values), and outcome events recorded with the same user identifier. You don't need a separate table, a sync from your experimentation tool or an SDK.

How does Mitzu detect a sample ratio mismatch?

The traffic split health check compares how many users each variant got with the planned split, or an even split when none is set, using a chi-square test. A clear mismatch (p < 0.001) fails the check and withholds the verdict, because an uneven split almost always means something removed users from one variant, and the remaining users are no longer comparable.

What are guardrail metrics in an A/B test?

Guardrail metrics catch a variant that wins by doing damage somewhere else: a signup form that converts more people who never activate, or a pricing page that sells more but raises refunds. In Mitzu a guardrail never wins; it shows Within guardrail or Guardrail breached, and a breach is surfaced next to the verdict so you can weigh it when you finalize.

Can I peek at results while the test is running?

Yes, you can evaluate a running test as often as you like, but the results are labelled incomplete and carry no verdict until the test window has ended and the results cover every day of it. Acting on early numbers makes a false win much more likely.

Which warehouses does Experiments support?

Experiments runs on the same warehouse connections as the rest of Mitzu, including Snowflake, BigQuery, Databricks, Redshift and ClickHouse. See the warehouse integrations page for the full list.

References

Key Takeaways

  • An A/B test has two halves: the tool that assigns variants and the warehouse that holds the outcome. Experiments joins them where the data already lives.
  • One metric definition for tests and dashboards ends the 'the test won but the dashboard stayed flat' argument.
  • Scheduling locks the definition, so the analysis can't be bent to fit the results once they come in.
  • A verdict is only shown when the test can be trusted: an uneven split or users in several variants withholds it.
  • The decision, the summary and the frozen results stay on the experiment, so the team can look up what was tested, what won and why, months later.

About the Author

István Mészáros

Co-founder & CEO

LinkedIn: https://www.linkedin.com/in/imeszaros/

Co-founder and CEO of Mitzu. Passionate about product analytics and helping companies make data-driven decisions.

Share this article

Subscribe to our newsletter

Get the latest insights on product analytics.

Ready to transform your analytics?

See how Mitzu can help you gain deeper insights from your product data.

Related Articles

More insights from Product
Planning Mode in Mitzu: Review the AI Analyst's Plan Before It Runs the Analysis
Product

Planning Mode in Mitzu: Review the AI Analyst's Plan Before It Runs the Analysis

Planning Mode is a new capability in Mitzu's Analytics Agent that converts a complex product analytics question into an explicit, reviewable plan before any query runs. This guide explains how it works, when to use it, and why showing the plan first changes the trust profile of AI analytics for data teams, PMs, and growth leads.

June 1, 2026
Custom Charts in Mitzu: When the Analytics Agent's Answer Spans Multiple Insights
Product

Custom Charts in Mitzu: When the Analytics Agent's Answer Spans Multiple Insights

Custom Charts is a new capability in Mitzu's Analytics Agent. When an answer can't be expressed by any single Mitzu insight — a DAU/MAU ratio, a Q3 vs Q4 percentage delta, two conversion rates overlaid week over week — the agent now runs the calculation across multiple insights and renders the result as an ad hoc chart inline. This guide explains what Custom Charts are, when they appear, the underlying insights you can still save, and how the feature changes the kinds of questions you can ask an AI analytics agent.

June 2, 2026
CSV Upload: See Mitzu Work on Your Own Data in Minutes
Product

CSV Upload: See Mitzu Work on Your Own Data in Minutes

Mitzu now accepts a CSV as a starting point. Drop in a file and the Configuration Agent takes over: it reads the data, identifies timestamp and event columns, maps them, and models the dataset — the same setup that normally follows a warehouse connection, handled automatically. The fastest way to see Mitzu work on something real. When you're ready for live data, connect your warehouse and everything scales from there.

June 5, 2026
Get Started

How to get started with Mitzu

Start analyzing your product data in three simple steps

Connect your data warehouse

Securely connect Mitzu to your existing data warehouse in minutes.

Define your events

Map your product events and user properties with our intuitive interface.

Start analyzing

Create funnels, retention charts, and user journeys without writing SQL.