Most analysts know how to calculate the probability of a simple event.
Roll a die. Flip a coin. Draw a card.
They also know how to estimate an unknown value from a sample using frequentist statistics.
But there is a strange paradox here.
Ask a very simple question:
"What is the probability that the true value is actually somewhere around here?"
And suddenly things become much less straightforward.
Take a coin. We flip it 100 times and get:
We can test whether the coin is fair. We can calculate a confidence interval. We can ask whether the observed result is compatible with:
p = 0.5
But these are not necessarily the questions we naturally want to ask.
What we really want to know is:
These questions sound almost embarrassingly simple.
Yet standard frequentist tools are not designed to answer them directly.
The same issue appears everywhere.
Suppose we are testing a drug. We might formulate a null hypothesis:
H₀: the drug has no effect
Then we run an experiment and calculate a p-value.
But what does the researcher actually want to know? Probably something like:
A p-value does not answer either question.
A few reminders about what a p-value does not tell us:
Strictly speaking, the p-value asks something closer to:
Assuming the null hypothesis is true, how surprising are the observed data, or data even more extreme?
In probability notation:
P(data this extreme or more extreme | H₀)
But what people often want is the reverse:
P(H₀ | data)
Those two probabilities are not the same.
And at this point a perfectly reasonable analyst may ask:
Why am I using a statistical framework that does not directly answer the question I actually care about?
This is where Bayesian statistics enters the story.
Bayesian statistics allows us to make statements like:
P(p > 0.5 | data) = 0.97
Which can be interpreted as: given the model and the observed data, there is a 97% posterior probability that the coin is biased toward heads.
Or:
P(effect > 0 | data) = 0.94
Meaning: given the model and the data, the posterior probability of a positive treatment effect is 94%.
This is much closer to the language people naturally use when making decisions.
Unfortunately, there is a catch. The conceptual idea is intuitive. The mathematics often is not.
The core formula is Bayes' theorem:
P(H | D) = P(D | H) × P(H) / P(D)
In plain English:
Conceptually: we had some belief about the world. We observed new data. We updated our belief.
That sounds perfectly reasonable.
Then you open a statistics textbook. And suddenly the perfectly intuitive idea is surrounded by integrals, conjugate priors, precision terms, and distributions you have not thought about since university. Or try to explain it to someone who doesn't know math at all.
Suppose we start with very little prior knowledge about the coin. We can represent that as:
p ~ Beta(1, 1)
Then we observe 60 heads and 40 tails. The posterior becomes:
p | data ~ Beta(61, 41)
Now we can ask the model directly:
P(p > 0.5 | data)
or:
P(0.55 < p < 0.65 | data)
Which is exactly what we wanted in the first place.
But notice what just happened. To answer the everyday question "Is the coin probably biased?" we somehow ended up learning about the Beta distribution.
The same pattern continues:
Bayesian statistics has a remarkably intuitive philosophy wrapped in mathematics that can be remarkably unintuitive.
And one of the best examples of why Bayes matters has nothing to do with coins.
Consider HIV screening in the United States.
Technically, we should talk about an HIV test, not an "AIDS test." AIDS is a late stage of HIV infection.
For a simplified example, imagine a test with:
At first glance, you might think: if the result is positive, there is a 99% probability that the person has HIV.
That is wrong.
Suppose we test 10,000 people in a population where 0.5% actually have HIV. That gives us:
10,000 × 0.005 = 50
people with HIV. And:
10,000 − 50 = 9,950
people without HIV.
With 99% sensitivity, the test correctly identifies roughly:
50 × 0.99 = 49.5
So we get around 50 true positives.
Now look at the much larger group without HIV. If specificity is 99%, then 1% will receive a false positive result:
9,950 × 0.01 = 99.5
So we get around 100 false positives.
That means approximately 150 people receive a positive result:
So, in this simplified example:
P(HIV | positive) ≈ 50 / (50 + 100) ≈ 33%
The test can have 99% sensitivity and 99% specificity, yet a positive result does not automatically mean a 99% probability of infection.
Why? Because we confused:
P(positive | HIV)
with:
P(HIV | positive)
The first means: if the person has HIV, what is the probability that the test is positive?
The second means: if the test is positive, what is the probability that the person actually has HIV?
These are very different questions.
And the difference comes from the prior probability — in this case, the prevalence of HIV in the population being tested.
This is one of the cleanest demonstrations of Bayesian reasoning.
The test result is evidence. But evidence does not exist in a vacuum. Its meaning depends on what was plausible before we observed it.
This is where many people become uncomfortable with Bayesian statistics. They ask:
"What if I simply choose a prior that gives me the result I want?"
That is a legitimate concern. A prior should be justified.
But a prior does not necessarily mean "I personally feel that the value should be 70%." It can come from:
And sometimes pretending that we have no prior knowledge is itself unrealistic.
Imagine launching the 501st advertising campaign after observing the previous 500. Do we really know nothing about the likely ROAS of the new campaign?
Of course not. We already have information.
Bayesian statistics simply allows us to put that information into the model explicitly.
Another useful property of Bayesian models is that the influence of the prior generally decreases as the amount of data grows.
Imagine three coin flips:
H H H
Three heads in a row is not enough evidence to conclude that the probability of heads is close to 1. The prior matters a lot.
Now imagine:
At this point, almost any reasonable prior will be overwhelmed by the data. The posterior will concentrate near:
p = 0.6
This is a very natural rule:
This is where Bayesian statistics becomes especially attractive for product and marketing analytics.
Data arrive continuously.
Suppose yesterday we had a probability distribution describing the expected ROAS of a campaign. Today we receive another 1,000 installs. We update the distribution. Tomorrow we receive more data. We update it again.
Conceptually:
Prior₀ + Data₁ → Posterior₁
Then:
Posterior₁ + Data₂ → Posterior₂
Yesterday's posterior becomes today's prior.
There is no need to pretend that every new experiment begins in complete ignorance.
Historically, Bayesian statistics had a serious practical problem.
Simple models could be solved analytically. For example:
But real-world models quickly became too complicated.
The denominator in Bayes' theorem requires us to account for all possible values of the parameter. Conceptually:
P(D) = ∫ P(D | θ) × P(θ) dθ
For complex, high-dimensional models, this may be impossible to solve analytically. That made Bayesian methods computationally expensive and inconvenient.
Modern computational methods changed this dramatically:
With libraries such as PyMC, a model can now look something like this:
with pm.Model():
mu = pm.Normal("mu", 0, 10)
sigma = pm.HalfNormal("sigma", 5)
y = pm.Normal(
"y",
mu=mu,
sigma=sigma,
observed=data
)
trace = pm.sample()
And instead of manually deriving a huge posterior formula, we obtain samples from the posterior distribution.
Then we can ask questions that are actually useful for decisions.
What is the probability that the effect is positive?
(mu_samples > 0).mean()
What is the probability that the effect is larger than a practically meaningful threshold?
(mu_samples > 0.05).mean()
What range contains 95% of the posterior probability?
np.quantile(mu_samples, [0.025, 0.975])
At this point Bayesian statistics stops looking like an obscure branch of mathematical statistics and starts looking like a very practical analytical tool.
The most important idea in Bayesian statistics is not the Beta distribution. It is not MCMC. It is not conjugate priors. It is not even Bayes' theorem itself.
The key idea is this:
An unknown parameter can be represented by a probability distribution.
Instead of saying:
ROAS is 1.37.
We can say:
The most plausible values are around 1.37, with this level of uncertainty.
Instead of asking "Is the campaign good or bad?" we can ask:
P(ROAS > 1)
Instead of "Is Test statistically significant?" we can ask:
P(Test > Control)
Instead of receiving a binary conclusion — significant / not significant — we may get:
Given the model and the observed data, there is a 93% posterior probability that Test performs better than Control.
And then the business can decide whether 93% is enough to act.
Statistics does not have to make the decision for us. Its job is to describe uncertainty.
And that may be the biggest advantage of Bayesian statistics:
It lets us ask statistical models questions in almost the same language in which we wanted to ask them in the first place.