# A fixed-mix poker trainer comparison

Original synthetic example by GTO Gecko, 2026-09-06. No observed players, app
telemetry, solver output, statistical inference, or random sampling is involved.

## Reproduce

Download every file in this directory into one folder. With Python 3, run:

```
python generate.py
python verify.py
```

The generator reads `counts.csv`, calculates exact rational rates and writes
`results.json` and `weight-sensitivity.csv`. The independent verifier checks the
published case against literal counts and separate closed-form expressions.
All paths are relative to the scripts, not the current working directory.
The manifest records the original publication bytes; regeneration should retain
the generated files' hashes. The generator can accept changed valid counts, but
the verifier intentionally checks this published example, not arbitrary input.

## Method

Accepted decisions / attempted decisions defines the binary rate in each cell.
Earlier: 72/80 familiar and 8/20 developing. Later: 19/20 and 40/80.
The labels describe these constructed groups; they are not measured difficulty
classes or product taxonomy. Each attempt belongs to exactly one group.

Pooled rates use each period's own attempt counts: 80% and 59%.
For a common familiar-group weight w, earlier rate = 0.40 + 0.50w and
later rate = 0.50 + 0.45w. Change = 0.10 - 0.05w.
The CSV evaluates w = 0, 0.01, ..., 1 exactly (101 rows). All common weights
give increases from 5 to 10 percentage points in this example. Equal weights
give 65% and 72.5%. The sweep is a deterministic arithmetic check, not a study
sample. No seed or trial count applies.

## Use and limits

The printable worksheet is an editorial record, with no automatic calculation,
input collection or storage. Record comparable task definitions and scoring,
choose reference weights before interpreting the results, and keep both counts.
Keep within-group task selection comparable. Weighting only fixes composition
between recorded groups. It does not adjust all difficulty, remove noise, prove
learning, equate different app scores, or predict poker returns. A category with
positive reference weight and zero attempts in a period makes that period’s benchmark
unavailable; do not treat the missing value as zero or silently renormalize.

The two SVGs and WebP-derived hero are original explanatory artwork; the exact
values are also in HTML and these machine-readable files. Original code/data/art
in this bundle are made available under CC0 1.0. External linked papers and
product pages retain their own rights and are not included in this bundle.
