# Zambia 2026 — pre-registered support-score weighting variants

**Date declared:** 2026-07-15 (before the T-7 lock; Zambia presidential election 2026-08-13, so
T-7 auto-lock ≈ 2026-08-06).
**Market:** `zm_national` (Zambia 2026 presidential, first-round two-way leader headline + n-way
companion).
**Status:** PRE-REGISTRATION. The three variants below are declared now and are to be **locked at
T-7** (frozen alongside the headline prediction) and **scored against the certified ECZ result**
after the vote. This file is anchored (SHA-256 + OTS/git; see `calibration/ANCHORS.md`); any revision
is a NEW dated file, never an edit of this one.

## Why three variants

The impact-weighted headline (V1) is the instrument of record. But impact weighting concentrates on
loud accounts, and a young multi-platform dome can over-represent whichever platform harvested first
(today: X = 100% of decided posts, Instagram confirmed but not yet walked). V2 and V3 are declared
**companions** that render **beside** the headline everywhere — they never replace it. Pre-declaring
them, and scoring all three against the same certified result, is the honest way to learn which
weighting best tracks the electorate without cherry-picking after the fact.

## Definitions (shared)

For a candidate `c`, over the decided pool (accounts whose latest stance for the leg is
`supportive` or `opposed`):

- `A` = the set of decided accounts; `A_p` = decided accounts on platform `p`.
- `s(a, c)` = 1 if account `a` is supportive of `c`, 0 if opposed (decided only; undecided excluded).
- `w(a)` = the impact weight of account `a` (the existing dome impact weight, 5%-per-account capped).
- A platform `p` **qualifies** iff `|A_p| ≥ 5` decided accounts (thin platforms abstain, labeled with
  their `n`, and are excluded from V3's blend — never silently dropped).

## V1 — raw impact-weighted (THE HEADLINE, unchanged)

The instrument of record; identical to the currently locked support score.

```
V1_share(c) = Σ_{a∈A} w(a)·s(a,c)  /  Σ_{a∈A} w(a)          (two-way normalized for the leg)
```

## V2 — equal-weight-per-person (one decided account, one vote)

Removes impact concentration: every decided account counts once.

```
V2_share(c) = ( Σ_{a∈A} s(a,c) )  /  |A|                     (two-way normalized for the leg)
```

## V3 — platform-balanced (equal platform blend)

Equal-weights **platforms**, not people: compute each qualifying platform's own equal-weight-
per-person share, then average those shares with equal weight across platforms. Corrects for one
platform dominating the harvest.

```
Let P = { p : |A_p| ≥ 5 }                                   (qualifying platforms)
V3_share(c) = ( 1 / |P| ) · Σ_{p∈P}  [ ( Σ_{a∈A_p} s(a,c) ) / |A_p| ]
```

If `|P| = 1` (only one platform qualifies, today's state), `V3 ≡ V2` restricted to that platform, and
this identity is reported explicitly rather than presented as a distinct number. As Instagram /
TikTok / YouTube decided pools each clear 5, they enter the blend automatically.

## Scoring protocol (at the certified result)

All three variants are computed from the **T-7 locked** decided pool (no post-hoc re-harvest), then
each is compared to the certified ECZ two-way leader share by absolute error (MAE), reported in a
single table beside the headline. No variant is retro-selected; the winner is whichever pre-declared
formula had the lowest error, recorded in the calibration ledger.

## Display

V2 and V3 render as labeled **companions** beside the V1 headline on `sonar standing`, in the intel
and trial briefs, and on the client site — each with its `n` decided and its qualifying-platform set.
They never replace the headline and never feed the lock (the T-7 legs are unchanged).
