Promise Ledger

Methodology

Each claim is a test case. Suites group test cases; global indices are external benchmarks. This page is generated from the constants in scoring.ts, which also computes the scores.

Verdict definitions

False
The claim is contradicted by the best available evidence.
Misleading
The claim is technically accurate in part but leaves out context that changes its meaning, or uses a figure in a way the data does not support.
Unachieved
A promise or target whose stated goal was not met, where no specific deadline is the issue (or the goal is no longer being pursued).
Missed deadline
A promise with a dated deadline that has passed without the goal being met.
In progress
A promise or target that is being worked on; the deadline has not passed or progress is ongoing.
True
The claim is supported by the best available evidence. Claims that held up are included on purpose.
Unverifiable
No reliable public data exists that can confirm or refute the claim.

Claims with verdict "true" are included and scored on the same terms as every other verdict.

Suite A: Factual Accuracy

Applies to claim types: statement, statistic. Suite score = mean of case scores. Strict accuracy = share of graded cases with verdict true. Verdicts not listed are not graded (counted as abstained).

VerdictScore
true1
misleading0.5
false0

Suite B: Promise Delivery

Applies to claim type: promise. Suite score = mean of case scores. On-time rate = share of graded promises with verdict true. Unverifiable is not graded.

VerdictScore
true1
in-progress0.5
missed-deadline0.25
misleading0.25
unachieved0
false0

Not yet due. A promise whose deadline is after the evaluation date (2026-10-17) is not graded, whatever its verdict: no credit for early delivery and no penalty for work in progress. It is listed as "not yet due".

Gap closed (promises with a numeric target and a series): (value − baseline) / (target − baseline), clamped to [0, 1]. Baseline is the series point at or before the claim date, else the first point. Reported at the deadline (last point at or before it) and at the latest point. Series labels are read as the end of the period they cover (a financial year such as 2015-16 ends on 31 March 2016). A caveat flag is shown when units or prices differ between series and target, or when the baseline had to fall back to the first point.

Parties and eras

Two "models" are evaluated: each claim is attributed to the party of the person who made it (Union ministers and the Prime Minister, Chief Ministers, and party office-bearers).

PartyClaims countedIndex era
BJP (May 2014 → today)2014-05-26 → today (2013–14 campaign promises included)2014 → latest
Congress (2000 → May 2014)2000-01-01 → 2014-05-25 (2004/2009 manifesto promises included)2004 → 2014

Selection. Claims are researched with the same quota for each party and domain: 8 claims, at least 3 promises with a deadline or target, at least 3 statements or statistics, at least 2 by Chief Ministers, chosen from the most prominent and widely reported. Researchers are told to include claims that held up. This reduces, but cannot remove, selection bias.

Known asymmetry. India's dedicated fact-checking organisations mostly started from 2014 onward, so claims from the INC era rely more on CAG reports, Parliament answers and later data, and less on contemporaneous fact-checks.

Head to head. The difference BJP − INC is reported for every suite and for the overall score, with a 95% bootstrap interval (independent resamples of each party's cases). A difference is called significant only when its interval excludes 0.

Suite C: External Benchmarks

Each edition is normalised to 0–1, higher is better. Rank indices: 1 − (rank − 1) / (out_of − 1). Score indices: value / out_of, or the value as is when out_of is null and the scale is 0–1. Where out_of is missing for a rank edition, it is taken from the nearest year that has it and flagged.

For each party, an index is measured over that party's era: start = the edition at or before the era start (or up to 3 years after it, flagged "late-start"); end = the last edition in the era (for a closed era, within 2 years of its end). Score per index = 1 if it improved, 0.5 if flat (|Δ| ≤ 0.0005), 0 if it declined. Suite score = mean over measurable indices. Also reported: mean Δ and mean Δ per year, because the eras differ in length.

Flagged indexFlagNote
global-hunger-indexcomparabilityPublisher states ranks are not comparable across editions.
world-bank-ease-of-doing-businessdiscontinuedDiscontinued in 2020; latest edition is 2020.
ti-corruption-perceptionscomparabilityMethodology changed in 2012 (0–10 scale before, 0–100 after); TI says scores across the break are not comparable. Affects the INC era.

The "exclude flagged indices" toggle removes the indices in this table from suite C and the overall score.

Domains

A claim is counted only under its first listed topic.

DomainClaim topicsIndices
Economy & Jobseconomy, jobs, black-money, manufacturing, prices, incomeworld-bank-ease-of-doing-business, global-innovation-index
Agriculture & Ruralagriculture—
Welfare, Health & Educationhousing, sanitation, health, education, womenundp-hdi, global-hunger-index, wef-global-gender-gap, world-happiness-report
Infrastructure & Energyenergy, infrastructure, railways, digital, environmentyale-epi
Security & Internal Affairssecurity, terrorism, kashmir, citizenship, internal-security—
Democracy & Governancegovernance, corruption, foreign-policyvdem-liberal-democracy, eiu-democracy-index, freedom-house, rsf-press-freedom, ti-corruption-perceptions

Overall score

Overall = (wA·A + wB·B + wC·C) / (wA + wB + wC)

Default weights: A = 0.333, B = 0.333, C = 0.333. Weights are adjustable on the leaderboard. A suite with no graded cases is dropped and the remaining weights are renormalised. Overall n = graded cases in A and B plus indices in C.

Uncertainty

Unscored entries

A claim with scored = false has its own page but is excluded from all suites, domains, intervals and exported scores. It may be shown as context on a related claim.

Sourcing and review

Corrections

Errors are corrected in the data files; the last-reviewed date and notes record the change. Scores are recomputed at each build.