ds@mcpanalytics.aiEmail your data and your question and get an answer about your own data, with the method shown.Email your data and question. Get an answer.

Bayesian A/B Testing: Practical Guide for Data-Driven Decisions

Updated October 2026

By MCP Analytics Team | | 15 min read

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:

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?"

Common Mistake #1: Interpreting p-values as posterior probabilities
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:

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.

What to do instead: Use an informative prior centered on your current baseline conversion rate. For conversion rate experiments, a Beta distribution works well. If your baseline is 3.5%, use Beta(35, 965) as your prior. This represents the equivalent of having seen about 1,000 prior observations per variant, which is a strong prior: it keeps early results from swinging wildly, but the data only outweigh it once each variant has well over 1,000 visitors (the example below, with 500 per variant, shows the prior still carrying most of the weight). For a lighter touch, use a smaller effective sample size.

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:

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:

These factors don't change when you look at your results halfway through the test.

Key Principle: Set your decision threshold before running the test based on the business context, not statistical convenience. The whole point of Bayesian methods is honest quantification of uncertainty, which means you don't get to move the goalposts when results are inconvenient.

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:

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:

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:

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:

You update your priors with this data (this is just adding successes and failures to your Beta parameters):

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:

Updated posteriors:

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:

Updated posteriors:

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.

Notice what happened: You didn't wait for a predetermined sample size. You monitored as data arrived and compared the posterior against a decision threshold you set before the test. Each day, you asked "How much should this evidence update my beliefs?" and updated proportionally. On Day 1, P(B > A) moved from 50% to 61%. By Day 5, it had reached 84%: real movement, but not enough to act on under your own rule, so the test continues. Reading the posterior at each look is sound; what repeated looks change is how often a stopping rule fires by mistake, which the simulation in Scenario 3 below quantifies. (You can reproduce every posterior above by adding conversions to the first Beta parameter and non-conversions to the second, then sampling.)

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:

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:

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:

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:

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:

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:

Week 1: Initial Results

After 1,000 users per variant:

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):

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:

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:

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.

What made this work: The team had a clear prior based on historical data, wrote down a two-part decision rule before the test, did not change it when week 2 looked tempting, and made the final decision using expected value rather than just probability. Note that they looked at the data four times. Looking repeatedly changes how often a rule like this declares a winner by mistake (see the simulation in Scenario 3), so for a decision this large, simulate your own rule first.

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

What's the main difference between Bayesian and frequentist A/B testing?
Frequentist tests tell you the probability of observing your data if there's no difference between variants (the p-value). Bayesian tests tell you the probability that variant B is better than A given your data, the question you actually care about. Bayesian methods also let you incorporate prior knowledge and read the posterior at any time, although stopping early still changes your error rates (see the simulation above).
Can I stop a Bayesian A/B test early without inflating error rates?
Not entirely. The posterior probability remains a valid statement of your belief at any look, provided your prior is reasonable. But the frequentist-style error rate, how often you declare a winner when there is no real difference, does rise when you stop at the first look that crosses a threshold. In our simulation of ten looks with a 95% rule and no true difference, B was declared the winner in 13.9% of tests, against 4.5% with a single look at the end. 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. Either way, define minimum sample sizes to avoid decisions based on tiny amounts of data.
How do I choose a prior for my A/B test?
Start with your current conversion rate as the prior mean. For the prior strength (effective sample size), use a value between 10 and 1,000 observations per variant depending on your confidence in historical data, and keep it below the visitors per variant you expect to collect. If you have stable baseline metrics from months of data, use a stronger prior (500 to 1,000); for new or volatile metrics, use 10 to 50. For new features or unstable metrics, use a weak prior that lets the data dominate quickly. Always run a sensitivity analysis to ensure your conclusions don't change dramatically with reasonable prior choices.
What probability threshold should I use to declare a winner?
Most teams use 95% probability that B beats A, but this should depend on your decision context. For high-risk changes (like pricing or checkout flow), use 99% to be more conservative. For low-risk experiments (like button color), 90% might suffice. The key is to set this threshold before running the test based on the cost of being wrong, not to adjust it after seeing results.
How does Bayesian A/B testing handle small sample sizes?
Bayesian methods handle small samples well because they honestly quantify uncertainty. Instead of saying "not statistically significant" (which says nothing about effect size), you get statements like "there's an 87% probability B is better, with a 95% credible interval for the lift of -1.55 to +5.61 percentage points." That is the result for an illustrative test with 300 visitors per variant (12 versus 18 conversions, flat prior), where the Fisher exact test gives p = 0.35. This lets you make informed decisions even without traditional statistical significance. Your prior becomes more influential with small samples, which is appropriate: when you have little data, what you knew before matters more.

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.

The Bayesian mindset in three principles:
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)