Bayesian A/B Testing: Practical Guide for Data-Driven Decisions
Updated October 2026
Your team just shipped a new checkout flow. After two weeks, variant B has a 4.2% conversion rate versus variant A's 3.8%. Your analytics dashboard says "p = 0.08, not statistically significant." So you wait. And wait. Three more weeks pass, p drops to 0.04, and you finally declare B the winner. But here's the problem: you answered the wrong question entirely.
Traditional frequentist A/B testing tells you the probability of seeing your data if there's no difference between variants. What you actually need to know is: what's the probability that variant B is better than A? Bayesian A/B testing answers this question directly. After those first two weeks, it would give you a probability that B is better and a credible interval for the lift, so you can weigh how likely and how large the improvement is. Now you can make an informed business decision.
The shift from frequentist to Bayesian A/B testing isn't just methodological. It's a fundamental change in how you reason about evidence. But most teams switching to Bayesian methods make critical mistakes that undermine the entire approach. This guide shows you exactly how Bayesian and frequentist methods differ, the four most common implementation errors, and how to run Bayesian A/B tests that actually improve decision-making.
Frequentist vs Bayesian: The Questions They Actually Answer
Before diving into implementation, let's be crystal clear about what each approach tells you. This isn't academic philosophy. It changes what you can conclude from your data.
For the probability that one variant beats the other on your own experiment, try the free Bayesian A/B test tool.
What Frequentist Tests Tell You (And Don't Tell You)
Frequentist A/B testing gives you a p-value. Let's say p = 0.03. Here's what that means: if there were truly no difference between variants A and B, you'd see a difference at least this large only 3% of the time due to random chance.
Notice what that doesn't tell you:
- It doesn't tell you the probability that B is better than A
- It doesn't tell you how much better B is likely to be
- It doesn't incorporate what you knew before the experiment
- It doesn't let you make probability statements about hypotheses
The p-value answers a question almost nobody cares about: "What's the probability of this data under the null hypothesis?" What you want to know is: "What should I believe about my variants given this data?"
When you see p = 0.03, it's tempting to think "there's a 97% chance B is better." That's mathematically incorrect. The p-value is P(data | H₀), not P(H₀ | data). Only Bayesian methods give you the latter: the probability of hypotheses given your data.
What Bayesian Tests Tell You
Bayesian A/B testing flips the question around. You start with prior beliefs about conversion rates (your prior distribution), observe data, and update those beliefs to get posterior distributions. From the posterior, you can directly answer:
- P(B > A | data): The probability that variant B beats A
- Expected lift: How much better is B likely to be? (with credible intervals)
- P(lift > threshold | data): Probability that improvement exceeds your minimum worthwhile effect
- Expected value of implementing B: Incorporating both probability and magnitude of lift
These are statements about what you should believe given the evidence. This is precisely how decision-makers think: "How confident am I that this change will improve metrics, and by how much?"
| Aspect | Frequentist Approach | Bayesian Approach |
|---|---|---|
| Question Answered | P(data | no difference) | P(B beats A | data) |
| Prior Knowledge | Ignored completely | Explicitly incorporated |
| Stopping Rules | Must predefine sample size | Can read the posterior at any time, but stopping rules still change error rates |
| Output | p-value, confidence interval | Probability distribution, credible interval |
| Interpretation | "Reject" or "fail to reject" null | Probability statements about variants |
| Small Samples | "Not significant" (uninformative) | Quantifies uncertainty honestly |
The Four Critical Mistakes Teams Make Switching to Bayesian Methods
Moving to Bayesian A/B testing isn't just swapping one statistical test for another. It requires thinking differently about evidence and decisions. Here are the mistakes that undermine most Bayesian implementations.
Mistake #1: Using a Flat Prior Because "I Want to Be Objective"
Many teams new to Bayesian methods use completely uninformative priors: flat distributions across all possible conversion rates from 0% to 100%. The reasoning seems sound: "I don't want to bias my results, so I'll let the data speak for itself."
This is misguided for two reasons.
First, you're not being objective. You're being unrealistic. If your current conversion rate is 3.5%, a prior that assigns equal probability to 80% conversion and 3% conversion is encoding nonsense. You know the conversion rate isn't 80%. Ignoring that knowledge doesn't make you objective; it makes your analysis needlessly inefficient.
Second, with enough data, your prior barely matters anyway. The posterior distribution is determined mostly by the likelihood (the data). Where priors help is in small to medium samples, exactly where you want to incorporate what you already know.
Let's quantify the impact with an illustrative simulation. Suppose your true conversion rates are A = 3.5% and B = 4.0%, and each variant gets 500 visitors. One simulated draw (fixed seed) gave 16 conversions for A (3.2%) and 19 for B (3.8%). The posterior comparison, with 2,000,000 draws:
- Flat prior: P(B > A) = 69%, expected lift = +0.60 points, 95% credible interval for lift: [-1.73, +2.96] points
- Informative prior centered on 3.5% (Beta(35, 965)): P(B > A) = 62%, expected lift = +0.20 points, 95% credible interval for lift: [-1.11, +1.52] points
With only 500 visitors per variant, neither answer is anywhere near a decision. Here the true gap is 0.5 points, so B really is better, and the flat prior's +0.60 is closer to that truth than the informative prior's +0.20. The informative prior is worth 1,000 observations per variant, twice the 500 real visitors, so it pulls both arms toward 3.5% and narrows the interval largely through its own weight; on this draw it understates the true gap. At this sample size the prior, not the data, is doing much of the work, which is why a prior should be strong only when you trust the history behind it.
Mistake #2: Changing Your Decision Threshold After Seeing Results
One of Bayesian A/B testing's advantages is that the posterior is meaningful at any moment, so you can check results as data comes in. But "you can look" is not the same as "looking is free", and it certainly doesn't mean you should change your decision criteria based on what you observe. (Scenario 3 below measures what repeated looks do to the rate of false wins.)
Here's the antipattern: you decide beforehand that you need 95% probability that B beats A. Partway through, the posterior sits a little under that line. You think "Well, that's pretty close, and we're eager to ship, so let's lower the threshold." Now your stopping rule is a justification written after seeing the data, and nobody can say what its error rate is.
The decision threshold should reflect your tolerance for risk, which depends on:
- Cost of being wrong: Changing a critical checkout flow? Use 99%. Testing button colors? 90% might suffice.
- Reversibility: Easy to roll back? Lower threshold. Hard to undo? Higher threshold.
- Opportunity cost: Delaying a likely winner has costs too
These factors don't change when you look at your results halfway through the test.
Mistake #3: Ignoring the Magnitude of Lift
Even a very high probability that B beats A doesn't mean you should implement B. If the expected lift is tiny relative to the cost of the change, the probability is high but the business impact is negligible.
Bayesian methods make it easy to incorporate both probability and magnitude. Instead of asking "Is B better?" ask "What's the expected value of implementing B?" The expected value is the posterior mean lift times the volume and value it applies to, minus the cost. Equivalently, you can weight the two outcomes by their probabilities:
Monthly Expected Value = P(B > A) × E[lift | B > A] × baseline_traffic × value_per_conversion
- P(A > B) × E[loss | A > B] × baseline_traffic × value_per_conversion
Net over a horizon = Monthly Expected Value × months_in_horizon - one_time_implementation_cost
Keep the units straight: the gain recurs every month, while an implementation cost is paid once. Compare them over the same stated horizon, or compute the payback time (cost divided by monthly gain).
Here is the calculation for an illustrative case.
Each variant gets 10,000 visitors. With a flat prior and 2,000,000 posterior draws:
- Variant A: 320 conversions (3.2%)
- Variant B: 350 conversions (3.5%)
- Bayesian analysis: P(B > A) = 88.1%, expected lift = +0.30 points (95% credible interval: -0.20 to +0.80 points)
- Baseline traffic: 100,000 visitors/month
- Value per conversion: $50
- Implementation cost: $2,000, paid once
- Horizon: 12 months
Monthly expected value, weighting the two outcomes. If B wins (probability 88.1%), the expected lift is 0.3576 points; if A wins (probability 11.9%), the expected loss from shipping B is 0.1252 points:
Monthly EV = 88.1% x 0.3576 points x 100,000 x $50 - 11.9% x 0.1252 points x 100,000 x $50
= $15,752 - $745
= $15,007 per month
Multiplying the posterior mean lift (0.30 points) by the volume instead gives $14,994 per month; the $13 difference is rounding in the printed inputs. Now net the one-time cost against the same 12 months:
12-month gain = 12 x $15,007 = $180,084
Net of the one-time $2,000 = $178,084
Payback = $2,000 / $15,007 = 0.13 months
It is clearly worth implementing. Now imagine the expected lift were only 0.002 points:
Monthly gain = 0.002 points x 100,000 x $50 = $100 per month
12-month gain = 12 x $100 = $1,200
Net of the one-time $2,000 = -$800
Payback = $2,000 / $100 = 20 months
On a 12-month horizon that change loses money, and it takes 20 months just to recover the cost, however confident you are that B is slightly better. The posterior distribution tells a richer story than a single probability.
Mistake #4: Treating the Prior as "Just a Starting Point" Without Sensitivity Analysis
Your prior encodes assumptions. Sometimes those assumptions are wrong. If your conclusion depends heavily on your prior choice, you have a problem.
Always run a sensitivity analysis: try reasonable alternative priors and see if your conclusion changes. If it does, you don't have enough data yet, or you need to think harder about what prior is actually justified.
Illustrative example: you're testing a new feature with no historical baseline, and you run 1,000 visitors per variant. Variant A converts 45 times (4.5%) and variant B converts 61 times (6.1%). You compare four priors, each worth 100 observations, centered on 5%, on 3%, on 7%, or flat. P(B > A) under each:
- Prior centered on 5%: P(B > A) = 94%
- Prior centered on 3%: P(B > A) = 94%
- Prior centered on 7%: P(B > A) = 93%
- Flat prior: P(B > A) = 94%
Your conclusion is stable across reasonable priors (every one lands just under a 95% threshold), which is good. Now take a much smaller test: 60 visitors per variant, A converts 3 times (5.0%) and B converts 6 times (10.0%). Same four priors:
- Prior centered on 5%: P(B > A) = 77%
- Prior centered on 3%: P(B > A) = 79%
- Prior centered on 7%: P(B > A) = 75%
- Flat prior: P(B > A) = 84%
Here the answer ranges from 75% to 84% depending on a prior choice you could defend either way. The data hasn't resolved the question, and any decision rule that falls inside that range would flip with the prior. You'd need more data or a stronger justification for your prior choice.
How Bayesian Updating Actually Works: A Concrete Example
Let's walk through an illustrative A/B test day by day to see how your beliefs should evolve. The visitor and conversion counts are made up for this example, and every probability and interval below was computed from them by code (2,000,000 Monte Carlo draws from each posterior). This is where Bayesian thinking shines. You can watch evidence accumulate and update your beliefs proportionally.
Day 0: Before the Test
You're testing a new product page design. Your current conversion rate is 4.2%, based on historical traffic. You encode this as a Beta(210, 4790) prior, a deliberately strong prior, the equivalent of 210 successes in 5,000 observations. That is more than the 2,500 visitors per variant this test will reach, and above the 10 to 1,000 range suggested in Step 1, so use it as an illustration of a prior doing a lot of work, not as a default.
What did we believe before seeing this data? That the conversion rate is around 4.2%, give or take. The 95% credible interval for your prior is [3.7%, 4.8%]. You're fairly confident but not certain.
Day 1: First 500 Visitors Per Variant
Results come in:
- Variant A: 22 conversions (4.4%)
- Variant B: 28 conversions (5.6%)
You update your priors with this data (this is just adding successes and failures to your Beta parameters):
- Posterior for A: Beta(210 + 22, 4790 + 478) = Beta(232, 5268)
- Posterior for B: Beta(210 + 28, 4790 + 472) = Beta(238, 5262)
From these posteriors, you can simulate: draw samples from each distribution and count how often B > A. Result: P(B > A) = 61%. Expected lift: +0.11 percentage points (95% credible interval: -0.65 to +0.87 points).
Interpretation: There's weak evidence that B is better, but substantial uncertainty remains. You shouldn't make any decision yet.
Day 3: 1,500 Visitors Per Variant
Cumulative results:
- Variant A: 61 conversions (4.1%)
- Variant B: 78 conversions (5.2%)
Updated posteriors:
- Posterior for A: Beta(210 + 61, 4790 + 1439) = Beta(271, 6229)
- Posterior for B: Beta(210 + 78, 4790 + 1422) = Beta(288, 6212)
Result: P(B > A) = 77%. Expected lift: +0.26 percentage points (credible interval: -0.44 to +0.96 points).
The evidence is strengthening, but it is still well short of your 95% decision threshold. Notice how the credible interval is tightening. You're more certain about the magnitude of lift.
Day 5: 2,500 Visitors Per Variant
Cumulative results:
- Variant A: 103 conversions (4.1%)
- Variant B: 128 conversions (5.1%)
Updated posteriors:
- Posterior for A: Beta(210 + 103, 4790 + 2397) = Beta(313, 7187)
- Posterior for B: Beta(210 + 128, 4790 + 2372) = Beta(338, 7162)
Result: P(B > A) = 84%. Expected lift: +0.33 percentage points (credible interval: -0.32 to +0.99 points).
You have not crossed your decision threshold yet. There's an 84% probability that B is better, with an expected lift of about a third of a percentage point, and the credible interval still includes zero. Notice why the estimates move slowly: the prior is worth 5,000 observations per variant, more than the 2,500 real visitors each variant has seen so far, so both posteriors stay pulled toward 4.2%. The right move is to keep the test running and check again against the same 95% threshold.
Building Credible Intervals That Actually Inform Decisions
Confidence intervals and credible intervals sound similar but mean completely different things. This distinction matters for how you communicate uncertainty to stakeholders.
What Confidence Intervals Mean (The Frequentist Version)
A 95% confidence interval does not mean "there's a 95% probability the true value is in this interval." That's the most common misinterpretation in statistics.
What it actually means: If you ran this experiment infinite times and constructed an interval each time using this method, 95% of those intervals would contain the true value. For this specific interval from your one experiment, the true value is either in it or it isn't. There's no probability statement you can make.
This is philosophically weird and practically useless for decision-making.
What Credible Intervals Mean (The Bayesian Version)
A 95% credible interval means exactly what it sounds like: given your data and prior, there's a 95% probability that the true value lies in this interval. This is a statement about your uncertainty given the evidence you've observed.
When you tell a stakeholder "the lift is between 0.5% and 1.8% with 95% probability," they can actually use that information. They can weigh the best-case and worst-case scenarios and decide if it's worth implementing.
Constructing and Interpreting Credible Intervals
In practice, you typically use the equal-tailed interval: find the 2.5th and 97.5th percentiles of your posterior distribution. Here's how to think about it:
# Pseudocode for credible interval
posterior_samples = draw_samples(posterior_distribution, n=100000)
lower = percentile(posterior_samples, 2.5)
upper = percentile(posterior_samples, 97.5)
credible_interval = [lower, upper]
Let's say your credible interval for lift is [0.3%, 1.4%]. Here's what that tells you:
- The most probable lift is around the middle of this range (~0.85%)
- There's a 95% probability the true lift is between 0.3% and 1.4%
- There's a 2.5% probability it's higher than 1.4%
- There's a 2.5% probability it's lower than 0.3%
- The interval doesn't include zero, meaning you're quite confident there's a positive effect
Compare this to "the 95% confidence interval is [0.3%, 1.4%]" which technically means "if we repeated this experiment many times, 95% of intervals would contain the true value." Which interpretation helps you make a decision?
When Bayesian A/B Testing Outperforms Frequentist Methods
Bayesian methods aren't always better. For massive-scale tests with millions of observations and no time pressure, frequentist and Bayesian approaches converge to similar conclusions. But there are specific scenarios where Bayesian methods have clear advantages.
Scenario 1: You Have Strong Prior Information
If you're testing variations on a mature product with years of data, your prior is highly informative. Bayesian methods let you use this information efficiently.
Example: You're optimizing an email subject line. You have data from 500 previous email campaigns showing open rates between 18% and 24%, with an average of 21%. Your prior should reflect this: say Beta(210, 790), centered on 21%.
When you test two new subject lines with just 1,000 recipients each, the Bayesian approach incorporates both your historical knowledge and new data. The frequentist approach throws away everything you knew before the test and treats both subject lines as if they could plausibly have 5% or 50% open rates.
Scenario 2: You Need to Make Decisions with Limited Data
Sometimes you can't run a test to full statistical significance. Your traffic is too low, or you need to make a decision quickly. Frequentist methods just tell you "not significant", which doesn't help you decide what to do.
Bayesian methods quantify what you do know.
Illustrative example. After 300 visitors per variant, you see:
- Variant A: 12 conversions (4.0%)
- Variant B: 18 conversions (6.0%)
Frequentist result: Fisher exact test p = 0.35, not significant. What do you do? You're stuck.
Bayesian result (flat prior): P(B > A) = 87%, expected lift = +1.99 points (95% credible interval: -1.55 to +5.61 points). Now you can make an informed decision. B probably is better, but there's meaningful uncertainty, and the interval includes small negative effects. If the cost of being wrong is low and the potential upside is high, maybe you implement B. If you need more certainty, you keep testing. The analysis actually informs your decision.
Scenario 3: You Want to Monitor a Test While It Runs
In frequentist testing, if you peek at results and stop early when you see significance, you inflate your false positive rate, sometimes dramatically. That is why you commit to a sample size upfront.
Bayesian methods are often said to be immune to this. That is only half true, and the half that is false matters. The posterior probability P(B > A) is a correct statement of your belief given your prior and the data, whenever you read it, including at an interim look. What changes with peeking is a different quantity: how often your stopping rule declares a winner when there is no real difference. The simulation below measures both.
Illustrative simulation on synthetic data, with fixed seeds and 20,000 simulated tests per row. Each test has 10 looks, adding 1,000 visitors per variant at each look, with a Beta(21, 479) prior on each variant. The rule is "declare B the winner the first time P(B > A) exceeds 95%". Posterior probabilities use a normal approximation, which stayed within 0.2 percentage points of Monte Carlo draws in 40 spot checks.
| Case | One look at 10,000 visitors per variant | Peek at every look |
|---|---|---|
| No true difference (both 4.2%): Bayesian rule declares B the winner | 4.5% | 13.9% |
| Same data: one-sided z test at the 5% level declares B the winner | 4.9% | 17.5% |
| B truly better (4.8% versus 4.2%): Bayesian rule declares B the winner | 64.0% | 74.8% |
What is not true: a Bayesian stopping rule does not keep the chance of a false win at the level the threshold suggests. With no real difference, the rule declared B the winner in 4.5% of tests when looked at once and in 13.9% of tests when checked at every look. "95% posterior probability" is not a 5% false positive rate, and checking at every look makes the gap larger.
What is true: the posterior stays calibrated if your prior describes reality. In a second simulation the true conversion rates were drawn from the prior itself. The rule stopped in 39.5% of those tests; at the moment of stopping the average posterior probability that B was better was 97.7%, and B really was better in 97.6% of those stopped tests. Reading the posterior at an interim look is therefore sound when the prior is right, even though the stopping rule itself has the false-win behavior in the table.
Peeking also buys speed. When B was truly better (4.8% versus 4.2%), the tests that stopped did so after an average of 4,538 visitors per variant, instead of waiting for all 10,000. The cost is the higher false-win rate above. If you need a known false-win rate, fix the sample size in advance or simulate your stopping rule before the test and tune the threshold until its error rate is acceptable.
Implementing Bayesian A/B Tests: A Step-by-Step Framework
Here's a practical framework you can follow for any Bayesian A/B test, from planning to decision-making.
Step 1: Define Your Prior Based on Historical Data
Before collecting any data, quantify what you already know. For conversion rate tests, use a Beta distribution:
- Prior mean: Your historical conversion rate (e.g., 4.2%)
- Prior strength: How much data backs this up? Use an effective sample size between 10 and 1,000 observations per variant, and keep it below the visitors per variant you expect to collect so the data can outweigh it.
For a stable metric with lots of history, use a stronger prior (effective N = 500 to 1,000). For a new or volatile metric, use a weaker prior (effective N = 10 to 50). The priors in this guide are labelled where they are deliberately strong (5,000, 1,000) or weak (100) to make a point.
To construct Beta(α, β) from mean and effective sample size:
mean = 0.042 # 4.2% historical conversion rate
effective_n = 500
alpha = mean × effective_n = 21
beta = (1 - mean) × effective_n = 479
prior = Beta(21, 479)
Step 2: Set Your Decision Threshold Before the Test
Decide what probability you need to implement a change. This should be based on risk tolerance:
- 99%: Critical systems (checkout, pricing, payment flow)
- 95%: Important features (navigation, product pages)
- 90%: Low-risk optimizations (button colors, microcopy)
Also set a minimum worthwhile lift. If you need at least +0.5 percentage point improvement to justify implementation costs, build that into your decision rule: P(lift > 0.5 points) > 95%.
Step 3: Collect Data and Update Your Posterior
As data arrives, update your posterior distribution. For conversion rates, this is simple addition:
posterior_alpha = prior_alpha + conversions
posterior_beta = prior_beta + (visitors - conversions)
For variant A with prior Beta(21, 479), after observing 50 conversions in 1,200 visitors:
posterior_A = Beta(21 + 50, 479 + 1150) = Beta(71, 1629)
Step 4: Calculate P(B > A) and Expected Lift
Draw samples from both posterior distributions and compare them:
# Draw 100,000 samples from each posterior
samples_A = draw_beta_samples(alpha_A, beta_A, n=100000)
samples_B = draw_beta_samples(alpha_B, beta_B, n=100000)
# Calculate probability B beats A
prob_B_beats_A = mean(samples_B > samples_A)
# Calculate expected lift
lift_samples = (samples_B - samples_A) / samples_A
expected_lift = mean(lift_samples)
credible_interval = percentile(lift_samples, [2.5, 97.5])
Step 5: Make a Decision Using Expected Value
Don't just use probability, incorporate magnitude:
if prob_B_beats_A >= decision_threshold AND expected_lift >= min_worthwhile_lift:
implement_variant_B()
elif prob_A_beats_B >= decision_threshold:
keep_variant_A()
else:
continue_testing() # Insufficient evidence either way
Better yet, calculate expected value:
EV_B = prob_B_beats_A × expected_lift_if_B_wins × value_per_visitor - implementation_cost
EV_A = prob_A_beats_B × expected_lift_if_A_wins × value_per_visitor # (no implementation cost)
if EV_B > EV_A:
implement_variant_B()
else:
keep_variant_A()
Step 6: Run Sensitivity Analysis on Your Prior
Before finalizing your decision, test if your conclusion holds with different reasonable priors:
- Stronger prior (2× effective sample size)
- Weaker prior (0.5× effective sample size)
- Different prior mean (±20% from your baseline)
If your conclusion flips based on reasonable prior choices, you need more data.
Real-World Example: E-commerce Checkout Optimization
Let's walk through a complete example to see the framework in action. This is an illustrative example: the visitor counts are made up, and every probability, interval and dollar figure below was computed from them by code (a Monte Carlo comparison of the two posteriors, 2,000,000 draws).
Context: An e-commerce company wants to test a one-page checkout versus their current multi-step checkout. Historical conversion rate at the checkout stage is 68% (of people who reach checkout, 68% complete the purchase). They have 6 months of stable data backing this rate.
Planning Phase
Prior: Beta(680, 320): equivalent to 680 successes in 1,000 observations, centered on 68%.
Decision rule: stop and ship B only when both conditions hold: P(B > A) is at least 95%, and P(lift > 1 percentage point) is at least 95%. The first guards against a change that does nothing; the second reflects that the new checkout needs significant engineering work, so a lift below 1 point would not pay for itself.
Expected value parameters:
- Average order value: $85
- Monthly checkout traffic: 12,000 users
- Implementation cost: $15,000 (engineering + testing)
Week 1: Initial Results
After 1,000 users per variant:
- Variant A (multi-step): 672 conversions (67.2%)
- Variant B (one-page): 695 conversions (69.5%)
Posteriors: A is Beta(1352, 648) and B is Beta(1375, 625). Analysis: P(B > A) = 78.2%, expected lift = +1.15 points (95% credible interval: -1.74 to +4.03 points), P(lift > 1 point) = 54.1%.
Decision: Continue testing. Neither condition is met.
Week 2: Accumulated Evidence
After 2,500 users per variant (cumulative):
- Variant A: 1,680 conversions (67.2%)
- Variant B: 1,750 conversions (70.0%)
Posteriors: A is Beta(2360, 1140) and B is Beta(2430, 1070). Analysis: P(B > A) = 96.4%, expected lift = +2.00 points (credible interval: -0.18 to +4.18 points), P(lift > 1 point) = 81.6%.
Decision: Continue. The first condition is already met, since 96.4% is above 95%. A rule that looked only at P(B > A) would have shipped B here. But the credible interval still includes zero, and P(lift > 1 point) is well short of 95%, so the stated rule says keep going.
Week 3: Still Short of the Rule
After 3,500 users per variant:
- Variant A: 2,352 conversions (67.2%)
- Variant B: 2,457 conversions (70.2%)
Posteriors: A is Beta(3032, 1468) and B is Beta(3137, 1363). Analysis: P(B > A) = 99.1%, expected lift = +2.33 points (credible interval: +0.41 to +4.25 points), P(lift > 1 point) = 91.3%.
Decision: Continue. B is almost certainly better, but the evidence that the lift clears 1 point is 91.3%, not 95%.
Week 4: Decision Point
After 5,000 users per variant:
- Variant A: 3,360 conversions (67.2%)
- Variant B: 3,515 conversions (70.3%)
Posteriors: A is Beta(4040, 1960) and B is Beta(4195, 1805). Analysis: P(B > A) = 99.9%, expected lift = +2.58 points (credible interval: +0.92 to +4.24 points), P(lift > 1 point) = 96.9%.
Both conditions are now met. Let's calculate expected value:
Extra orders per month = 12,000 users x 2.58 points = 310
Expected monthly revenue gain = 310 x $85 = $26,350
Annual value = $26,350 x 12 = $316,200
Implementation cost = $15,000
Net value (first year) = $316,200 - $15,000 = $301,200
Final decision: Implement variant B. The rule is met, the expected lift exceeds the 1 point minimum, and the expected value is positive even after implementation costs. The annual figure assumes the lift persists and applies to all 12,000 monthly checkout users, which is an assumption, not a result.
Your turn
Bring your own data and the question you actually need answered.
MCP AnalyticsData science by email Send us your data and your question, and we will reply. ds@mcpanalytics.ai
Frequently Asked Questions
Moving Beyond "Statistically Significant"
The shift from frequentist to Bayesian A/B testing isn't just about swapping one formula for another. It's about thinking differently about evidence and uncertainty.
Frequentist methods force you into binary thinking: significant or not significant, reject or fail to reject. But business decisions aren't binary. You need to know not just whether B is better, but how much better, with what confidence, and whether that improvement justifies the cost of implementation.
Bayesian methods give you the tools to reason about these questions directly. The posterior distribution tells a richer story than a single p-value. Credible intervals quantify your uncertainty in an interpretable way. Expected value calculations incorporate both probability and magnitude.
Most importantly, Bayesian thinking makes you explicit about what you believed before seeing the data. Your prior forces you to articulate your assumptions. When those assumptions are wrong, the data will overwhelm them. When they're right, they make your inferences more efficient.
The four critical mistakes: using uninformative priors, changing decision thresholds mid-test, ignoring magnitude of lift, and skipping sensitivity analysis, all stem from treating Bayesian methods as a drop-in replacement for frequentist tests. They're not. They're a different way of thinking about evidence.
What did we believe before seeing this data? How much should this evidence update our beliefs? What's the probability distribution over outcomes, not just a point estimate? These are the questions Bayesian methods force you to answer. And answering them honestly leads to better decisions.
1. Encode what you know as a prior, not ignorance as a flat distribution
2. Update beliefs proportionally to the strength of evidence
3. Quantify uncertainty honestly. The posterior distribution tells the whole story, not just P(B > A)