# The calculations, one step at a time

> Definitions, derivations, and proofs explain the measurements. They do not add empirical claims to the paper.

[Canonical HTML page](https://trustcyber.ca/research/allow-hold-deny/mathematics/)

- Author: Junior Williams
- Type: Research companion addition

**Companion addition.** The paper is an empirical study, not a theorem paper. The definitions, propositions, lemmas, theorem, and proofs below unpack its measurements. They do not insert new claims into the manuscript. Equations here use the paper’s conventions unless explicitly identified as a teaching example. See original §§III.B–C and V, and the guided lessons on validity, accuracy, timing, probability and paired comparisons.

## D.1 A notation key before any arithmetic

### Definition D.1 · Cases, outputs, and eligible sets

Let <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo>=</mo><mn>300</mn></mrow><annotation encoding="application/x-tex">N=300</annotation></semantics></math></span> be the assigned cases. Let <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>∈</mo><mo stretchy="false" form="prefix">{</mo><mi>A</mi><mo>,</mo><mi>H</mi><mo>,</mo><mi>D</mi><mo stretchy="false" form="postfix">}</mo></mrow><annotation encoding="application/x-tex">y_i\in\{A,H,D\}</annotation></semantics></math></span> be the **frozen reference**, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mover><mi>y</mi><mo accent="true">̂</mo></mover><mi>i</mi></msub><annotation encoding="application/x-tex">\hat y_i</annotation></semantics></math></span> a recognized model decision, and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>v</mi><mi>i</mi></msub><mo>∈</mo><mo stretchy="false" form="prefix">{</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false" form="postfix">}</mo></mrow><annotation encoding="application/x-tex">v_i\in\{0,1\}</annotation></semantics></math></span> indicate decision validity. Define <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">c_i=1</annotation></semantics></math></span> only when the output is decision-valid **and** <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover><mi>y</mi><mo accent="true">̂</mo></mover><mi>i</mi></msub><mo>=</mo><msub><mi>y</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">\hat y_i=y_i</annotation></semantics></math></span>; otherwise <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c_i=0</annotation></semantics></math></span>. Thus <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mi>i</mi></msub><mo>≤</mo><msub><mi>v</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">c_i\leq v_i</annotation></semantics></math></span>.

Write <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>=</mo><mo stretchy="false" form="prefix">(</mo><msub><mi>p</mi><mrow><mi>i</mi><mi>A</mi></mrow></msub><mo>,</mo><msub><mi>p</mi><mrow><mi>i</mi><mi>H</mi></mrow></msub><mo>,</mo><msub><mi>p</mi><mrow><mi>i</mi><mi>D</mi></mrow></msub><mo stretchy="false" form="postfix">)</mo></mrow><annotation encoding="application/x-tex">p_i=(p_{iA},p_{iH},p_{iD})</annotation></semantics></math></span> for a distribution-valid reported vector, and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>e</mi><msub><mi>y</mi><mi>i</mi></msub></msub><annotation encoding="application/x-tex">e_{y_i}</annotation></semantics></math></span> for the one-hot reference vector. The probability-eligible set is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>S</mi><annotation encoding="application/x-tex">S</annotation></semantics></math></span>. Decision validity, distribution validity, and full compliance are different concepts even though their counts coincide for each tested arm.

An indicator, written <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><mtext mathvariant="normal">condition</mtext><mo stretchy="false" form="postfix">}</mo></mrow><annotation encoding="application/x-tex">\mathbf 1\{\text{condition}\}</annotation></semantics></math></span>, is 1 when its condition is true and 0 otherwise. A sum adds observations. A mean divides a sum by the number of eligible observations. **Always ask which observations are eligible before dividing.**

The letters A/H/D are labels, not an ordering of goodness. An invalid output is not a fourth semantic policy label and is never silently converted to hold.

## D.2 Accuracy and the denominator identity

Let <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo>=</mo><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>c</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">C=\sum_i c_i</annotation></semantics></math></span> and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mo>=</mo><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>v</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">V=\sum_i v_i</annotation></semantics></math></span>. Then

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mrow><mi mathvariant="normal">p</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">m</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">y</mi></mrow></msub><mo>=</mo><mfrac><mi>C</mi><mi>N</mi></mfrac><mo>,</mo><mspace width="2.0em"></mspace><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">v</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">g</mi><mi mathvariant="normal">e</mi></mrow><mo>=</mo><mfrac><mi>V</mi><mi>N</mi></mfrac><mo>,</mo><mspace width="2.0em"></mspace><msub><mi>a</mi><mrow><mi mathvariant="normal">v</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">d</mi></mrow></msub><mo>=</mo><mfrac><mi>C</mi><mi>V</mi></mfrac><mspace width="1.0em"></mspace><mo stretchy="false" form="prefix">(</mo><mi>V</mi><mo>&gt;</mo><mn>0</mn><mo stretchy="false" form="postfix">)</mo><mi>.</mi></mrow><annotation encoding="application/x-tex">a_{\mathrm{primary}}=\frac{C}{N},\qquad \mathrm{coverage}=\frac{V}{N},\qquad a_{\mathrm{valid}}=\frac{C}{V}\quad(V&gt;0).</annotation></semantics></math>
</div>

### Proposition D.2 · Coverage multiplies conditional accuracy

For <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">V&gt;0</annotation></semantics></math></span>, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mrow><mi mathvariant="normal">p</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">m</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">y</mi></mrow></msub><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">v</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">g</mi><mi mathvariant="normal">e</mi></mrow><mo>×</mo><msub><mi>a</mi><mrow><mi mathvariant="normal">v</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">d</mi></mrow></msub></mrow><annotation encoding="application/x-tex">a_{\mathrm{primary}}=\mathrm{coverage}\times a_{\mathrm{valid}}</annotation></semantics></math></span>.

**Proof.** Substitute the fractions: <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><mi>V</mi><mi>/</mi><mi>N</mi><mo stretchy="false" form="postfix">)</mo><mo stretchy="false" form="prefix">(</mo><mi>C</mi><mi>/</mi><mi>V</mi><mo stretchy="false" form="postfix">)</mo><mo>=</mo><mi>C</mi><mi>/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">(V/N)(C/V)=C/N</annotation></semantics></math></span>. The valid count cancels; the assigned count does not. If <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">V=0</annotation></semantics></math></span>, primary accuracy is zero but valid-only accuracy is undefined, not zero by convention.

