How we track promises, assign statuses, and calculate scores.
Kept
The promise was fully delivered. There is verifiable evidence of completion — a project inaugurated, a law passed, a scheme launched as promised.
Partially Kept
The promise was partially fulfilled — some elements were delivered but not all, or it was delivered to a narrower scope than promised.
In Progress
There is credible evidence that work towards this promise is actively underway and has not stalled.
Broken
The politician's term has ended (or the term context is past) with no delivery. Or the politician explicitly reversed or abandoned the promise.
Expired
The deadline or term context for this promise has passed and it was neither kept nor explicitly broken — it simply lapsed.
Unverified
The promise is recorded but our team has not yet been able to verify its current status. This is the default for newly added promises.
// Only verified (non-Unverified) promises count
score = (
Kept × 1.0
+ Partially Kept × 0.5
+ In Progress × 0.25
+ Broken × 0.0
+ Expired × 0.0
) / total_verified_promises × 100
Score ≥ 70% → green
Score 40–69% → amber
Score < 40% → red
No verified promises → not displayed
Scores are recomputed automatically every time a promise status changes. In Progress is given partial credit because active work has accountability value — but not as much as completion.
Politician data is seeded from MyNeta.info (Election Commission affidavit data) and Sansad.in (Parliament of India). Promises are community-submitted and manually verified by our editorial team before going live. Issues are submitted by the public with mandatory photo evidence.
Drishta can only track what is submitted to it. A politician with a high score may simply have few promises recorded — not necessarily that they have an exceptional delivery record. We encourage users to add missing promises so that coverage becomes more complete over time. Scores should be read alongside the underlying data, not in isolation.