Source: https://guthlabs.ai/docs/instruments/nnt-nnh-number-needed-to-treat-harm/mechanism/

instrument mechanism / verified-clean

# NNT/NNH (Number Needed to Treat/Harm) mechanism

The inspectable method record for NNT/NNH (Number Needed to Treat/Harm), kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The educational, not-medical-advice label is appropriate, but the specification needs explicit definitions for RRR/RRI, benefit-versus-harm labeling, percentage-versus-proportion input handling, zero-denominator behavior, and integer rounding before it can be considered complete.

- ARR=|CER−EER| is correct when CER and EER are event probabilities expressed in the same units.

- NNT=1/ARR is correct mathematically for a beneficial treatment effect, while the same absolute-risk formula yields NNH when EER>CER; the specification does not define this direction-based labeling.

- RRR is listed as an output but no RRR formula is supplied. For benefit, the standard formula is RRR=(CER−EER)/CER=ARR/CER when EER<CER.

- For harm, RRR is not the correct label; the corresponding measure is relative risk increase, RRI=(EER−CER)/CER. The specification does not define whether to output RRI, a negative RRR, or null.

- NNT and NNH are normally reported as positive integers rounded up, but the specification does not state a rounding rule. The raw reciprocal may be fractional.

- The formulas require CER and EER to be probabilities between 0 and 1, or percentages converted consistently before calculation; this constraint is not stated.

## Units and conventions

- CER and EER are assumed to be event probabilities on the 0 to 1 scale unless explicitly converted from percentages.

- ARR is dimensionless as a probability difference; if rates are entered as percentages, ARR must be converted from percentage points to a proportion before taking its reciprocal.

- RRR and RRI are dimensionless ratios, conventionally reported as percentages after multiplying by 100.

- NNT and NNH are counts and should conventionally be rounded up to the next whole person for reporting.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "CER": 0.2,
    "EER": 0.15
  },
  "expected_outputs": {
    "ARR": 0.05,
    "RRR": 0.25,
    "NNT_raw": 20,
    "NNT_reported": 20,
    "NNH": null
  },
  "working": "ARR=|0.20−0.15|=|0.05|=0.05. Because EER<CER, this is benefit, so RRR=(0.20−0.15)/0.20=0.05/0.20=0.25=25%. NNT=1/0.05=20, so reported NNT=20. NNH is not applicable because the experimental event rate is lower."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

Equal control and experimental event rates produce ARR=0, so NNT and NNH require division by zero and are undefined. The specification also lists RRR as an output without defining its formula or sign convention, creating a convention-dependent result.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/nnt-nnh-number-needed-to-treat-harm/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/nnt-nnh-number-needed-to-treat-harm/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/nnt-nnh-number-needed-to-treat-harm/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