**GLM, line by line.** Start with 300 assigned cases. Remove nothing from primary scoring. Count 267 valid responses, including 260 correct and seven incorrect. The other 33 responses are invalid. Therefore <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>260</mn><mi>/</mi><mn>300</mn><mo>=</mo><mn>86.67</mn><mi>%</mi></mrow><annotation encoding="application/x-tex">260/300=86.67\%</annotation></semantics></math></span>, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>267</mn><mi>/</mi><mn>300</mn><mo>=</mo><mn>89.00</mn><mi>%</mi></mrow><annotation encoding="application/x-tex">267/300=89.00\%</annotation></semantics></math></span>, and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>260</mn><mi>/</mi><mn>267</mn><mo>=</mo><mn>97.38</mn><mi>%</mi></mrow><annotation encoding="application/x-tex">260/267=97.38\%</annotation></semantics></math></span> after display rounding. Multiply the **unrounded** last two fractions to recover primary accuracy. The 97.38% rate answers a conditional question and cannot replace the primary result.

## D.3 Balanced accuracy and the always-hold baseline

Let <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>M</mi><mrow><mi>r</mi><mi>k</mi></mrow></msub><annotation encoding="application/x-tex">M_{rk}</annotation></semantics></math></span> count reference class <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>r</mi><annotation encoding="application/x-tex">r</annotation></semantics></math></span> predicted as decision <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>k</mi><annotation encoding="application/x-tex">k</annotation></semantics></math></span>. Include invalid outputs in the relevant reference row’s total, if present. With <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>n</mi><mi>r</mi></msub><annotation encoding="application/x-tex">n_r</annotation></semantics></math></span> assigned cases in reference class <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>r</mi><annotation encoding="application/x-tex">r</annotation></semantics></math></span>,

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi mathvariant="normal">r</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">l</mi></mrow><mi>r</mi></msub><mo>=</mo><mfrac><msub><mi>M</mi><mrow><mi>r</mi><mi>r</mi></mrow></msub><msub><mi>n</mi><mi>r</mi></msub></mfrac><mo>,</mo><mspace width="2.0em"></mspace><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">A</mi></mrow><mo>=</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><munder><mo>∑</mo><mrow><mi>r</mi><mo>∈</mo><mo stretchy="false" form="prefix">{</mo><mi>A</mi><mo>,</mo><mi>H</mi><mo>,</mo><mi>D</mi><mo stretchy="false" form="postfix">}</mo></mrow></munder><msub><mrow><mi mathvariant="normal">r</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">l</mi></mrow><mi>r</mi></msub><mi>.</mi></mrow><annotation encoding="application/x-tex">\mathrm{recall}_r=\frac{M_{rr}}{n_r},\qquad \mathrm{BA}=\frac{1}{3}\sum_{r\in\{A,H,D\}}\mathrm{recall}_r.</annotation></semantics></math>
</div>

For JEV the recalls are <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>86</mn><mi>/</mi><mn>89</mn></mrow><annotation encoding="application/x-tex">86/89</annotation></semantics></math></span>, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>86</mn><mi>/</mi><mn>111</mn></mrow><annotation encoding="application/x-tex">86/111</annotation></semantics></math></span>, and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>100</mn><mi>/</mi><mn>100</mn></mrow><annotation encoding="application/x-tex">100/100</annotation></semantics></math></span>. Their unweighted mean is 91.37% after rounding. For KEV replace only <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>86</mn><mi>/</mi><mn>111</mn></mrow><annotation encoding="application/x-tex">86/111</annotation></semantics></math></span> by <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>87</mn><mi>/</mi><mn>111</mn></mrow><annotation encoding="application/x-tex">87/111</annotation></semantics></math></span>; the result is 91.67%.

### Proposition D.3 · Always hold has one-third balanced accuracy here

When all three reference classes are present, always returning hold gives recalls <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>0</mn><mo stretchy="false" form="postfix">)</mo></mrow><annotation encoding="application/x-tex">(0,1,0)</annotation></semantics></math></span> and balanced accuracy <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi>/</mi><mn>3</mn></mrow><annotation encoding="application/x-tex">1/3</annotation></semantics></math></span>. Its ordinary accuracy is the hold prevalence, here <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>111</mn><mi>/</mi><mn>300</mn><mo>=</mo><mn>37</mn><mi>%</mi></mrow><annotation encoding="application/x-tex">111/300=37\%</annotation></semantics></math></span>.

This is a statement about selected decisions. It does **not** imply CLM’s probability vectors were constant. Also, original Table II is not <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>M</mi><annotation encoding="application/x-tex">M</annotation></semantics></math></span>: its rows are JEV decisions and its columns KEV decisions, not references versus predictions.

## D.4 Wilson intervals without a black box

