Hick's law: decision time grows with the log of the number of choices
What it is for. Predicting how long a choice takes from the number of options, so menus, option sets, and action bars can be sized on evidence instead of taste.
The formula.
RT=a+b×log2(n+1)
n is the number of equally likely options. a is the baseline: the simple reaction time when there is no choice to make. b is the price of growth: milliseconds per bit, fitted per person and per task, not a universal constant.
The plot. The log term against n, with n drawn to scale: bars at n = 1, 3, 7, 15, 31 stand where those numbers actually fall, so the gaps widen 2, 4, 8, 16. Each bar top carries a dot, and the dots are joined by a line that flattens as n grows: that flattening is the trend.
∙∙∙∙∙12345bits1371531n
Legend: x = n, drawn to scale
Bar height = log2(n+1), in bits
Dots joined by a line
RT = a + b × bar height
a = baseline: reaction time with no choice
b = ms per bit: the growth rate
Bars at n = 1, 3, 7, 15, 31, spaced to scale; heights = log2(n + 1) = 1, 2, 3, 4, 5 bits. The line flattens as n grows: each doubling of n + 1 adds the same bit, so growth slows.
What kind of formula this is. An empirical law, not a theorem and not Big-O. Hick (1952) and Hyman (1953) ran choice-reaction experiments, plotted time against log2(n), and the points fell on a line: slope b, intercept a. Big-O is asymptotic order, ignoring constants and small n; Hick's law claims the actual functional form, constants included, over the tested range. It is stronger than Big-O and weaker than a theorem. The log2(n) and log2(n + 1) spellings both exist; the substance is the same.
A memorable analogy. a is the shared baseline, like a species base stat; b is the per-person growth rate, like individual values, except b is a rate, not a fixed addend: with few options a large b barely shows, with many options it dominates. n is not your attribute at all: it is the situation in front of you, the number of options on offer.
Worked case: the Lucerna reader header (counted 2026-10-25). The header carries about 14 actions. Cutting 14 to 7 moves the log term from log2(15) about 3.91 to log2(8) = 3, saving about 0.91 bits, roughly 23% of the log term. Milliseconds need a fitted b, so this stays relative, like the Fitts numbers in fitts-law.
Counterparty and boundary. Fitts is the counterparty: Fitts wants targets big, Hick wants options few, and the header is where the two negotiate. The law bends where its assumptions break: options that are not equally likely need entropy instead of log2(n); practiced users who search, chunk, or satisfice do not scan all options, so the log over-predicts.
Agent audit checklist: read this node, then check an interface against every line, and report each item with evidence.
- Count the options sharing one decision point, and state n.
- Compute the log term for the current n and for the proposed n, and compare alternatives by bits, not by feel.
- Are the options equally likely? If not, the log term is the wrong input; use entropy.
- Do users actually scan all options, or do they search, chunk, or pick the familiar one? If the latter, say so and discount the log.
- Fitts tension: what does shrinking the option set cost in target size, screens, or hidden actions?