Math calculator

Posterior Probability Calculator

Updating as data arrives.

Updating on new data

Four weekly batches, 54 conversions in 805 visits. The 95% interval narrows from 0.06708 wide after week one to 0.05074, 0.03967 and finally 0.03470 — roughly halving across the month, which is what √n buys. The estimate itself wanders: 0.06436, then 0.07524, then 0.06645, then 0.06815. Watching an estimate move is not the same as watching it improve.

4 batches · 54 of 805

0.06815 (95% credible 0.05182 to 0.08652)

The interval narrowed from 0.06708 after the first batch to 0.03470 — a factor of 1.93. The prior is flat, so the estimate is driven entirely by the data.

Final estimate

0.06815

54 of 805

95% credible

0.0518 to 0.0865

width 0.03470

Prior weight

0.25%

0.000pp shift

Interval narrowing

1.93×

0.0671 → 0.0347

The posterior after each batch

The running posterior, its interval and its width after every batch
BatchDataPosteriorEstimate95% credibleWidth
Week 112 of 200Beta(13.00, 189.00)0.064360.03488 to 0.101960.06708
Week 218 of 210Beta(31.00, 381.00)0.075240.05182 to 0.102560.05074
Week 39 of 190Beta(40.00, 562.00)0.066450.04797 to 0.087640.03967
Week 415 of 205Beta(55.00, 752.00)0.068150.05182 to 0.086520.03470

The estimate wanders while the interval shrinks, and those are different things. An estimate moving between batches is sampling noise; the interval narrowing is information arriving. Reading the first as news is the most common mistake made with a running dashboard.

Prior against data

What the prior contributed against what the data contributed
SourceObservationsImplied rateShare
Prior2.000.500000.25%
Data8050.0670899.75%
Posterior807.000.06815100%

Under a flat prior the same data gives 0.06815. The gap of 0.0000 percentage points is what this prior is worth, stated rather than buried.

Grouping-independent Every step shown Prior weight reported Assumes one fixed rate

What this tool shows

Four weekly batches totalling 54 of 805, and a single batch of 54 of 805, both give Beta(55, 752). A conjugate update is addition, and addition does not care about grouping — which is what makes it legitimate to look whenever you like. Along the way the interval narrows from 0.06708 to 0.03470 while the estimate wanders from 0.06436 to 0.07524 and back to 0.06815. Those are different things, and only one of them is news.

  • Sequential Beta-Binomial updating with the posterior shown after every batch
  • The interval width at each step, which narrows while the estimate wanders
  • The prior’s weight as a share of the total evidence, and what it moved in percentage points
  • A preset entering the same data as one batch, to show the posterior is identical
  • A comparison against the flat-prior answer on the same data
  • A preset where the underlying rate shifts and the running posterior absorbs it
Grouping-independent Every step shown Prior weight reported Flat-prior contrast

The update assumes one fixed rate. A rate that changes is a different problem.

Updated 13 September 2026 · Works in any browser, no installation

Bayesian updating turns a prior belief about a rate into a posterior, one batch of data at a time. For a proportion the arithmetic is addition: a Beta(α, β) prior plus x successes in n trials gives Beta(α + x, β + n − x). That is why the order and the grouping of the data make no difference to where you end up, and why a running estimate can be read at any point without a stopping rule to worry about.

At a glance

Formula shown
Beta(α, β) + (x of n) → Beta(α + x, β + n − x), applied batch by batch. Because each update only adds, the posterior after k batches equals the posterior from one batch containing all of it: (α + Σxᵢ, β + Σ(nᵢ − xᵢ)). The posterior mean is (α + Σxᵢ)/(α + β + Σnᵢ), which always lies between the prior mean and the pooled observed rate, and the interval width falls roughly as 1/√n.
Scenario support
Tracking a conversion or defect rate as data arrives weekly, combining results from several studies or sites, monitoring a rate on a dashboard without a fixed stopping point, and incorporating a genuine prior from historical data rather than starting from scratch each time.
Educational estimate
Planning support from the values you enter — not professional advice.

Four batches or one, the same posterior

The third preset exists to prove a property rather than to show a result, and the property is what makes everything else on this page safe.

Four weekly batches totalling 54 of 805 give Beta(55, 752). One batch of 54 of 805 gives Beta(55, 752). Identical, to the last bit.

The reason is that a conjugate update is addition, and addition is associative. No approximation is involved and no information is lost at a batch boundary.

Which is what makes repeated looks legitimate. A posterior does not depend on when you decided to stop collecting, so it is valid whenever you read it — unlike a p-value, whose interpretation depends on the sampling plan.

The verification suite asserts it as an exact equality on 250 generated cases. Not a tolerance: the two posteriors must match to machine precision.

The estimate wanders and the interval shrinks

A running dashboard shows two things at once, and reading the wrong one is the most common mistake made with a live estimate.

Across four batches the estimate goes 0.06436, 0.07524, 0.06645, 0.06815. Up 17%, then down 12%, then up again.

Across the same four batches the interval goes 0.06708, 0.05074, 0.03967, 0.03470. Down every time, by a factor of 1.93 in total.

The first is sampling noise. The second is information arriving. Reading the estimate’s movement as news is reading noise as signal.

The width falls roughly as 1/√n, so halving it again takes four times the data. That is the arithmetic behind every disappointing conversation about how long a test needs to run.

What a real prior is worth

The second preset uses a prior that means something — Beta(20, 180), a belief that the rate is about 10% — and the page reports exactly what it bought.

It behaves like 200 observations already seen. Against 805 of real data that is 19.90% of the evidence.

