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.
in the analysis
the winner had an agent
the winner had no agent
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 status | Won PU | Did not win PU | Win rate |
|---|---|---|---|
| Agent confirmed | 120,619 | 360,778 | 25.06% |
| No agent confirmed | 16,977 | 1,957,141 | 0.86% |
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.
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.
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.
| Comparison | What is held constant | Odds ratio | 95% interval |
|---|---|---|---|
| Raw pooled | Nothing | 38.54× | 37.91–39.18 |
| Party-adjusted | Party | 6.39× | — |
| Party + state | Party within state | 4.13× | — |
| Party + LGA | Party within LGA | 4.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.
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.
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.
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.
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.
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.
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.
| Party | Win rate agent | Win rate no agent | Difference | Average share agent | Average share no agent | Raw odds ratio |
|---|---|---|---|---|---|---|
| A | 1.78% | 0.12% | +1.67pp | 3.85% | 0.28% | 15.60× |
| AA | 1.69% | 0.05% | +1.64pp | 2.06% | 0.15% | 34.48× |
| AAC | 5.97% | 0.10% | +5.88pp | 6.32% | 0.21% | 65.04× |
| ADC | 8.18% | 0.17% | +8.00pp | 9.10% | 0.55% | 51.03× |
| ADP | 7.14% | 0.21% | +6.94pp | 7.37% | 0.43% | 37.38× |
| APC | 40.09% | 16.51% | +23.58pp | 36.41% | 15.74% | 3.38× |
| APGA | 5.66% | 0.21% | +5.44pp | 6.43% | 0.46% | 28.13× |
| APM | 1.52% | 0.05% | +1.47pp | 2.35% | 0.19% | 31.34× |
| APP | 3.91% | 0.07% | +3.85pp | 4.17% | 0.15% | 58.88× |
| BP | 5.55% | 0.14% | +5.41pp | 5.35% | 0.23% | 41.81× |
| LP | 50.14% | 8.03% | +42.11pp | 44.67% | 9.49% | 11.52× |
| NNPP | 14.67% | 0.70% | +13.97pp | 15.30% | 1.30% | 24.34× |
| NRM | 3.98% | 0.19% | +3.78pp | 4.71% | 0.36% | 21.41× |
| PDP | 27.96% | 13.37% | +14.59pp | 29.08% | 15.72% | 2.51× |
| PRP | 1.06% | 0.05% | +1.01pp | 1.88% | 0.15% | 21.09× |
| SDP | 0.82% | 0.05% | +0.77pp | 2.96% | 0.19% | 17.31× |
| YPP | 0.92% | 0.05% | +0.87pp | 2.62% | 0.23% | 17.81× |
| ZLP | 3.79% | 0.52% | +3.27pp | 3.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.
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.
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.
Observation and process
Agents may affect scrutiny, documentation or dispute resolution. The present analysis does not identify that effect separately from deployment choices.
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.
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.
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.
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.