For <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>C</mi><annotation encoding="application/x-tex">C</annotation></semantics></math></span> correct answers out of <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>N</mi><annotation encoding="application/x-tex">N</annotation></semantics></math></span>, write <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover><mi>p</mi><mo accent="true">̂</mo></mover><mo>=</mo><mi>C</mi><mi>/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">\hat p=C/N</annotation></semantics></math></span> and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>=</mo><mn>1.9599639845</mn><mi>…</mi></mrow><annotation encoding="application/x-tex">z=1.9599639845\ldots</annotation></semantics></math></span>, the standard-normal 97.5th percentile. Define

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi><mo>=</mo><mn>1</mn><mo>+</mo><mfrac><msup><mi>z</mi><mn>2</mn></msup><mi>N</mi></mfrac><mo>,</mo><mspace width="1.0em"></mspace><mi>m</mi><mo>=</mo><mfrac><mrow><mover><mi>p</mi><mo accent="true">̂</mo></mover><mo>+</mo><msup><mi>z</mi><mn>2</mn></msup><mi>/</mi><mo stretchy="false" form="prefix">(</mo><mn>2</mn><mi>N</mi><mo stretchy="false" form="postfix">)</mo></mrow><mi>D</mi></mfrac><mo>,</mo><mspace width="1.0em"></mspace><mi>h</mi><mo>=</mo><mfrac><mi>z</mi><mi>D</mi></mfrac><msqrt><mrow><mfrac><mrow><mover><mi>p</mi><mo accent="true">̂</mo></mover><mo stretchy="false" form="prefix">(</mo><mn>1</mn><mo>−</mo><mover><mi>p</mi><mo accent="true">̂</mo></mover><mo stretchy="false" form="postfix">)</mo></mrow><mi>N</mi></mfrac><mo>+</mo><mfrac><msup><mi>z</mi><mn>2</mn></msup><mrow><mn>4</mn><msup><mi>N</mi><mn>2</mn></msup></mrow></mfrac></mrow></msqrt><mi>.</mi></mrow><annotation encoding="application/x-tex">D=1+\frac{z^2}{N},\quad m=\frac{\hat p+z^2/(2N)}{D},\quad h=\frac{z}{D}\sqrt{\frac{\hat p(1-\hat p)}{N}+\frac{z^2}{4N^2}}.</annotation></semantics></math>
</div>

The interval is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">[</mo><mi>m</mi><mo>−</mo><mi>h</mi><mo>,</mo><mi>m</mi><mo>+</mo><mi>h</mi><mo stretchy="false" form="postfix">]</mo></mrow><annotation encoding="application/x-tex">[m-h,m+h]</annotation></semantics></math></span>. Each line has a job: <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mover><mi>p</mi><mo accent="true">̂</mo></mover><annotation encoding="application/x-tex">\hat p</annotation></semantics></math></span> is the observed proportion; <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>D</mi><annotation encoding="application/x-tex">D</annotation></semantics></math></span> adjusts the scale; <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>m</mi><annotation encoding="application/x-tex">m</annotation></semantics></math></span> is the adjusted center; <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>h</mi><annotation encoding="application/x-tex">h</annotation></semantics></math></span> is the half-width. Convert the final endpoints to percentages, not the intermediate fractions. For KEV, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo>=</mo><mn>273</mn><mo>,</mo><mi>N</mi><mo>=</mo><mn>300</mn></mrow><annotation encoding="application/x-tex">C=273,N=300</annotation></semantics></math></span> gives 87.22–93.74% after rounding, matching Table I.

The formula elaborates the paper’s cited Wilson method [7]. It is not a statement that deployment accuracy lies in that interval with a demonstrated frequency. The paper’s authored case bank, single reviewer, and one execution session remain limitations. Overlapping Wilson intervals do not by themselves answer a paired superiority question.

## D.5 Brier loss is a full-vector score

### Definition D.5 · Unscaled multiclass Brier score

For one eligible case, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>L</mi><mi>i</mi></msub><mo>=</mo><msub><mo>∑</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false" form="prefix">{</mo><mi>A</mi><mo>,</mo><mi>H</mi><mo>,</mo><mi>D</mi><mo stretchy="false" form="postfix">}</mo></mrow></msub><mo stretchy="false" form="prefix">(</mo><msub><mi>p</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><mo>−</mo><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mi>k</mi><mo stretchy="false" form="postfix">}</mo><msup><mo stretchy="false" form="postfix">)</mo><mn>2</mn></msup><mo>=</mo><msubsup><mrow><mo stretchy="true" form="prefix">‖</mo><msub><mi>p</mi><mi>i</mi></msub><mo>−</mo><msub><mi>e</mi><msub><mi>y</mi><mi>i</mi></msub></msub><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">L_i=\sum_{k\in\{A,H,D\}}(p_{ik}-\mathbf 1\{y_i=k\})^2=\lVert p_i-e_{y_i}\rVert_2^2</annotation></semantics></math></span>. The study score is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mo>=</mo><mo stretchy="false" form="prefix">|</mo><mi>S</mi><msup><mo stretchy="false" form="prefix">|</mo><mrow><mi>−</mi><mn>1</mn></mrow></msup><msub><mo>∑</mo><mrow><mi>i</mi><mo>∈</mo><mi>S</mi></mrow></msub><msub><mi>L</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">B=|S|^{-1}\sum_{i\in S}L_i</annotation></semantics></math></span>. **There is no division by three.** Lower is better.

For C207 the frozen reference is hold. The one-hot target is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>0</mn><mo stretchy="false" form="postfix">)</mo></mrow><annotation encoding="application/x-tex">(0,1,0)</annotation></semantics></math></span>. Table IV gives JEV <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><mn>0.47</mn><mo>,</mo><mn>0.53</mn><mo>,</mo><mn>0</mn><mo stretchy="false" form="postfix">)</mo></mrow><annotation encoding="application/x-tex">(0.47,0.53,0)</annotation></semantics></math></span>, so

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>L</mi><mrow><mi mathvariant="normal">J</mi><mi mathvariant="normal">E</mi><mi mathvariant="normal">V</mi></mrow></msub><mo>=</mo><mo stretchy="false" form="prefix">(</mo><mn>0.47</mn><mo>−</mo><mn>0</mn><msup><mo stretchy="false" form="postfix">)</mo><mn>2</mn></msup><mo>+</mo><mo stretchy="false" form="prefix">(</mo><mn>0.53</mn><mo>−</mo><mn>1</mn><msup><mo stretchy="false" form="postfix">)</mo><mn>2</mn></msup><mo>+</mo><mo stretchy="false" form="prefix">(</mo><mn>0</mn><mo>−</mo><mn>0</mn><msup><mo stretchy="false" form="postfix">)</mo><mn>2</mn></msup><mo>=</mo><mn>0.4418</mn><mi>.</mi></mrow><annotation encoding="application/x-tex">L_{\mathrm{JEV}}=(0.47-0)^2+(0.53-1)^2+(0-0)^2=0.4418.</annotation></semantics></math>
</div>