It lifts the final estimate from 0.06815 to 0.07363, a difference of 0.5478 percentage points.

Whether that is right depends entirely on where the 10% came from. Last quarter’s measured rate on the same funnel is a good reason; a guess is not.

The share is printed rather than the effect alone, because “the prior barely mattered” is a claim with a number behind it and the number is rarely checked.

A rate that changes breaks the whole model

The fourth preset is the honest limit of everything else here, and the failure is quiet.

The rate is 3.50% across the first half and 13.00% across the second. Nearly four times.

The running posterior drifts 0.0347, 0.0373, 0.0648, 0.0835 and never signals anything. It reports the average, with an interval that assumes that average is a real fixed quantity.

The model says every observation came from one rate. When that is false, the posterior is an answer to a question nobody asked.

Detecting the change is a different tool. A p chart or an EWMA chart is built for exactly this and will flag it; a posterior is built to estimate, not to monitor.

Choosing a prior that is defensible

The prior is the part of a Bayesian analysis people argue about, and for a proportion the argument can be made concrete.

Beta(1, 1) is flat and worth two observations. Harmless on large samples, and it pulls hard toward 50% on small ones.

Beta(0.5, 0.5) is Jeffreys’ prior, invariant to reparameterisation and less pushy at the boundaries. The default when genuine ignorance is the honest position.

A weak informative prior is usually better than either. For a conversion rate known to sit near 5%, Beta(2, 40) encodes that and is worth 42 observations — enough to stabilise a small sample and not enough to override a real one.

The test is sensitivity. Run the analysis under two defensible priors. If they disagree about the decision, the data has not settled it and the prior is doing work it needs to justify.

What this buys over a running average

A running proportion is simpler and gives a similar number. The difference is what comes with it.

An interval at every point, valid at every point. A running proportion has no interval unless one is constructed, and a confidence interval read repeatedly has no stated coverage.

Sensible behaviour at zero. A running proportion of 0 of 12 is 0, which is a terrible estimate; the posterior mean is 0.0714, which is a usable one.

A place to put what you already knew. Historical data enters as a prior rather than being discarded at the start of every measurement.

What it does not buy is protection from a bad question. The fourth preset is evidence of that: the machinery is exact, and it is exactly answering the wrong question.

Reporting a running posterior

Four items, and the third is the one that turns a dashboard number into a result.

Give the prior and its weight. As a share of the evidence, not just as parameters.

Give the cumulative counts, not only the rate. Everything here follows from them and nothing follows from a percentage.

Give the interval, and say it is credible rather than confidence. The two mean different things and only one supports the sentence people write.

And say whether the rate is assumed stable. Every number here depends on it, and a control chart over the same period is the cheap way to check.

Sources and methodology

References for conjugate updating and prior choice.

Method. Each batch updates the previous posterior by addition, which is what a conjugate prior means, and the suite asserts the consequence directly: applying the same data as one batch or as two gives a bit-identical posterior, on 250 generated cases, as an exact equality rather than a tolerance. It also asserts that the posterior mean always lies between the prior mean and the observed rate — a property that cannot hold unless both the update and the mean are right — and that the interval narrows at every step on the shipped data. The flat-prior answer is computed alongside whatever prior is supplied, so the page can state what the prior was worth in percentage points rather than leaving it to be inferred. Batches with more successes than trials are skipped rather than charted, and a set with no usable batch returns no result. That engine is verified on every change against 106 assertions. The count and the per-case breakdown are published on the formula verification page.

Related calculators

Where this goes next:

Credible IntervalBayesian credible intervals for a proportion with both the highest-density and equal-tailed versions and the prior's weight reported.
Bayesian A/B TestP(B beats A) from a closed form rather than sampling, with expected loss as the stopping rule and a margin of practical interest.
Beta-BinomialThe predictive distribution for future successes, with the variance split into trial randomness and uncertainty in the rate itself.
Bayes' TheoremPosterior probability from a prior, sensitivity and specificity — plus the true and false positives per 100,000, because a 99% accurate test for a 1-in-10,000 condition is right 0.98% of the time and the percentage alone does not make that believable.
p Chartp and np charts with limits computed per point when the sample sizes differ, and the cost of flat limits measured on your own chart.
Bayes FactorBayes factors for a proportion in closed form with the exact binomial p-value beside them and Jeffreys' bands in both directions.

More in Math, or browse all calculators.

Educational use disclaimer

An educational tool. The conjugate update assumes every observation comes from one fixed rate, so a genuine change in that rate is absorbed into an average rather than flagged — the fourth preset shows a rate going from 3.5% to 13% with the posterior reporting neither. Detecting that is a control-chart problem, not an estimation one.

How we calculate · Found an error? email us

Authorship & verification

Written and maintained by , a business operator who builds spreadsheet-based calculators.

What's changed (5 updates)

Published 13 September 2026

  1. Launched sequential Bayesian updating with the posterior, interval and width after every batch.
  2. Shipped a preset entering the same data as one batch instead of four, giving a bit-identical Beta(55, 752).
  3. Separated the two things a running estimate shows: the estimate wanders 0.06436 to 0.07524 to 0.06815 while the interval narrows 0.06708 to 0.03470.
  4. Reported what a real prior is worth — Beta(20, 180) is 19.90% of the evidence and moves the answer 0.5478 percentage points.
  5. Shipped a preset where the underlying rate nearly quadruples and the posterior absorbs it into an average, as the honest limit of the method.

Add this calculator to your site

Responsive embed — and private: nothing your visitors type leaves their browser.