Interactive demos

Ideas you can poke at

The models behind my research are easier to understand by moving them than by reading about them. These small demos run entirely in your browser: play a detection game and measure your own decision criterion, then explore signal detection, error management, Bayesian updating, ordinal scales, partial pooling, the sampling designs that make or break a study, and how many causes of one bias a study can actually tell apart. Built for students, free to reuse in teaching.

Game · two minutes

Measure your own criterion

Each display below contains either 20 dots or 25 dots, shown for less than half a second. Your job is to call it: high or low. There are 20 displays and no feedback along the way. At the end you get your own sensitivity (d′) and criterion (c), the same two numbers I estimate for participants in my studies.

Press start when ready

Fix your eyes on the cross. The dots flash briefly, then the buttons unlock: click, or press H and L. Go with your gut when unsure: that is precisely the behaviour the criterion measures. No data leave your browser.

A liberal criterion here means you said "high" whenever the display felt ambiguous. In my research the same logic describes who reads interest into ambiguous social cues. Twenty trials give a noisy estimate, which is itself a useful lesson: single-person SDT estimates are unstable, and that is why my tutorials use multilevel models.

Explore · signal detection theory

Sensitivity and bias, untangled

Two different things determine detection judgments: how well the signal separates from the noise (d′) and where you place your decision line (c). Raw accuracy mixes them together; signal detection theory pulls them apart. Move the sliders and watch the four outcomes and the point on the ROC curve.

How far the signal distribution sits from the noise.

Negative = liberal (says "signal" easily). Positive = conservative.

Hits
Misses
False alarms
Correct rejections
noise signal criterion ← says "noise" says "signal" →

Shaded tails right of the line: false alarms (grey-blue) and hits (orange).

false-alarm rate hit rate

ROC: every criterion is one point on the curve set by d′.

Try this: set d′ to 1 and c to −0.8, note the hit rate, then set d′ to 4 and c to 0.7. Both observers catch about 90% of the signals, one by being lenient and one by being sensitive, and their false-alarm rates are 62% and effectively zero. That distinction is invisible if you only report hits or accuracy, and it is the reason my work models the two parameters separately.

Explore · ordinal data

What a 1-to-5 rating hides

Suppose observers rate perceived interest on a five-point scale. Ordinal signal detection theory says they carve a continuous impression into categories using four thresholds. The same underlying separation (d′) can produce very different-looking ratings depending on where those thresholds sit. Move the scale around and watch the rating distributions and the apparent effect size change while d′ stays put.

Negative = a generous rater (high ratings come easily). Positive = stingy.

Small = endpoints get used. Large = answers cluster in the middle.

Mean rating, noise
Mean rating, signal
Metric effect size

Four thresholds turn one continuous impression into ratings 1 to 5.

noise (not interested) signal (interested)

How often each rating gets used, by trial type.

The trap: treating ratings as plain numbers makes the effect size a property of the response scale, not just of perception. Two studies can find different "effects" simply because their participants used the scale differently. Ordinal models estimate the thresholds together with d′, so the conclusion does not depend on scale habits.

Explore · error management

When over-perceiving is the rational move

A detector cannot avoid both kinds of error; it can only trade them. If a miss costs more than a false alarm, the cost-minimizing criterion shifts liberal: the best possible detector makes more false alarms, on purpose. This is the signal-detection core of error management theory. Set the stakes and the base rate, and watch where the optimal line lands.

How often the signal is actually present.

Optimal c*
Hits at c*
False alarms at c*
← liberal criterion conservative criterion → expected cost per judgment

The dashed line marks the criterion with the lowest expected cost.

optimal line

Notice the tug-of-war: cost asymmetries pull the line one way, base rates pull it back. In the smoke-alarm preset a miss is catastrophic, yet fires are rare, so the base rate largely cancels the cost asymmetry and the optimum ends up mildly conservative. Error management explanations of biases like sexual overperception live or die on exactly this arithmetic, which is why my work measures the criterion directly instead of inferring it from accuracy. Measuring it is only the first step. A criterion does not identify its own cause, which is the argument of my paper in Evolution and Human Behavior and the subject of the last demo on this page.

Explore · Bayesian updating

How cues add up

Treat "are they interested?" as a hypothesis and each behaviour as evidence. Every cue multiplies the odds by its likelihood ratio: how much more probable that behaviour is if they are interested than if they are not. Choose a prior, click cues on and off, and watch the posterior move.

What you believed before observing anything.

prior 20% (thin line)posterior 20%

The likelihood ratios here are made up for illustration. In real interactions most single cues are weak, context moves them around, and people differ enormously in the priors they walk in with. The gap between the evidence actually available and the conclusions people draw from it is what my research tries to measure.

Explore · estimation

Why I model everyone at once

Estimate d′ separately for each participant and small samples produce wild numbers: with 20 trials, someone can look like a super-detector by luck alone. Multilevel models treat people as draws from a population and pull noisy estimates toward the group mean, more strongly when the data are thin. Statisticians call this partial pooling, or shrinkage. Draw a sample of twelve participants and compare the two approaches against the truth.

Fewer trials, noisier per-person estimates, stronger shrinkage.

How much people genuinely differ in d′.

Avg error, no pooling
Avg error, partial pooling
0123 no pooling partial pooling true d′ participants (sorted by true d′) d′

Average error is the root-mean-square distance between estimate and truth. Partial pooling wins most clearly when trials are few and people are similar; crank the trials up and the two approaches converge, because strong data need little help. This trade-off is the engine of my multilevel SDT tutorial: the same data, modeled jointly, give person-level estimates you can actually trust.

Explore · what a study can identify

One pattern, four different causes

Four observers. Every one of them reads interest into the same share of people who are not interested, so on the measure most overperception studies report, all four look identical. Their reasons have nothing in common. One cannot tell interest from friendliness, one expects interest everywhere, one treats a missed chance as the expensive error, and one simply says "interested" more readily than they believe it. Choose what your study measures, and see how many of them you can still tell apart.

How often each observer calls someone interested who is not. This is the number they share.

Observer A reaches the rate above through poor sensitivity alone. B, C, and D see this much more clearly and reach the same rate by leaning liberal instead.

What your study measures

Explanations you can separate

This is the argument of my paper in Evolution and Human Behavior, Sexual overperception as a proximate identification problem. Error management theory explains why a liberal policy for judging sexual interest could be favoured. It does not say which proximate mechanism produces the pattern, and sensitivity, prior beliefs, payoffs, and reporting policy can all produce the same one. An audit of 54 empirical papers found that existing paradigms rarely measure the quantities needed to tell them apart. Notice that observers B and C stay merged no matter what you do to the response data: a belief and a cost that yield the same criterion yield the same behaviour, and only eliciting the belief or manipulating the base rate separates them. The numbers here are illustrative; the paper sets out the designs properly.

Use these in your teaching

All demos are plain HTML and JavaScript with no tracking and no server. You are welcome to link to them, embed them, or adapt the code for courses. For the full statistical treatment, see the tutorial and app on the resources page.