KEV’s displayed percentages give <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><mn>0.9203</mn><mo>,</mo><mn>0.0662</mn><mo>,</mo><mn>0.0135</mn><mo stretchy="false" form="postfix">)</mo></mrow><annotation encoding="application/x-tex">(0.9203,0.0662,0.0135)</annotation></semantics></math></span>, yielding approximately <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mn>1.71911678</mn><annotation encoding="application/x-tex">1.71911678</annotation></semantics></math></span>. This second calculation uses **rounded table values**, rather than original response lexemes. It illustrates loss, not an exact reconstruction of the deposited calculation. A 92.03% selected probability on an incorrect allow can have larger loss than a 53% selected probability on the correct hold.

### Lemma D.5 · Ideal simplex range is zero to two

For nonnegative <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>p</mi><mi>k</mi></msub><annotation encoding="application/x-tex">p_k</annotation></semantics></math></span> summing exactly to one, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>≤</mo><msubsup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>p</mi><mo>−</mo><msub><mi>e</mi><mi>y</mi></msub><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn><mn>2</mn></msubsup><mo>≤</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">0\leq\lVert p-e_y\rVert_2^2\leq2</annotation></semantics></math></span>.

**Proof.** Squares are nonnegative. Expand the sum as <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>k</mi></msub><msubsup><mi>p</mi><mi>k</mi><mn>2</mn></msubsup><mo>+</mo><mn>1</mn><mo>−</mo><mn>2</mn><msub><mi>p</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\sum_k p_k^2+1-2p_y</annotation></semantics></math></span>. Since <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>k</mi></msub><msubsup><mi>p</mi><mi>k</mi><mn>2</mn></msubsup><mo>≤</mo><mo stretchy="false" form="prefix">(</mo><msub><mo>∑</mo><mi>k</mi></msub><msub><mi>p</mi><mi>k</mi></msub><msup><mo stretchy="false" form="postfix">)</mo><mn>2</mn></msup><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_k p_k^2\leq(\sum_k p_k)^2=1</annotation></semantics></math></span> and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>p</mi><mi>y</mi></msub><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">p_y\geq0</annotation></semantics></math></span>, the expression is at most 2. A correct one-hot vector attains 0; a wrong one-hot vector attains 2.

The exact-simplex assumption matters. The study permitted tiny nonexact sums under a declared tolerance and did not normalize them. This idealized bound is not a license to change recorded probabilities.

## D.6 Why Brier loss rewards truthful distributions

### Theorem D.6 · Strict propriety of ideal Brier loss

**Mathematical teaching addition, not an empirical theorem claimed by the paper.** Suppose a categorical outcome has true probability vector <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>q</mi><annotation encoding="application/x-tex">q</annotation></semantics></math></span> and a forecaster reports probability vector <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>p</mi><annotation encoding="application/x-tex">p</annotation></semantics></math></span>, both on the same simplex. Then expected Brier loss is uniquely minimized at <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>=</mo><mi>q</mi></mrow><annotation encoding="application/x-tex">p=q</annotation></semantics></math></span>.

**Proof, line by line.**

1. Expand the squared error: <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">𝔼</mi><msup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>p</mi><mo>−</mo><msub><mi>e</mi><mi>Y</mi></msub><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn></msup><mo>=</mo><msub><mo>∑</mo><mi>k</mi></msub><msubsup><mi>p</mi><mi>k</mi><mn>2</mn></msubsup><mo>−</mo><mn>2</mn><msub><mo>∑</mo><mi>k</mi></msub><msub><mi>p</mi><mi>k</mi></msub><mi mathvariant="double-struck">𝔼</mi><mo stretchy="false" form="prefix">[</mo><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><mi>Y</mi><mo>=</mo><mi>k</mi><mo stretchy="false" form="postfix">}</mo><mo stretchy="false" form="postfix">]</mo><mo>+</mo><mi mathvariant="double-struck">𝔼</mi><msub><mo>∑</mo><mi>k</mi></msub><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><mi>Y</mi><mo>=</mo><mi>k</mi><mo stretchy="false" form="postfix">}</mo></mrow><annotation encoding="application/x-tex">\mathbb E\lVert p-e_Y\rVert^2=\sum_k p_k^2-2\sum_k p_k\mathbb E[\mathbf 1\{Y=k\}]+\mathbb E\sum_k\mathbf 1\{Y=k\}</annotation></semantics></math></span>.
2. Substitute <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">𝔼</mi><mo stretchy="false" form="prefix">[</mo><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><mi>Y</mi><mo>=</mo><mi>k</mi><mo stretchy="false" form="postfix">}</mo><mo stretchy="false" form="postfix">]</mo><mo>=</mo><msub><mi>q</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">\mathbb E[\mathbf 1\{Y=k\}]=q_k</annotation></semantics></math></span> and the fact that exactly one outcome occurs. This gives <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>k</mi></msub><msubsup><mi>p</mi><mi>k</mi><mn>2</mn></msubsup><mo>−</mo><mn>2</mn><msub><mo>∑</mo><mi>k</mi></msub><msub><mi>p</mi><mi>k</mi></msub><msub><mi>q</mi><mi>k</mi></msub><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_k p_k^2-2\sum_k p_kq_k+1</annotation></semantics></math></span>.
3. Add and subtract <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>k</mi></msub><msubsup><mi>q</mi><mi>k</mi><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\sum_k q_k^2</annotation></semantics></math></span>: the expression becomes <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>p</mi><mo>−</mo><mi>q</mi><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn></msup><mo>+</mo><mn>1</mn><mo>−</mo><msup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>q</mi><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\lVert p-q\rVert^2+1-\lVert q\rVert^2</annotation></semantics></math></span>.
4. The last two terms do not depend on <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>p</mi><annotation encoding="application/x-tex">p</annotation></semantics></math></span>. The first term is nonnegative and equals zero exactly when <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>=</mo><mi>q</mi></mrow><annotation encoding="application/x-tex">p=q</annotation></semantics></math></span>.

