What is a model?
A model is a simplified street map. A real map of a city leaves out most of what's actually there — the trees, the traffic lights, the side streets that don't matter for your trip. What it keeps is enough to get you from one place to another.
A statistical model works the same way. It's a simplified picture of how an outcome moves — what nudges it up, what pulls it down — kept simple enough that a person can read it. The simplification isn't a flaw; it's the whole point. A perfect 1:1 reproduction of reality wouldn't help anyone navigate.
The variables shown below aren't the only things that could matter. They're the optimal combination drawn from every candidate variable in the dataset — selected because, together, they predict the outcome better than other combinations would. A different set might do almost as well; a much smaller set usually does worse; adding more variables past a certain point stops helping.
Loading model and microdata…
—
Every dot above is one prediction. To see where those numbers come from, pull one case out of the cloud — pick the highest, the lowest, a specific one, or leave it on a random draw:
We've pulled our featured one out of the cloud. Here is what they told the interviewer:
Their answers
These six answers are everything the model knows about this respondent.
How the model thinks about this respondent
The model runs those inputs through an equation. Each non-reference input has a coefficient — a number, learned when the model was fit on all — respondents, that says how much this input pushes the predicted probability up or down. Reference inputs contribute zero; the constant absorbs them. Continuous predictors contribute their coefficient times the measured value.
The calculation for our featured one, row by row:
The total at the bottom is on the log-odds scale. The logistic function σ(x) = 1 / (1 + e-x) squashes it back into a probability between 0 and 1:
What actually happened?
We know our featured one's actual outcome. The model didn't — when it was fit, it saw only the six inputs above and the headline rate. So we can put prediction and outcome side by side:
—
What if this one had different inputs?
The dropdowns and sliders below start at this one's actual values. Change any to a different value, then click Apply. The σ panel below recomputes the prediction for this one only — the rest of the sample stays untouched. The locked baseline at the top of the page stays where it is, so you can compare side by side.
They're one of —
Our featured one's prediction is one number. The model runs the same calculation for every respondent in the sample, producing — predicted probabilities. Plotted together:
Each bar is a 5-percentage-point bin. The vertical line marks the weighted mean of all those probabilities — the headline:
Our featured one sits at —. Plenty of respondents sit far above or far below the headline — the spread on either side is what the headline hides.
How well does the model sort people like our featured one?
That last section compared our featured one's prediction against what actually happened for that one respondent. We can do the same comparison across the whole sample — we know the actual outcome for every respondent, and the model didn't see any of those outcomes when it predicted. So we can ask, after the fact: did the model give higher predicted probabilities to actual approvers and lower ones to actual non-approvers?
The same cloud, split by what actually happened:
Actual approvers got an average predicted probability of —; actual non-approvers averaged —. The gap between those means is Tjur's R², in probability units (shown here as percentage points):
—
0 pp means no separation — the predicted probability tells you nothing about which group the respondent belongs to. 100 pp means perfect separation. Real-world models land in between.
This number measures how well the published model separates the two groups on the data it was fit on, and it stays fixed through the scenarios below. (An all-or-nothing scenario homogenizes one predictor across every respondent, which mechanically shrinks the gap and falsely suggests the model "got worse" under intervention — but nothing about the model has changed.)
And what if everyone had answered differently?
Earlier you watched the featured case's prediction shift when you changed one of its inputs. Only that one moved — the cloud and the headline stayed put because the rest of the sample didn't change. The simulator below applies the same kind of swap to everyone: pin one or more inputs to a single value, and every case in the sample gets that value. The headline tiles and the cloud below redraw to show the shift.