Skip to content
NaijaDecide

How the matching works

NaijaDecide compares your answers with the documented positions of every candidate on INEC’s final list. The method is the same for everyone, it runs on your own phone, and the code is open to inspection.

How questions are written

  • There are 25 questions across 10 topics: economy and cost of living, fuel and energy, electricity, security, federalism and restructuring, education, health, jobs and youth, agriculture and land, and governance and anti-corruption.
  • Each question is a real trade-off. Every option says what is gained and what is given up.
  • Options do not overlap, and each one is a position a serious candidate could hold.
  • Each question is read from the point of view of supporters of each leading candidate. Anything that reads like a trap is rewritten.
  • Every question has a short plain-language explainer.

How candidate positions are coded

  1. We collect public sources for each candidate: manifesto, campaign website, debate transcripts, major interviews, verified social accounts and official records.
  2. Every source is archived on the Wayback Machine before it is used.
  3. AI tools suggest which option a source supports and point to the passage. A person then reads that passage and confirms or rejects the suggestion. A position counts only after that check.
  4. When sources conflict, the most recent statement from the 2026–27 campaign wins, then the manifesto, then earlier statements. Conflicts are noted in the summary.
  5. Summaries are neutral paraphrases under 30 words, with no adjectives and no guesses about motives.
  6. If we cannot find a clear public position, the candidate is marked “no documented position”. We never guess.

How the match is calculated

For each question you answer (skipped questions are left out completely):

  • the candidate chose the same option → agree
  • the candidate chose a different option → differ
  • the candidate has no documented position → neutral

Each question has a weight w of 1, or 2 if its topic is one of your top 3 topics. How strongly a candidate holds a position does not change the score.

s = Σ w × (agree − differ) ÷ Σ w × (agree + differ + 0.5 × neutral)

alignment = 50% + 50% × s

Alignment runs from 0% (disagrees on everything) to 100% (agrees on everything). 50% means no lean either way.

Neutral questions count at half weight in the bottom of the fraction. This keeps candidates with few documented positions close to 50%, so they cannot top the list by luck.

Worked examples

All weights 1, all 25 questions answered:

Agree Differ No position s Alignment
9 6 10 3 ÷ 20 = 0.150 57.5%
11 9 5 2 ÷ 22.5 = 0.089 54.4%
2 0 23 2 ÷ 13.5 = 0.148 57.4%
3 14 8 −11 ÷ 21 = −0.524 23.8%

The third row shows why the half weight matters: a candidate with only 2 documented positions, both matching yours, scores 57.4%, not 100%.

When we say “no clear match”

  • If you answered fewer than 10 questions, we ask you to answer more before showing a headline.
  • If the top candidate is below 60%, or within 3 points of second place, the headline says “No clear match — you’re split between X and Y”.
  • Otherwise the headline says “Your closest match: X (NN%)”. We never say “You matched with X”.
  • If candidates have exactly the same score, they are listed in alphabetical order by surname, and we say so.

Limitations

  • Positions come from what candidates have published or said. That may differ from what they would do in office.
  • 25 questions cannot capture everything that matters to your vote.
  • Track record is shown as sourced facts on each candidate’s profile. It is not part of the score.
  • There is no single correct formula. Other reasonable formulas would change results at the margin.
  • Some candidates have published more than others, so coverage differs. Each result shows how many questions a candidate has a documented position on.