This proof explains the mathematical scoring rule. It **does not** establish that any tested model knows a true <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>q</mi><annotation encoding="application/x-tex">q</annotation></semantics></math></span>, that the reviewed key is independent ground truth, or that a reported probability is calibrated deployment risk. Native classifier probabilities and GLM’s generated estimates retain their different origins.

## D.7 The fixed-frequency baseline and skill

Set <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>=</mo><mo stretchy="false" form="prefix">(</mo><mn>89</mn><mo>,</mo><mn>111</mn><mo>,</mo><mn>100</mn><mo stretchy="false" form="postfix">)</mo><mi>/</mi><mn>300</mn></mrow><annotation encoding="application/x-tex">f=(89,111,100)/300</annotation></semantics></math></span> once, using full-bank reference frequencies. For an eligible subset with class proportions <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msup><mi>q</mi><mi>S</mi></msup><annotation encoding="application/x-tex">q^S</annotation></semantics></math></span>, evaluate the **same** forecast <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>f</mi><annotation encoding="application/x-tex">f</annotation></semantics></math></span> on that subset:

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>B</mi><mn>0</mn></msub><mo stretchy="false" form="prefix">(</mo><mi>S</mi><mo stretchy="false" form="postfix">)</mo><mo>=</mo><munder><mo>∑</mo><mi>k</mi></munder><msubsup><mi>q</mi><mi>k</mi><mi>S</mi></msubsup><mspace width="0.167em"></mspace><msup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>f</mi><mo>−</mo><msub><mi>e</mi><mi>k</mi></msub><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn></msup><mo>=</mo><mn>1</mn><mo>+</mo><msup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>f</mi><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn></msup><mo>−</mo><mn>2</mn><mi>f</mi><mo>⋅</mo><msup><mi>q</mi><mi>S</mi></msup><mi>.</mi></mrow><annotation encoding="application/x-tex">B_0(S)=\sum_{k}q_k^S\,\lVert f-e_k\rVert^2=1+\lVert f\rVert^2-2f\cdot q^S.</annotation></semantics></math>
</div>

On the full bank, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>q</mi><mi>S</mi></msup><mo>=</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">q^S=f</annotation></semantics></math></span>, so <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>B</mi><mn>0</mn></msub><mo>=</mo><mn>1</mn><mo>−</mo><msup><mrow><mo stretchy="true" form="prefix">‖</mo><mi>f</mi><mo stretchy="true" form="postfix">‖</mo></mrow><mn>2</mn></msup><mo>≈</mo><mn>0.66398</mn></mrow><annotation encoding="application/x-tex">B_0=1-\lVert f\rVert^2\approx0.66398</annotation></semantics></math></span>. On GLM’s completed subset, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>q</mi><mi>S</mi></msup><mo>=</mo><mo stretchy="false" form="prefix">(</mo><mn>81</mn><mo>,</mo><mn>95</mn><mo>,</mo><mn>91</mn><mo stretchy="false" form="postfix">)</mo><mi>/</mi><mn>267</mn></mrow><annotation encoding="application/x-tex">q^S=(81,95,91)/267</annotation></semantics></math></span>. Do **not** replace the forecast with that subset’s proportions; that would change the specified baseline.

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">r</mi><mspace width="0.222em"></mspace><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">l</mi></mrow><mo>=</mo><mn>1</mn><mo>−</mo><mfrac><mi>B</mi><mrow><msub><mi>B</mi><mn>0</mn></msub><mo stretchy="false" form="prefix">(</mo><mi>S</mi><mo stretchy="false" form="postfix">)</mo></mrow></mfrac><mi>.</mi></mrow><annotation encoding="application/x-tex">\mathrm{Brier\ skill}=1-\frac{B}{B_0(S)}.</annotation></semantics></math>
</div>

A score of zero matches this baseline, a positive score improves on it, and a negative score is worse. This is neither accuracy nor AUROC. Calculating skill from the paper’s rounded Brier value will not necessarily reproduce the last printed digit: the original calculation uses unrounded losses.

## D.8 Correctness AUROC and ties

Let <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>s</mi><mi>i</mi></msub><annotation encoding="application/x-tex">s_i</annotation></semantics></math></span> be the reported probability attached to the chosen answer. Among eligible decisions, split the cases into correct set <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msup><mi>C</mi><mo>+</mo></msup><annotation encoding="application/x-tex">C^+</annotation></semantics></math></span> and incorrect set <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msup><mi>C</mi><mo>−</mo></msup><annotation encoding="application/x-tex">C^-</annotation></semantics></math></span>. Then

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi mathvariant="normal">A</mi><mi mathvariant="normal">U</mi><mi mathvariant="normal">R</mi><mi mathvariant="normal">O</mi><mi mathvariant="normal">C</mi></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mo stretchy="false" form="prefix">|</mo><msup><mi>C</mi><mo>+</mo></msup><mo stretchy="false" form="prefix">|</mo><mo stretchy="false" form="prefix">|</mo><msup><mi>C</mi><mo>−</mo></msup><mo stretchy="false" form="prefix">|</mo></mrow></mfrac><munder><mo>∑</mo><mrow><mi>i</mi><mo>∈</mo><msup><mi>C</mi><mo>+</mo></msup></mrow></munder><munder><mo>∑</mo><mrow><mi>j</mi><mo>∈</mo><msup><mi>C</mi><mo>−</mo></msup></mrow></munder><mrow><mo stretchy="true" form="prefix">[</mo><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><msub><mi>s</mi><mi>i</mi></msub><mo>&gt;</mo><msub><mi>s</mi><mi>j</mi></msub><mo stretchy="false" form="postfix">}</mo><mo>+</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><mn mathvariant="bold">𝟏</mn><mo stretchy="false" form="prefix">{</mo><msub><mi>s</mi><mi>i</mi></msub><mo>=</mo><msub><mi>s</mi><mi>j</mi></msub><mo stretchy="false" form="postfix">}</mo><mo stretchy="true" form="postfix">]</mo></mrow><mi>.</mi></mrow><annotation encoding="application/x-tex">\mathrm{AUROC}=\frac{1}{|C^+||C^-|}\sum_{i\in C^+}\sum_{j\in C^-}\left[\mathbf1\{s_i&gt;s_j\}+\tfrac12\mathbf1\{s_i=s_j\}\right].</annotation></semantics></math>
</div>

