Task Design¶
The default among eleven
This page derives the dynamic-hazard model — the instrument’s flagship paradigm and its default study configuration (\(11/5/2\) optima, \(\sqrt{N}\) approximation). The instrument can equally run the classic uniform model and nine other hazard structures; see the hazard-family reference.
The problem with the standard BART¶
In the classic BART, a balloon’s burst point is drawn once from a uniform distribution over its capacity \(N\) (typically \(N = 128\)). This gives a constant hazard rate and an expected-value optimum at \(N/2 \approx 64\) pumps — a target so high that essentially no participant reaches it. Because almost everyone stops well short of the optimum, the number of pumps and the money earned become nearly collinear (a correlation of about 0.93 in large cohorts), and the task degrades into a one-dimensional measure of raw risk exposure rather than calibrated risk-taking.
The dynamic-hazard model¶
This implementation replaces the single uniform draw with a sequence of independent trials whose per-pump hazard increases linearly. At pump attempt \(k\),
where \(N\) is the maximum pump capacity for the balloon’s color. The probability of surviving \(s\) successive pumps is the product of the per-pump survival probabilities:
By convention this returns \(1.0\) for \(s \le 0\) and is floored at \(0.0\) once the product reaches zero, which caps the distribution at \(N\).
With a reward of one unit per pump, the expected value of intending to stop at \(s\) is
This is implemented exactly in scoring.bart._compute_ev().
Why the optimum is \(\sqrt{N}\)¶
Taking the logarithm of the survival product and keeping the leading term,
so survival is approximately Gaussian in \(s\), \(P(\text{survive } s) \approx \exp(-s^2 / 2N)\), and
Differentiating and setting the result to zero yields the closed-form optimum
This is the central design property: EV-optimal play is psychologically attainable (roughly 11, 5, and 2 pumps for the three colors) without the fatigue of dozens of pumps, so the task can separate overly conservative, optimal, and reckless participants.
Discrete optima¶
The continuous approximation omits higher-order terms that make survival decay
slightly faster, so the realized integer optima are the floor of \(\sqrt{N}\)
rather than its rounded value. scoring.bart._compute_ev_optimal()
maximizes the exact discrete \(\mathrm{EV}(s)\) and returns:
Color |
\(N\) |
\(\sqrt{N}\) |
Discrete \(s^*\) |
\(\mathrm{EV}(s^*)\) |
\(P(\text{survive } s^*)\) |
|---|---|---|---|---|---|
Purple |
128 |
11.31 |
11 |
6.463 |
0.588 |
Teal |
32 |
5.66 |
5 |
3.038 |
0.608 |
Orange |
8 |
2.83 |
2 |
1.313 |
0.656 |
Two scoring paths, one set of optima
The primary calibration metrics (ev_ratio_score, risk_calibration_score,
rng_normalized_pumps) reference the EV-optima computed dynamically by
_compute_ev_optimal() (11 / 5 / 2). The diagnostic
risk_adjustment_score, produced by
_calculate_risk_adjustment_score(), applies a simpler
linear distance-to-optimum scoring referenced to the same 11 / 5 / 2 stops.
The two paths therefore agree on the optimal targets and differ only in how
distance from them is penalized (EV-curve vs. linear).
Monte Carlo verification¶
The analytic optima are independently confirmed by simulation in
scripts/monte_carlo_ev.py: for each candidate stopping
threshold on each color, 100,000 sequential sessions are simulated,
the realized payoffs are averaged, and the maximizing threshold is recorded. The
simulation reproduces the integer optima 11 / 5 / 2 and confirms the \(\sqrt{N}\)
approximation as an accurate description of the continuous landscape.
The three-color profiles¶
Three balloon colors are presented in an unpredictable order across a 30-trial session (10 balloons per color). The differentiated hazard schedules let the engine measure calibration to the risk level rather than gross risk-taking alone, and they penalize participants who apply a single, invariant strategy across heterogeneous conditions.
Color |
Capacity \(N\) |
Risk tier |
\(s^*\) |
What it probes |
|---|---|---|---|---|
Purple |
128 |
Low |
11 |
Patience, prolonged engagement, willingness to exploit a forgiving hazard. |
Teal |
32 |
Medium |
5 |
The baseline benchmark linking the two extremes. |
Orange |
8 |
High |
2 |
Acute impulse control and sensitivity to rapid hazard escalation. |
The color profiles are defined once in
scoring.bart.COLOR_PROFILES and shared throughout the engine.
Reward structure¶
Each pump on a collected balloon pays $0.25; a burst forfeits the entire
balloon. Because overshooting the optimum is punished endogenously through
forfeited earnings — rather than through an arbitrary programmatic cap — the
money_collected metric becomes an indicator of EV calibration and payoff
efficiency instead of a redundant proxy for raw exposure.