# Probability calculator (events & Bayes' theorem)

> Calculate P(A or B), P(A and B) and P(A | B) for two events, or apply Bayes' theorem to a test result, with a probability tree and Venn diagram.

Interactive version: https://www.calcopenly.com/statistics/probability-calculator
Subject: Statistics and probability calculators

For two events A and B, the addition rule gives P(A or B) = P(A) + P(B) − P(A and B), the multiplication rule gives P(A and B) = P(A) × P(B | A), and conditional probability is P(A | B) = P(A and B) / P(B). Bayes' theorem mode runs the conditional the other way: from a prior P(A) and the two evidence rates P(B | A) and P(B | not A), it returns the updated probability P(A | B).

The Bayes default is a screening test for a condition with 1% prevalence, 90% sensitivity and a 9% false-positive rate. A positive result raises the probability from 1% to 9.17%, because in 10,000 people the 90 true positives are outnumbered by 891 false positives.

Enter probabilities from 0 to 1; fractions such as 1/6 are accepted. Two-events mode rejects combinations that cannot exist, such as a P(A and B) larger than P(A) or P(B).

## Inputs

- **Calculate** (options: Bayes' theorem, Two events)
- **Prior probability P(A)**: How likely A is before seeing the evidence, e.g. how common a condition is.
- **P(B | A)**: Chance of seeing the evidence when A is true, e.g. a test's sensitivity.
- **P(B | not A)**: Chance of seeing the evidence when A is false, e.g. the false-positive rate (1 − specificity).
- **P(A)**
- **P(B)**
- **How A and B relate** (options: Independent, Mutually exclusive, I know P(A and B), I know P(B | A))
- **P(A and B)**
- **P(B | A)**

## Results

- P(A | B) — main result
- P(B | A)
- P(A and B)
- P(A or B)
- P(B)
- P(A | not B)
- P(not A)
- P(not B)
- P(neither A nor B)
- P(exactly one of A, B)
- Independent?

## Formula

$$
P(A \mid B) = \frac{P(B \mid A)\,P(A)}{P(B \mid A)P(A) + P(B \mid \bar A)P(\bar A)},\qquad P(A \cup B) = P(A) + P(B) - P(A \cap B)
$$

## Worked examples

### Screening test: 1% prevalence, 90% sensitivity, 9% false positives

- Calculate: Bayes' theorem
- Prior probability P(A): 0.01
- P(B | A): 0.9
- P(B | not A): 0.09
- **P(A | B): 0.091743**
- **P(B): 0.0981**
- Checked against: Gigerenzer et al. (2007) mammography example (about 1 in 10 positives has the disease); exact 0.009/0.0981 = 10/109 with Python fractions

### Independent events 0.5 and 0.4

- Calculate: Two events
- P(A): 0.5
- P(B): 0.4
- How A and B relate: Independent
- **P(A and B): 0.2**
- **P(A or B): 0.7**
- **P(A | B): 0.5**
- **P(neither A nor B): 0.3**
- **Independent?: Yes**
- Checked against: P(A)P(B) = 0.2; addition rule 0.5 + 0.4 − 0.2

### Mutually exclusive 0.3 and 0.45

- Calculate: Two events
- P(A): 0.3
- P(B): 0.45
- How A and B relate: Mutually exclusive
- **P(A and B): 0**
- **P(A or B): 0.75**
- **P(A | B): 0**
- **P(exactly one of A, B): 0.75**
- **Independent?: No**
- Checked against: Definition: P(A ∩ B) = 0; union is the plain sum

### Known joint probability

- Calculate: Two events
- P(A): 0.6
- P(B): 0.5
- How A and B relate: I know P(A and B)
- P(A and B): 0.4
- **P(A or B): 0.7**
- **P(A | B): 0.8**
- **P(B | A): 0.666667**
- **P(neither A nor B): 0.3**
- **P(exactly one of A, B): 0.3**
- **Independent?: No**
- Checked against: Hand calculation with Python fractions: 0.4/0.5, 0.4/0.6 = 2/3, 1 − 0.7

### Dice: first die shows 6, total is 7

- Calculate: Two events
- P(A): 1/6
- P(B): 1/6
- How A and B relate: I know P(A and B)
- P(A and B): 1/36
- **P(A | B): 0.166667**
- **Independent?: Yes**
- Checked against: Textbook example: of the 6 ways to roll 7, one has a 6 first, and 1/36 = (1/6)(1/6), so the events are independent

### Edge case: prior of 0

- Calculate: Bayes' theorem
- Prior probability P(A): 0
- P(B | A): 0.9
- P(B | not A): 0.09
- **P(A | B): 0**
- **P(B): 0.09**
- Checked against: Bayes' formula with P(A) = 0: no evidence can raise a zero prior

## Questions

### How do you calculate the probability of A or B?

Add the two probabilities and subtract the overlap: P(A or B) = P(A) + P(B) − P(A and B). For independent events with P(A) = 0.5 and P(B) = 0.4, the overlap is 0.5 × 0.4 = 0.2, so P(A or B) = 0.7. For mutually exclusive events the overlap is 0, so the probabilities simply add: 0.3 + 0.45 = 0.75.

### What is the difference between independent and mutually exclusive events?

Independent events don't affect each other's chances, so P(A and B) = P(A) × P(B). Mutually exclusive events can't happen together, so P(A and B) = 0. Two events with non-zero probabilities can't be both: if A rules out B, knowing A happened changes the chance of B to 0. Two coin flips are independent; heads and tails on one flip are mutually exclusive.

### Why does a positive result on an accurate test often mean you probably don't have the condition?

Because false positives from the large healthy group can outnumber true positives from the small affected group. With 1% prevalence, 90% sensitivity and 9% false positives, only 9.17% of positives are true. At 10% prevalence the same test gives 0.09 / (0.09 + 0.081) = 52.6%. This probability is the test's positive predictive value, and it depends on prevalence as much as on accuracy.

### How do you calculate the probability of at least one event happening?

Subtract the chance that it never happens from 1: P(at least one) = 1 − (1 − p)ⁿ for n independent tries with probability p each. The chance of at least one six in 4 rolls of a die is 1 − (5/6)⁴ = 671/1296, about 0.5177, just above even odds. With p = 0.01 you need 69 tries before the chance passes 50%.

### How accurate is the probability calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 6 worked examples whose answers come from independent sources; for example, “Screening test: 1% prevalence, 90% sensitivity, 9% false positives” is checked against Gigerenzer et al. (2007) mammography example (about 1 in 10 positives has the disease); exact 0.009/0.0981 = 10/109 with Python fractions.

### Where does the method come from?

Grinstead & Snell, Introduction to Probability (AMS), §4.1 Discrete conditional probability and Bayes' formula; Gigerenzer et al. (2007). Helping doctors and patients make sense of health statistics. Psychological Science in the Public Interest 8(2), 53–96.

## Sources

- [Grinstead & Snell, Introduction to Probability (AMS), §4.1 Discrete conditional probability and Bayes' formula](https://math.dartmouth.edu/~prob/prob/prob.pdf)
- Gigerenzer et al. (2007). Helping doctors and patients make sense of health statistics. Psychological Science in the Public Interest 8(2), 53–96