**Read the equation in order.** Pick one correct and one incorrect response. Give one point if the correct response has higher selected probability, half a point if tied, and zero otherwise. Average over all such pairs. If either group is empty, this pairwise statistic is undefined.

A toy example with correct scores <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">[</mo><mn>0.9</mn><mo>,</mo><mn>0.6</mn><mo stretchy="false" form="postfix">]</mo></mrow><annotation encoding="application/x-tex">[0.9,0.6]</annotation></semantics></math></span> and incorrect scores <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">[</mo><mn>0.8</mn><mo>,</mo><mn>0.6</mn><mo stretchy="false" form="postfix">]</mo></mrow><annotation encoding="application/x-tex">[0.8,0.6]</annotation></semantics></math></span> receives <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>+</mo><mn>1</mn><mo>+</mo><mn>0</mn><mo>+</mo><mn>0.5</mn><mo>=</mo><mn>2.5</mn></mrow><annotation encoding="application/x-tex">1+1+0+0.5=2.5</annotation></semantics></math></span> points over four pairs, giving 0.625. It is a ranking calculation, not a probability-calibration test. Strictly increasing score transformations preserve ranks and ties, so AUROC can stay unchanged while numerical probabilities change.

Removing the eleven changed-reference cases changes the pair set as well as its size. The reversal of JEV/KEV AUROC ordering on the remaining 289 cases cannot be interpreted as subtracting eleven additive AUROC losses. The source labels this selected-subset analysis post hoc.

## D.9 Reliability bins and what Figure 3 does not provide

Use ten intervals <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">[</mo><mn>0</mn><mo>,</mo><mn>0.1</mn><mo stretchy="false" form="postfix">)</mo><mo>,</mo><mo stretchy="false" form="prefix">[</mo><mn>0.1</mn><mo>,</mo><mn>0.2</mn><mo stretchy="false" form="postfix">)</mo><mo>,</mo><mi>…</mi><mo>,</mo><mo stretchy="false" form="prefix">[</mo><mn>0.9</mn><mo>,</mo><mn>1</mn><mo stretchy="false" form="postfix">]</mo></mrow><annotation encoding="application/x-tex">[0,0.1),[0.1,0.2),\ldots,[0.9,1]</annotation></semantics></math></span>. In bin <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>b</mi><annotation encoding="application/x-tex">b</annotation></semantics></math></span>, count <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>n</mi><mi>b</mi></msub><annotation encoding="application/x-tex">n_b</annotation></semantics></math></span> eligible cases and calculate

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover><mi>s</mi><mo accent="true">‾</mo></mover><mi>b</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>n</mi><mi>b</mi></msub></mfrac><munder><mo>∑</mo><mrow><mi>i</mi><mo>∈</mo><mi>b</mi></mrow></munder><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><mspace width="2.0em"></mspace><msub><mover><mi>c</mi><mo accent="true">‾</mo></mover><mi>b</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>n</mi><mi>b</mi></msub></mfrac><munder><mo>∑</mo><mrow><mi>i</mi><mo>∈</mo><mi>b</mi></mrow></munder><msub><mi>c</mi><mi>i</mi></msub><mi>.</mi></mrow><annotation encoding="application/x-tex">\bar s_b=\frac{1}{n_b}\sum_{i\in b}s_i,\qquad \bar c_b=\frac{1}{n_b}\sum_{i\in b}c_i.</annotation></semantics></math>
</div>

Plot <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><msub><mover><mi>s</mi><mo accent="true">‾</mo></mover><mi>b</mi></msub><mo>,</mo><msub><mover><mi>c</mi><mo accent="true">‾</mo></mover><mi>b</mi></msub><mo stretchy="false" form="postfix">)</mo></mrow><annotation encoding="application/x-tex">(\bar s_b,\bar c_b)</annotation></semantics></math></span> and display <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msub><mi>n</mi><mi>b</mi></msub><annotation encoding="application/x-tex">n_b</annotation></semantics></math></span>. Empty bins have no point. The last interval includes probability 1. The diagonal marks equal reported probability and observed correctness in the bin. There is no fitted calibration model here.

The manuscript prints bin counts, not each numeric bin mean and accuracy. The companion preserves the **original Figure 3** and transcribes its counts, but does not invent exact coordinates or regenerate an observed reliability curve from counts alone. The probability lesson uses a clearly labelled synthetic example to teach the calculation.

## D.10 Paired contrasts and bootstrap mechanics

