Introducing Umbra: the benchmark for cognitive simulation.
9 tasks · 5 of seven planes · 689,061 held-out records · public data only
Umbra1 measures whether a simulated person behaves like a real one: what they choose, how long they take, how their mood moves, whether they stay the same person from one task to the next, and whether many of them add up to a real population. Survey benchmarks check the answers people give. Umbra checks what they do. Every task is scored in one unit, G2, the share of the distance between guessing the population average and the best prediction people allow that a system closes.
We built it to be told when we are wrong, and that includes our own model. Myrias is scored here under the same rules as everything else, against hypotheses we wrote down before we saw a single score.
The bar is high. A free statistical model beats an off-the-shelf language model on all nine tasks, and given a person’s own history it matches or beats the language model given that history. Myrias clears that free model on five of the eight tasks it runs and falls behind on none. On the survey plane, Thesia beats Artificial Societies’ own figures on six of seven sources of their benchmark.
Seven questions a simulation has to answer
Umbra sorts its tests into seven planes. Each one asks a question a survey cannot answer on its own, and the last one contains the survey benchmarks unchanged, so anything scored on those can be scored here.
| Plane | Question | Tasks in v0.1 |
|---|---|---|
| B · Behaviour | Does the simulation do what people do? | 3 |
| P · Process | Does it get there the way people do? | 1 |
| S · State | Do its internal dynamics match measured state? | 3 |
| I · Individual | Is it the same person? | 1 |
| C · Counterfactual | Does it respond to interventions as people do? | Next release |
| E · Emergence | Do individuals add up to the population? | 1 |
| A · Answer | Is it valid as survey research? | 7 |
One number for every task
A task’s ceiling is how well people can be predicted at all: a person’s own answer on a retest, or the noise in an item’s outcomes when everyone sees the same item. G is 0 at the population average and 1 at that ceiling. Tasks with no defensible ceiling report their differences and no G, and say why.
On risky choice over problems it has never seen, a free model that reads only the problem already closes most of the gap, so that task leaves little room for anyone. On one person across surveys, predicting a person’s later answers from their earlier ones, the same model closes almost none of it. That is where a model of the individual has to earn its place.
Asked directly, a language model loses to a free model
An off-the-shelf language model gets each task’s information as text and returns probabilities, or a value with its uncertainty. Every arm is scored on the same 254 to 600 rows per task; the language-model arms run on that sample rather than on whole splits.
| Task | Measure | Population average | Free model | Language model |
|---|---|---|---|---|
| Risky choice, unseen problems | log loss | 0.690 | 0.630 | 0.690 |
| Choice after sampling | log loss | 0.694 | 0.566 | 0.577 |
| Dropping out of a course | log loss | 0.139 | 0.105 | 0.168 |
| Response time | log loss | 0.893 | 0.853 | 1.143 |
| Momentary happiness | log loss | 4.491 | 4.465 | 4.496 |
| Mood at rest | log loss | 0.009 | −0.189 | 0.176 |
| Confidence | log loss | 0.222 | 0.214 | 0.683 |
| One person across surveys | accuracy | 54.6% | 54.9% | 52.0% |
| Shares in unseen games | average error | 0.258 | 0.062 | 0.150 |
Lower is better for log loss and average error, higher for accuracy. On one person across surveys the language model reads each person’s full earlier survey and still predicts their later answers less accurately than the population average, 52.0% against 54.6%. On risky choice it picks the more likely option more often than the average does (60.2% against 55.0%), but its stated probabilities are miscalibrated, so its log loss is no better. It does not know each question’s base rate, and it guesses base rates badly.
History carries the gain
Give the language model a person’s last eight records and it improves sharply. Give the same eight records to the free model and it does as well or better. The difference below is the free model minus the language model, both given the history; below zero means the free model is ahead.
| Task | Log loss | Average error |
|---|---|---|
| Response time | −0.120 [−0.163, −0.069] | −0.032 [−0.045, −0.020] |
| Momentary happiness | +0.043 [−0.018, +0.113] | −1.521 [−2.162, −0.857] |
| Mood at rest | −0.695 [−2.557, +0.285] | −0.007 [−0.012, −0.002] |
| Confidence | −0.200 [−0.369, −0.050] | −0.033 [−0.050, −0.018] |
The free model sees only the earlier outcomes. The language model also sees each earlier record’s details, so the comparison favours it, and it still does not win. On mood at rest a handful of the language model’s answers state far too little uncertainty, which is why its log-loss interval is so wide; the average error tells the cleaner story there.
The survey plane, run unchanged
Umbra’s seventh plane is the Artificial Societies Benchmark, run with its own scorers on its sealed benchmark split. Thesia was scored there once, pre-registered, as a black box through our API. The measure is the distance between the simulated and the real answer distribution; lower is better.
| Source | Thesia | Artificial Societies, self-reported | Best language model, public scorecard |
|---|---|---|---|
| GSS 2024, confidence in institutions | 0.041 | 0.042 | 0.207 |
| GSS 2024, interpersonal trust | 0.034 | 0.058 | 0.155 |
| SAPA personality traits | 0.057 | 0.090 | 0.376 |
| SAPA personality facets | 0.070 | 0.117 | 0.336 |
| Twin-2K-500 retest | 0.090 | 0.147 | 0.268 |
| Jordan survey experiment | 0.061 | 0.096 | 0.145 |
| Albertson wording experiment | 0.098 | 0.025 | 0.199 |
| Mean | 0.065 | 0.08 | 0.241 |
Thesia is ahead of Artificial Societies’ own figures on six of seven sources and on the mean, and behind on the Albertson wording experiment. As everywhere else in Umbra, a model learned from real people carries the result: the prior alone scores 0.059. Artificial Societies’ numbers are their own and do not appear in the benchmark’s public scorecard. Method, ablations and the run kit are on the AS-Bench note.
Where Myrias stands
Myrias is scored against the strongest free arm on each task: the free model with the person’s history where a task has one, the free model alone where it does not. Myrias reads what each task allows a system to read: the person’s whole earlier record rather than the last eight entries, what they sampled in full, and Thymos’s modelled state. It runs on eight of the nine tasks; one person across surveys has no Myrias arm in this release. The Myrias scored here is the configuration we built for Umbra, fitted on Umbra’s training people only and held to the benchmark’s information rules; the model behind Thesia is configured separately.
| Task | Against | Difference [95%] | Result |
|---|---|---|---|
| Risky choice, unseen problems | Free statistical model | −0.00738 [−0.00923, −0.00557] | Ahead |
| Choice after sampling | Free statistical model | −0.07785 [−0.09410, −0.06171] | Ahead |
| Dropping out of a course | Free statistical model | −0.00019 [−0.00046, +0.00007] | Tied |
| Response time | Free model + the person's history | −0.01415 [−0.01578, −0.01243] | Ahead |
| Momentary happiness | Free model + the person's history | −0.02022 [−0.02258, −0.01779] | Ahead |
| Mood at rest | Free model + the person's history | −0.00259 [−0.00740, +0.00204] | Tied |
| Confidence | Free model + the person's history | −0.01802 [−0.02023, −0.01587] | Ahead |
| Shares in unseen games | Free statistical model | +0.00159 [−0.00278, +0.00603] | Tied |
Full sealed test split, the task’s own measure, Myrias minus the free arm; below zero is better for Myrias. Pre-registered before scoring.
Test S-4 asks whether modelled state predicts behaviour beyond what a person’s own history already predicts. We score it by running Myrias with and without Thymos’s state. The state adds measurably on momentary happiness, and adds no measurable gain on choice after sampling, dropping out of a course, response time, mood at rest and confidence. Most of Myrias’s lead comes from reading the person’s whole history well. The rest is the state.
| Claim | Tests | Tasks that clear it | Earned |
|---|---|---|---|
| Predicts what people choose | B-1 | Risky choice, unseen problems | Not yet |
| Models internal state | S-1, S-2 and S-4 | Confidence | Not yet |
A task clears a claim when Myrias beats the strongest free arm and every language-model arm on it, each interval below zero; a claim needs two tasks. Myrias clears three tasks in all. The rest of its wins over the free models are real, but on the shared sample of a few hundred rows they cannot yet be separated from the language model.
Where this release is narrow
One language model was tested, at one effort level, with one way of writing each task as text. A stronger model or better prompts may do better. Five tasks have no defensible ceiling, and the counterfactual plane is not scored yet. Myrias’s design predates Umbra, and the sealed test split, scored once, is the check on that. What Myrias is calibrated on is proprietary. For this benchmark it was fitted on Umbra’s training people only, and its configuration was fixed by a hash committed before scoring, which reviewers can audit under NDA. Rate limits cost 5.3% of the language-model calls on one person across surveys; those 32 rows are left out of every arm's score rather than counted as guesses, and were not re-sent, because re-sending would mean opening the sealed split a second time. Every number on this page comes from Umbra's sealed test split, opened once for this release: every arm, the same code as the validation run.
How these numbers stay honest
- Public datasets anyone can download. People never appear in both training and scoring, and every interval comes from a bootstrap over whole people.
- Every arm’s predictions are written to disk and hashed before a single outcome is opened.
- Our own model’s hypotheses were written down and hashed before it was scored. The ones it failed are reported with the ones it passed.
- No single Umbra score exists. Every task is reported, including the ones where we lose.
- 1. Umbra n.
- A validation framework for cognitive simulation: seven planes of tests on public human data, scored against free baselines, a language model, and the human ceiling.
- Lat. umbra, shadow; the darkest part of a shadow, where the outline of the object is sharpest. A simulation is the shadow a mind casts, and Umbra checks whether it keeps the shape.
- 2. G n.
- Gap closed: (population average − system) / (population average − human ceiling), on the task’s own measure. 0 is no better than the average, 1 is as good as people allow, below 0 is worse than the average.
Method: as set out on this page. The pre-registration for our own model is kept private and committed by its SHA-256, 84fd3ce0756eb670d458a34ec1586413e822de7c1c94c74721155b652ed5d2ed, so reviewers can check it later. Data: choices13k (Peterson et al., 2021) via Psych-101 (Binz et al., 2025), decisions from experience (Wulff et al., 2018), OULAD (Kuzilek et al., 2017), the intertemporal choice database (Pongratz and Schoemann, 2026), the Great Brain Experiment (Rutledge et al., 2014), mood drift (Jangraw et al., 2023), the Confidence Database (Rahnev et al., 2020), Twin-2K-500 (Toubia et al., 2025), games2p2k (Zhu et al., 2025). Every figure on this page is read from a generated file that names the runs it came from.
