How the topic fits together
Probability in IB splits into two halves. First you reason about events (did it happen or not). Then you model a number that comes out of a random process with a random variable. Work through in order, or jump to a weak spot.
Which model does the question want?
Read the stem and match the first line that fits.
How to use each topic page
- Read the idea first. Each page starts with why the method works, so you can rebuild a formula if you forget it.
- Break the model. Drag sliders to extreme values. Watch what happens when p = 0, when σ gets huge, when events become independent.
- Do five practice questions. Questions are randomised every time. Answer to 3 significant figures, the IB default. Fractions like 3/8 are accepted.
- Read the working even when you're right. The shorthand line at the bottom is the part to memorise.
Formulas marked booklet appear in the IB formula booklet. You still need to know when to use them.
Events, Venn diagrams and the addition rule
An event is a set of outcomes. Most questions about two events come down to the four regions of a Venn diagram. Once you know all four, you can answer anything.
The idea
For equally likely outcomes, P(A) = n(A) ÷ n(U): favourable outcomes over all outcomes. Every probability sits between 0 and 1, and the probabilities of all outcomes add to 1. That is why P(A′) = 1 − P(A).
If you add P(A) and P(B), the overlap A ∩ B gets counted twice. Subtract it once and you get the addition rule.
Mutually exclusive events cannot happen together, so the overlap is empty: P(A ∩ B) = 0.
Independent events don't affect each other. Knowing A happened leaves the chance of B unchanged, which gives P(A ∩ B) = P(A) × P(B).
Expected number of times A occurs in n trials is n × P(A). It is a long-run average, so it can be a decimal.
Formulas
- Mutually exclusive is not independent. If A and B can't both happen, knowing A happened tells you B didn't. That is dependence.
- "A or B" in IB means inclusive: A, B, or both.
- "Exactly one of A, B" is A ∪ B minus A ∩ B.
- ME = "can't both". IND = "doesn't care".
- Fill Venns from the middle out: overlap first, then the "only" regions, then outside.
Live model: two events
Try setting P(A ∩ B) to exactly P(A) × P(B), or to 0. Watch the status tiles change.
Conditional probability and tree diagrams
"Given that B happened" means you throw away every outcome outside B. B becomes your new sample space, so P(B) becomes the denominator.
The idea
P(A | B) asks: of the times B happens, what fraction also have A? That is the overlap divided by B. In a two-way table, the condition tells you which row or column total to divide by.
Trees handle events in stages. Each branch carries a conditional probability, because the second stage is drawn knowing how the first went.
- Multiply along a path. You need this and then that.
- Add across paths. Any of these routes will do.
Without replacement, the second-stage numbers change: one fewer item in the bag, and one fewer of whatever was taken.
A neat check for independence: A and B are independent exactly when P(A | B) = P(A). The condition makes no difference.
Formulas
- P(A | B) ≠ P(B | A). P(rain | clouds) is not P(clouds | rain).
- Without replacement, P(2nd is red) is still r/n. Symmetry: any single draw is equally likely to be any item.
- Don't divide by the grand total when the question says "given".
- "Given" = new denominator.
- Along ×, across +.
Live model: two-stage tree
Highlighted paths end in B. Their sum is P(B). Set P(B | A) equal to P(B | A′) and see what happens to P(A | B).
Bayes' theorem
Bayes reverses a conditional. The tree gives you P(evidence | cause). The question wants P(cause | evidence).
The idea
Draw the tree with the cause first (disease or not, machine A or B) and the evidence second (test positive, item defective). Then apply the conditional probability definition:
P(A | B) = P(A ∩ B) ÷ P(B).
- The numerator is one path: the cause you care about, followed by the evidence.
- The denominator is every path that ends in the evidence. You get it by total probability.
That is all Bayes' theorem is. The booklet version just writes the denominator out in full.
The surprising part is base rates. For a rare condition, even an accurate test produces more false positives than true positives, simply because there are so many healthy people. Push the prevalence slider down in the model to see this.
Formulas
The second form handles three or more causes (three machines, three suppliers). Same logic: one path over all paths.
- Sensitivity = P(+ | ill). Specificity = P(− | healthy). The false positive rate is 1 − specificity.
- Ignoring the prior: P(ill | +) is not the test accuracy.
- Bayes = one path ÷ all paths to the evidence.
- Stuck? Imagine 1000 people and count.
Live model: a screening test on 1000 people
Each dot is one person. Of everyone who tests positive (filled dots), what fraction is actually ill?
Counting: permutations and combinations
When outcomes are equally likely, probability is a counting problem: favourable ÷ total. The only real question is whether order matters.
The idea
Arranging n different objects: n choices for the first slot, n − 1 for the second, and so on. That is n!.
Permutations nPr: fill r ordered slots from n objects. Stop the factorial after r terms.
Combinations nCr: choose a group of r where order doesn't matter. Each group was counted r! times as a permutation (once per ordering), so divide by r!.
Repeated letters: swapping identical letters gives the same word, so divide by the factorial of each repeat count.
Must be together: glue them into one block, arrange the blocks, then multiply by the arrangements inside the block.
At least one: use the complement. Total minus "none".
Formulas
- Never count "at least one" as "pick one, then pick any". That double counts.
- "Exactly 2 women" means the rest must be men. Multiply both choices.
- P for Position (order matters). C for Choose (it doesn't).
- nCr = nPr ÷ r!. Remove the orderings.
Live model: why nCr = nPr ÷ r!
For n ≤ 6 and r ≤ 3, every group is listed with its orderings. Each chip is one combination; the letters after the arrow are the permutations it stands for.
Discrete random variables
A random variable X turns each outcome into a number. "Discrete" means you can list its values. The table of values and probabilities is its whole description.
The idea
The probabilities in the table must add to 1. Most "find k" questions are just that equation.
E(X) is the long-run average. Weight each value by how often it occurs: Σ x·P(X = x). It is the balance point of the bar chart and need not be a value X can take.
A game is fair when the expected gain is 0. Remember to subtract the cost to play.
Variance (HL) measures spread: the average squared distance from the mean. The working form is E(X²) − [E(X)]². For E(X²), square the values but not the probabilities.
Linear transforms (HL): adding b shifts every value, so the mean moves but the spread doesn't. Multiplying by a stretches distances by a, so the variance scales by a².
Formulas
- E(X²) ≠ [E(X)]². Compute E(X²) separately.
- Var(−2X) = 4Var(X), not −2Var(X). Variance is never negative.
- SD of aX + b is |a|·σ.
- Shift moves the mean, not the spread.
- Scale squares in the variance.
Live model: edit the distribution
| x | P(X = x) |
|---|
Binomial distribution
Count the number of successes in a fixed number of identical, independent trials. X ~ B(n, p).
The idea
Check the conditions with BINS: Binary outcomes, Independent trials, Number of trials fixed, Same p each time.
Why the formula works: one particular sequence with r successes and n − r failures has probability pr(1 − p)n−r. There are nCr ways to choose which trials are the successes, and each way is equally likely. Multiply.
The mean np is intuitive: 20 trials at 30% gives 6 successes on average.
On the fx-CG50, Bcd adds up every value from a whole-number Lower to Upper. So the real skill is turning words like "fewer than" or "more than" into those bounds. The conversions on the right are the same logic, written as ≤ statements, which is how you show the step in your working.
On the TI-84, binomcdf only gives P(X ≤ x), always counting from 0. So the real skill is turning words like "fewer than" or "more than" into ≤ statements. The conversions on the right do exactly that, and writing them down is how you show the step in your working.
"Smallest n so that P(at least one) > 0.95": P(X ≥ 1) = 1 − (1 − p)n. Solve with logs or a GDC table, then round up.
Formulas
Convert to ≤ (whole numbers only)
- "More than 3" starts at 4. "At least 3" starts at 3.
- Without replacement from a small population is not binomial (p changes).
- Strict sign? Step one integer inward. < 4 → Upper 3; > 4 → Lower 5.
- At least one = 1 − none.
Live model: B(n, p)
Normal distribution
The model for continuous measurements that cluster symmetrically around a mean: heights, masses, exam scores, errors. X ~ N(μ, σ²).
The idea
Probability is the area under the curve. The total area is 1, the curve is symmetric about μ, and mean = median = mode.
Because X is continuous, P(X = a) = 0. So P(X < a) and P(X ≤ a) are the same. No integer adjustments here, unlike the binomial.
Roughly 68% lies within 1σ of μ, 95% within 2σ, 99.7% within 3σ.
Standardising: z = (x − μ)/σ counts how many standard deviations x is from the mean. Then Z ~ N(0, 1).
You need z whenever μ or σ is unknown:
- Turn the probability into a z-value with the inverse normal (μ = 0, σ = 1).
- Write (x − μ)/σ = z.
- Solve for the unknown. With two unknowns you get two equations: solve simultaneously.
Formulas and calculator
- N(50, 16) means σ² = 16, so σ = 4. The calculator wants σ.
- Casio asks for σ before μ.
- The TI asks for μ before σ (the reverse of Casio).
- InvN's Tail must match the inequality. P(X > k) = 0.1 → Tail Right, Area 0.1.
- invNorm uses the area to the left. P(X > k) = 0.1 → invNorm(0.9, μ, σ).
- When finding σ or μ, get z with σ = 1 and μ = 0, not with the real parameters.
- Tail follows the sign: > is Right, < is Left.
- invNorm thinks left: for >, feed it 1 − area.
- z = "how many σ from μ".
- Always sketch the curve and shade it before pressing buttons.
Live model: N(μ, σ²)
Continuous random variables
A probability density function f(x) describes a continuous variable. Probabilities are areas, so every question is an integral.
The idea
f(x) is not a probability. It is a density, and can exceed 1. Probability is the area under f between two values.
For f to be a valid pdf, f(x) ≥ 0 everywhere and the total area is 1. "Find k" questions use that second condition.
The discrete formulas carry over with Σ replaced by ∫ and P(X = x) replaced by f(x) dx.
- Mean: the balance point, ∫ x f(x) dx.
- Median m: the vertical line splitting the area in half, ∫ f from the lower end to m = 0.5.
- Mode: where f is highest. Check f′(x) = 0 and the endpoints.
A right-skewed shape pulls the mean further into the tail than the median. Watch the three lines in the model.
Formulas
- The mode can sit at an endpoint, where f′(x) ≠ 0.
- When solving for the median, keep only the root inside the domain.
- For piecewise f, split each integral at the joins.
- Area = probability. Balance = mean. Half-area = median. Peak = mode.
Live model: a pdf on [0, a]
Mixed drill
Questions from every topic, in random order. This is closest to a real paper, because part of the skill is recognising which tool a question wants before you start.
Exam habits that save marks
- Write the distribution down first, e.g. "X ~ B(20, 0.3)" or "X ~ N(170, 8²)". It earns method marks and catches variance/SD mix-ups.
- Write the probability statement before the number: "P(X ≥ 4) = 1 − P(X ≤ 3) = …".
- Give answers to 3 significant figures unless told otherwise. Keep full GDC precision in intermediate steps.
- Sketch every normal question. A shaded sketch takes 10 seconds and catches most tail errors.
Calculator cheat sheet
Every probability keystroke in one place. Each topic page also has its own calculator panel next to the practice questions, with worked examples.
Before the exam
- SHIFT MENU (SET UP): Input/Output = Math/Math, Display = Norm1. A Fix or Sci setting rounds intermediate answers and can cost accuracy marks.
- In every DIST screen, set Data: Variable (F2). "List" expects data in a list and gives errors or odd answers.
- Press EXE on Execute at the bottom of the input screen. EXIT returns to edit the inputs, which is quicker than starting over.
Menu paths
| Task | Path | Inputs |
|---|---|---|
| P(X = x), binomial | Statistics → F5 DIST → F5 BINOMIAL → F1 Bpd | x, Numtrial, p |
| P(a ≤ X ≤ b), binomial | Statistics → F5 DIST → F5 BINOMIAL → F2 Bcd | Lower, Upper, Numtrial, p |
| P(a < X < b), normal | Statistics → F5 DIST → F1 NORM → F2 Ncd | Lower, Upper, σ, μ |
| x from probability, normal | Statistics → F5 DIST → F1 NORM → F3 InvN | Tail, Area, σ, μ |
| z-value | InvN as above | σ = 1, μ = 0 |
| E(X), Var(X) from a table | Statistics → F2 CALC → F6 SET, then F1 1-VAR | XList = List1, Freq = List2. Read x̄ and σx |
| n!, nPr, nCr | Run-Matrix → OPTN → F6 ▷ → F3 PROB | n, then the function, then r |
| ∫ f(x) dx | Run-Matrix → OPTN → F4 CALC → F4 ∫dx | f(x), lower, upper |
| Solve one equation (median, n) | Equation → F3 SOLVER | Equation, then Lower and Upper search range |
| Two unknowns (μ and σ) | Equation → F1 SIMUL → 2 | Rows: 1, z | x |
| Smallest n | Table → Y1, F5 SET, F6 TABLE | Y1 = 1 − (1 − p)^X |
| Mode of a pdf | Graph → F6 DRAW → F5 G-SOLVE → F2 MAX | f(x) as Y1 |
| Infinity | 1 ×10ˣ 99, with (−) in front for −∞ | Ncd Lower or Upper |
| Fraction ↔ decimal | S⇔D | Run-Matrix output |
Turning words into Lower and Upper
| Question says | Binomial (Bcd) | Normal (Ncd) |
|---|---|---|
| at most 4 / ≤ 4 | Lower 0, Upper 4 | Lower −1E99, Upper 4 |
| fewer than 4 / < 4 | Lower 0, Upper 3 | Lower −1E99, Upper 4 |
| at least 4 / ≥ 4 | Lower 4, Upper n | Lower 4, Upper 1E99 |
| more than 4 / > 4 | Lower 5, Upper n | Lower 4, Upper 1E99 |
| between 2 and 6 inclusive | Lower 2, Upper 6 | Lower 2, Upper 6 |
The binomial column shifts by one on strict signs because X only takes whole numbers. The normal column never shifts because P(X = 4) = 0.
Before the exam
- MODE: NORMAL, FLOAT, MATHPRINT, and STAT WIZARDS: ON. A FIX setting rounds intermediate answers and can cost accuracy marks. Wizards give you a fill-in screen for every DISTR command, so you can't get the argument order wrong.
- Turn stat plots off (2nd Y= → 4:PlotsOff) and clear old Y= functions. Leftover plots cause ERR: INVALID DIM when you graph.
- On a wizard screen choose Paste, then ENTER. To fix a typo, 2nd ENTER (ENTRY) brings the last line back for editing, which is quicker than starting over.
Menu paths
| Task | Path | Inputs |
|---|---|---|
| P(X = x), binomial | 2nd VARS (DISTR) → A:binompdf( | trials, p, x |
| P(X ≤ x), binomial | 2nd VARS (DISTR) → B:binomcdf( | trials, p, x. Counts from 0 |
| P(a < X < b), normal | 2nd VARS (DISTR) → 2:normalcdf( | lower, upper, μ, σ |
| x from probability, normal | 2nd VARS (DISTR) → 3:invNorm( | area to the left, μ, σ |
| z-value | invNorm as above | μ = 0, σ = 1 |
| E(X), Var(X) from a table | STAT → CALC → 1:1-Var Stats | List L1, FreqList L2. Read x̄ and σx |
| n!, nPr, nCr | MATH → PROB → 4:!, 2:nPr, 3:nCr | n, then the command, then r |
| ∫ f(x) dx | MATH → 9:fnInt( | limits, then f(x) |
| Solve one equation (median, n) | MATH → Solver… | Equation, a guess, and bound |
| Two unknowns (μ and σ) | APPS → PlySmlt2 → 2:SIMULTANEOUS | Rows: 1, z | x |
| Smallest n | Y=, 2nd WINDOW TBLSET, 2nd GRAPH TABLE | Y1 = 1 − (1 − p)^X |
| Mode of a pdf | GRAPH → 2nd TRACE CALC → 4:maximum | f(x) as Y1 |
| Infinity | 1 2nd , (EE) 99, with (−) in front for −∞ | normalcdf lower or upper |
| Decimal → fraction | MATH → 1:►Frac | Home screen answer |
| Store a value | STO→, then ALPHA + letter | Reuse without retyping |
Turning words into calculator input
| Question says | Binomial | Normal |
|---|---|---|
| at most 4 / ≤ 4 | binomcdf(n, p, 4) | normalcdf(−1E99, 4, μ, σ) |
| fewer than 4 / < 4 | binomcdf(n, p, 3) | normalcdf(−1E99, 4, μ, σ) |
| at least 4 / ≥ 4 | 1 − binomcdf(n, p, 3) | normalcdf(4, 1E99, μ, σ) |
| more than 4 / > 4 | 1 − binomcdf(n, p, 4) | normalcdf(4, 1E99, μ, σ) |
| between 2 and 6 inclusive | binomcdf(n, p, 6) − binomcdf(n, p, 1) | normalcdf(2, 6, μ, σ) |
The binomial column shifts by one on strict signs because X only takes whole numbers. The normal column never shifts because P(X = 4) = 0.