For models A and B evaluated on aligned case IDs, let <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>d</mi><mi>i</mi></msub><mo>=</mo><msubsup><mi>c</mi><mi>i</mi><mi>A</mi></msubsup><mo>−</mo><msubsup><mi>c</mi><mi>i</mi><mi>B</mi></msubsup><mo>∈</mo><mo stretchy="false" form="prefix">{</mo><mi>−</mi><mn>1</mn><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false" form="postfix">}</mo></mrow><annotation encoding="application/x-tex">d_i=c_i^A-c_i^B\in\{-1,0,1\}</annotation></semantics></math></span>. Their accuracy difference is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover><mi>d</mi><mo accent="true">‾</mo></mover><mo>=</mo><msup><mi>N</mi><mrow><mi>−</mi><mn>1</mn></mrow></msup><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>d</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">\bar d=N^{-1}\sum_i d_i</annotation></semantics></math></span>. A paired resample draws <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>N</mi><annotation encoding="application/x-tex">N</annotation></semantics></math></span> indices **with replacement** from <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>,</mo><mi>…</mi><mo>,</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">1,\ldots,N</annotation></semantics></math></span>, then uses those same indices for both models. Duplicate indices must stay duplicated.

For each of 10,000 resamples, calculate a new <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msup><mover><mi>d</mi><mo accent="true">‾</mo></mover><mo>*</mo></msup><annotation encoding="application/x-tex">\bar d^*</annotation></semantics></math></span>. A percentile interval takes the desired lower and upper empirical quantiles. The paper records seed 20260927 and a case-level paired procedure. A seed alone does not identify the random-number implementation, case ordering, or every percentile convention in the separately deposited code.

### Lemma D.10 · Shared correctness cancels in the point difference

For the JEV–KEV follow-up, 264 shared successes and 19 shared failures contribute zero to KEV-minus-JEV. Nine KEV-only successes contribute <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>+</mi><mn>9</mn></mrow><annotation encoding="application/x-tex">+9</annotation></semantics></math></span>, and eight JEV-only successes contribute <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>−</mi><mn>8</mn></mrow><annotation encoding="application/x-tex">-8</annotation></semantics></math></span>. Therefore the net difference is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">(</mo><mn>9</mn><mo>−</mo><mn>8</mn><mo stretchy="false" form="postfix">)</mo><mi>/</mi><mn>300</mn><mo>=</mo><mn>0.00333</mn><mi>…</mi></mrow><annotation encoding="application/x-tex">(9-8)/300=0.00333\ldots</annotation></semantics></math></span>, or 0.33 percentage points.

The paired-comparisons lesson constructs a **grouped correctness illustration**, without inventing case IDs, and bootstraps it with a documented deterministic teaching generator. This is a teaching exercise on the reported joint counts, not a reconstruction of the prespecified model-versus-GLM intervals and not a new superiority claim.

## D.11 HTTP timing and the p95 convention

Primary timing is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mi>i</mi></msub><mo>=</mo><msubsup><mi>t</mi><mi>i</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">m</mi><mi mathvariant="normal">p</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">t</mi><mi mathvariant="normal">e</mi><mspace width="0.222em"></mspace><mi mathvariant="normal">b</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi><mi mathvariant="normal">y</mi></mrow></msubsup><mo>−</mo><msubsup><mi>t</mi><mi>i</mi><mrow><mi mathvariant="normal">H</mi><mi mathvariant="normal">T</mi><mi mathvariant="normal">T</mi><mi mathvariant="normal">P</mi><mspace width="0.222em"></mspace><mi mathvariant="normal">t</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">f</mi><mi mathvariant="normal">e</mi><mi mathvariant="normal">r</mi><mspace width="0.222em"></mspace><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi><mi mathvariant="normal">a</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">t</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">t_i=t_i^{\mathrm{complete\ body}}-t_i^{\mathrm{HTTP\ transfer\ start}}</annotation></semantics></math></span>, using a monotonic clock. It includes applicable connection, network, service waiting, and required generation. Parsing, scoring, payload preparation, disk writes, and startup are outside this interval.

For sorted eligible times <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mrow><mo stretchy="false" form="prefix">(</mo><mn>0</mn><mo stretchy="false" form="postfix">)</mo></mrow></msub><mo>,</mo><mi>…</mi><mo>,</mo><msub><mi>x</mi><mrow><mo stretchy="false" form="prefix">(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false" form="postfix">)</mo></mrow></msub></mrow><annotation encoding="application/x-tex">x_{(0)},\ldots,x_{(n-1)}</annotation></semantics></math></span>, a common explicit form of the stated linear percentile rule is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>=</mo><mo stretchy="false" form="prefix">(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false" form="postfix">)</mo><mi>q</mi></mrow><annotation encoding="application/x-tex">h=(n-1)q</annotation></semantics></math></span>, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mo>=</mo><mo stretchy="false" form="prefix">⌊</mo><mi>h</mi><mo stretchy="false" form="postfix">⌋</mo></mrow><annotation encoding="application/x-tex">j=\lfloor h\rfloor</annotation></semantics></math></span>, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>=</mo><mi>h</mi><mo>−</mo><mi>j</mi></mrow><annotation encoding="application/x-tex">g=h-j</annotation></semantics></math></span>, and

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi><mo stretchy="false" form="prefix">(</mo><mi>q</mi><mo stretchy="false" form="postfix">)</mo><mo>=</mo><mo stretchy="false" form="prefix">(</mo><mn>1</mn><mo>−</mo><mi>g</mi><mo stretchy="false" form="postfix">)</mo><msub><mi>x</mi><mrow><mo stretchy="false" form="prefix">(</mo><mi>j</mi><mo stretchy="false" form="postfix">)</mo></mrow></msub><mo>+</mo><mi>g</mi><msub><mi>x</mi><mrow><mo stretchy="false" form="prefix">(</mo><mrow><mi mathvariant="normal">min</mi><mo>&#8289;</mo></mrow><mo stretchy="false" form="prefix">(</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false" form="postfix">)</mo><mo stretchy="false" form="postfix">)</mo></mrow></msub><mi>.</mi></mrow><annotation encoding="application/x-tex">Q(q)=(1-g)x_{(j)}+g x_{(\min(j+1,n-1))}.</annotation></semantics></math>
</div>

Set <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>q</mi><mo>=</mo><mn>0.95</mn></mrow><annotation encoding="application/x-tex">q=0.95</annotation></semantics></math></span> for p95. The timing lesson demonstrates this with **synthetic** times. The manuscript itself gives summary quantiles but not the individual transfer times, so an illustration using only those summaries cannot recompute the original p95. The reader’s separate deposited-record audit independently verified the reported quantiles.

The reported median ratio <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>659.7</mn><mi>/</mi><mn>139.1</mn><mo>≈</mo><mn>4.74</mn></mrow><annotation encoding="application/x-tex">659.7/139.1\approx4.74</annotation></semantics></math></span> compares local KEV with hosted JEV under their tested configurations. It is not an isolated architectural speedup. Summing request intervals, measuring scored-loop wall time, and measuring the full session answer different questions.

## D.12 Decimal tolerance, without repair

The paper’s explicit numerical rule is

<div class="authorization-equation" tabindex="0" role="group" aria-label="Equation; scroll horizontally if needed">
<math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>τ</mi><mo stretchy="false" form="prefix">(</mo><mi>d</mi><mo stretchy="false" form="postfix">)</mo><mo>=</mo><mrow><mi mathvariant="normal">max</mi><mo>&#8289;</mo></mrow><mspace width="-0.167em"></mspace><mrow><mo stretchy="true" form="prefix">(</mo><mn>1.5</mn><mo>×</mo><msup><mn>10</mn><mrow><mi>−</mi><mi>d</mi></mrow></msup><mo>,</mo><mspace width="0.222em"></mspace><msup><mn>10</mn><mrow><mi>−</mi><mn>15</mn></mrow></msup><mo stretchy="true" form="postfix">)</mo></mrow><mo>,</mo><mspace width="2.0em"></mspace><mrow><mo stretchy="true" form="prefix">|</mo><munder><mo>∑</mo><mi>k</mi></munder><msub><mi>p</mi><mi>k</mi></msub><mo>−</mo><mn>1</mn><mo stretchy="true" form="postfix">|</mo></mrow><mo>≤</mo><mi>τ</mi><mo stretchy="false" form="prefix">(</mo><mi>d</mi><mo stretchy="false" form="postfix">)</mo><mi>.</mi></mrow><annotation encoding="application/x-tex">\tau(d)=\max\!\left(1.5\times10^{-d},\ 10^{-15}\right),\qquad \left|\sum_kp_k-1\right|\leq\tau(d).</annotation></semantics></math>
</div>

Take the larger value; do not add them. At <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">d=2</annotation></semantics></math></span>, the tolerance is 0.015; at <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">d=4</annotation></semantics></math></span>, it is 0.00015; at <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mn>16</mn></mrow><annotation encoding="application/x-tex">d=16</annotation></semantics></math></span>, the floor makes it <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><msup><mn>10</mn><mrow><mi>−</mi><mn>15</mn></mrow></msup><annotation encoding="application/x-tex">10^{-15}</annotation></semantics></math></span>. Probability values must still be finite and individually within <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false" form="prefix">[</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false" form="postfix">]</mo></mrow><annotation encoding="application/x-tex">[0,1]</annotation></semantics></math></span>.

Use decimal lexemes—original numeric spellings—to avoid silently replacing a decimal record with binary-floating-point arithmetic. The teaching helper takes <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>d</mi><annotation encoding="application/x-tex">d</annotation></semantics></math></span> explicitly. Recovering every original precision-selection decision requires the deposited parser and original response bytes; this helper does not pretend to reconstruct them from Table IV percentages.

A selected decision must be at a maximum for distribution validity. GLM’s first-in-order exact-tie instruction is an **additional** compliance requirement. A selected maximum alone does not establish valid identity, complete transport, correct case ID, unambiguous JSON, or full response compliance.

## D.13 Consequences without invented severity

Write <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>U</mi><annotation encoding="application/x-tex">U</annotation></semantics></math></span> for reference hold/deny predicted allow, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>R</mi><annotation encoding="application/x-tex">R</annotation></semantics></math></span> for reference allow/hold predicted deny, <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>E</mi><annotation encoding="application/x-tex">E</annotation></semantics></math></span> for reference allow/deny predicted hold, and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>I</mi><annotation encoding="application/x-tex">I</annotation></semantics></math></span> for invalid output. The original counts are unweighted and hypothetical.

For an explicitly new sensitivity exercise, choose nonnegative weights and compute <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>U</mi></msub><mi>U</mi><mo>+</mo><msub><mi>w</mi><mi>R</mi></msub><mi>R</mi><mo>+</mo><msub><mi>w</mi><mi>E</mi></msub><mi>E</mi><mo>+</mo><msub><mi>w</mi><mi>I</mi></msub><mi>I</mi></mrow><annotation encoding="application/x-tex">w_UU+w_RR+w_EE+w_II</annotation></semantics></math></span>. Since JEV and KEV have equal <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>E</mi><annotation encoding="application/x-tex">E</annotation></semantics></math></span> and <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mi>I</mi><annotation encoding="application/x-tex">I</annotation></semantics></math></span>, their JEV-minus-KEV weighted difference is <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>−</mi><mn>2</mn><msub><mi>w</mi><mi>U</mi></msub><mo>+</mo><mn>3</mn><msub><mi>w</mi><mi>R</mi></msub></mrow><annotation encoding="application/x-tex">-2w_U+3w_R</annotation></semantics></math></span>. JEV has the lower illustrative total when <span class="authorization-inline-equation"><math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><msub><mi>w</mi><mi>U</mi></msub><mo>&gt;</mo><mn>3</mn><msub><mi>w</mi><mi>R</mi></msub></mrow><annotation encoding="application/x-tex">2w_U&gt;3w_R</annotation></semantics></math></span>; KEV has the lower total when the inequality reverses. This algebra introduces no measured harm severity and recommends no deployment policy.

## Check your understanding

<details><summary>Why is invalid not simply another hold?</summary>

Hold is a valid semantic determination about prerequisites. Invalid means the response failed the contract. Replacing invalid with hold would change the recorded decision and error consequences, violating the no-repair protocol.
</details>

<details><summary>Can a model be more accurate but less attractive under a consequence weighting?</summary>

Yes. Accuracy counts each incorrect or invalid assigned case equally. A separately declared weighting can value different consequences differently. In this study the weights were not measured, so weighted results must remain an illustrative sensitivity exercise.
</details>

## Companion navigation

- [Overview](https://trustcyber.ca/research/allow-hold-deny/index.md)
- [Both authorization studies](https://trustcyber.ca/research/authorization/index.md)
