2023 presidentialAgent marks on result formsReportable polling units

The winner had an agent at 87% of reportable polling units. Geography explains much of the gap.

Across 138,161 polling units with a unique winner in the data, that winner had a confirmed party-agent mark on 120,619 result forms. The raw relationship between agent presence and winning is large, but comparing the same party within the same LGA cuts it sharply. This is evidence of association, not proof that an agent caused a win.

140,797
Reportable polling units
in the analysis
87.3%
Unique-winner PUs where
the winner had an agent
12.3%
Unique-winner PUs where
the winner had no agent
4.09×
Odds ratio after matching
party within LGA

The headline

Winning and having an agent appear together often

The unit of analysis below is a party in a polling unit, not a voter. Each untied polling unit contributes up to 18 party observations after rows with uncertain agent status are removed.

Party-agent statusWon PUDid not win PUWin rate
Agent confirmed120,619360,77825.06%
No agent confirmed16,9771,957,1410.86%
Raw comparison

29.1 times the win rate

A party won 25.06% of resolved party-PU observations where it had a confirmed agent and 0.86% where it did not. The risk ratio is 29.14; the raw odds ratio is 38.54.

Why raw is misleading

Parties do not deploy agents at random

Large parties have more agents and win more units. Parties also concentrate agents where they are organised or expect support. A national pooled comparison mixes those differences together.

Of 138,161 polling units with one clear winner, 120,619 had a confirmed mark for the winning party, 16,977 had no confirmed mark for that party, and 565 had an uncertain winner-agent row. The 2,636 tied polling units are excluded.

Adjustment ladder

Most of the raw gap is party and place

Each step compares more similar observations. The odds ratio falls from 38.54 nationally to 4.09 when the comparison is made for the same party inside the same LGA.

ComparisonWhat is held constantOdds ratio95% interval
Raw pooledNothing38.54×37.91–39.18
Party-adjustedParty6.39×
Party + stateParty within state4.13×
Party + LGAParty within LGA4.09×3.94–4.26

The adjusted figures are Mantel–Haenszel common odds ratios. The final interval comes from 1,000 bootstrap samples clustered across 773 LGAs. An odds ratio is not a probability ratio.

The LGA-adjusted estimate still shows a substantial association in the combined file, but it cannot separate the effect of witnessing from local party strength, selective deployment, form legibility, or unmeasured polling-unit differences.

Lowest state coverage

The weakest agent presence follows each party’s geographic footprint

Coverage is the percentage of reportable polling units in a state with a confirmed agent mark for that party. Ranking by rate, rather than the number of forms, makes states of different sizes comparable.

APC · 75.9% nationally

Lowest in Anambra

Anambra 42.2%, Gombe 51.3%, Abia 51.3%, Imo 52.5% and Enugu 52.6%. Four of the five lowest-coverage states are in the South East.

LP · 49.9% nationally

Lowest in Sokoto

Sokoto 7.5%, Zamfara 10.4%, Katsina 11.6%, Yobe 11.7% and Jigawa 13.0%. The five lowest rates are concentrated in the North West and North East.

PDP · 82.3% nationally

Lowest in Gombe

Gombe 51.6%, Imo 59.4%, Ebonyi 62.4%, Anambra 63.2% and Abia 64.3%. Four of the five lowest-coverage states are in the South East.

NNPP · 28.1% nationally

Lowest in Ekiti

Ekiti 3.5%, Bayelsa 4.7%, Osun 6.0%, Sokoto 7.2% and Ondo 7.3%. Three of the five lowest rates are in the South West.

The lowest-coverage states are not the same as the states with the fewest agents in absolute numbers. Each percentage uses that state’s reportable polling units as its denominator.

By party

Every party shows a positive raw gap

These are unadjusted, party-specific comparisons in alphabetical order. They describe where each party had an extracted agent mark; they do not estimate what an agent caused.

PartyWin rate
agent
Win rate
no agent
DifferenceAverage share
agent
Average share
no agent
Raw odds ratio
A1.78%0.12%+1.67pp3.85%0.28%15.60×
AA1.69%0.05%+1.64pp2.06%0.15%34.48×
AAC5.97%0.10%+5.88pp6.32%0.21%65.04×
ADC8.18%0.17%+8.00pp9.10%0.55%51.03×
ADP7.14%0.21%+6.94pp7.37%0.43%37.38×
APC40.09%16.51%+23.58pp36.41%15.74%3.38×
APGA5.66%0.21%+5.44pp6.43%0.46%28.13×
APM1.52%0.05%+1.47pp2.35%0.19%31.34×
APP3.91%0.07%+3.85pp4.17%0.15%58.88×
BP5.55%0.14%+5.41pp5.35%0.23%41.81×
LP50.14%8.03%+42.11pp44.67%9.49%11.52×
NNPP14.67%0.70%+13.97pp15.30%1.30%24.34×
NRM3.98%0.19%+3.78pp4.71%0.36%21.41×
PDP27.96%13.37%+14.59pp29.08%15.72%2.51×
PRP1.06%0.05%+1.01pp1.88%0.15%21.09×
SDP0.82%0.05%+0.77pp2.96%0.19%17.31×
YPP0.92%0.05%+0.87pp2.62%0.23%17.81×
ZLP3.79%0.52%+3.27pp3.54%0.74%7.52×

Average share is each party’s mean share of extracted votes in reportable polling units. The exact party list is less certain than the form-level question of whether any agent was recorded: the validation pilot achieved 96% agreement on any-agent presence and 76% agreement on the complete party list. Treat these party rows as provisional.

What the result means

Agent presence is also a map of party organisation

Several mechanisms can produce the same statistical pattern. This analysis cannot isolate them with observational form data alone.

01

Strategic deployment

A party is more likely to send an agent to a polling unit where it already has members, organisation or an expectation of competitive support.

02

Local party strength

The same local network can produce both votes and agent coverage. Holding LGA constant reduces this broad geographic difference but cannot measure every local factor.

03

Observation and process

Agents may affect scrutiny, documentation or dispute resolution. The present analysis does not identify that effect separately from deployment choices.

04

Document visibility

A mark can be faint, cropped, overwritten or attached to the wrong row. Image quality can change both whether an agent is detected and whether a vote figure is reportable.

How to read this analysis

Three definitions set the denominator

The comparison uses party votes and agent marks visible on 2023 presidential EC8A forms. Ambiguous agent rows are left uncertain rather than forced into present or absent.

01

Define a reportable polling unit

A unit is included when at least one party-vote figure is extracted and the total of extracted party votes is greater than zero. This gives 140,797 polling units.

02

Define agent presence by party

A party is marked present when its row has a confirmed name, signature, initials, thumbprint or identifying handwritten mark. The name does not need to be readable.

03

Define a winner, then compare like with like

A party wins only when it has strictly more extracted votes than every other party; 2,636 ties are omitted. The adjusted estimate compares the same party within the same LGA.

There are 31,383 uncertain party-PU agent rows, 1.26% of otherwise eligible observations. How Mundx reads IReV forms is described on Method. Only INEC declares official results.

Limits

A strong association is not a causal estimate.

Party agents are not randomly assigned. Geographic adjustment cannot remove all confounding, and document-reading errors remain possible in both vote figures and agent rows. The figures show where agent presence and electoral strength coincide; they do not establish that one caused the other.

Read the finding alongside the source boundary

This page analyses marks and figures extracted from public result forms. It does not change, certify or replace the official result.

IReV result forms · National analysis · Only INEC declares