Methodology

What the figures mean, and what they do not

A database about politicians is only as useful as its willingness to state its own limits. This page lists them.

The source rule

Every factual row in this database carries a source_url pointing at the document it came from, and the column is NOT NULL with a non-empty constraint. A code path that tries to write a fact without a source fails at the database, not at review. An integrity check runs after every import and reports any row that slipped through.

Unknown is not zero

If a candidate did not declare a figure, the field is empty and the page says "not declared". Nothing here is interpolated, averaged into existence, or inferred from a neighbouring year. A blank cell would read as zero, so blank cells are not used.

Criminal cases are self-declarations

Case entries are reproduced from Form 26, the affidavit every candidate swears when filing nomination. They are the candidate's own account. This project does not investigate, corroborate or characterise them.

A pending case is an allegation that has not been tested in court. "Charges framed" means a court found enough substance to proceed, not that anything was proven. Only convicted means a court decided against the person, and even then an appeal may be outstanding. The status is shown on every case for exactly this reason.

Case counts are also not comparable between people without care. A politician who leads protests may accumulate public-order cases that say little about them; a serious financial case may appear as one entry. The serious-offence flag, which marks offences carrying five years or more, is the closest thing to a severity measure available and it is crude.

Assets are declared, not audited

Asset and liability figures are what the candidate declared. They are not verified by the Election Commission at filing, they are not adjusted for inflation, and a rise between cycles does not by itself indicate anything improper: property appreciates, and so do declared valuations as compliance improves. Where the declared string was ambiguous the parsed number is stored alongside the original text, and where it could not be parsed confidently the value is null rather than a guess.

Ministers show no activity figures

PRS Legislative Research does not publish attendance, debate and question counts for ministers, and the upstream dataset reports them as zero. Loading that zero would state that a cabinet minister asked no questions, which the source does not claim. Those records carry a reason code and the interface prints "not published for ministers" instead of a number.

A part-term is labelled as one

The sitting house is reported part-way through its term. A question count for the 18th Lok Sabha covers the sessions published so far, not five years, and the reporting window is printed beside the figure. Comparing a sitting member's count with a completed term's count without reading that line will mislead you.

Area statistics describe places, not people

Crime, literacy, poverty, trafficking and safety figures attach to a state, district or city. There is deliberately no foreign key from those tables to a politician, and the API will not return them under a person's record.

A constituency is not a district. Most parliamentary seats span several districts and most districts contain several assembly seats, so a district figure shown on a constituency page is labelled with the districts it covers and the overlap is made explicit. Where only state-level figures exist, the page says so rather than dividing a state number by a district count.

Two further limits apply to every rate. Reported crime measures reporting as much as incidence, so a state with better policing and more willing complainants can look worse than one where offences go unrecorded. And every per-capita denominator on this site comes from the 2011 Census, because the 2021 Census has not been conducted; rates for fast-growing districts are therefore overstated.

Identity resolution is conservative

The same legislator appears under several spellings across sources. Two records are merged only when the normalised name and the state both match. A phonetic key generates candidates for review but never merges anything on its own. The consequence is that this database will sometimes hold two rows for one person, which is a visible and fixable error, rather than one row for two people, which is a defamatory one.

Party colours are a presentation choice

Charts have to draw a party in some colour. The hues used are taken from each party's own flag, symbol or campaign material. No analytical claim rests on them.

What is not here yet

Coverage is honest about its gaps on the coverage page, which is generated from the database rather than written by hand. Assembly members, local body representatives and Rajya Sabha members are planned and not yet loaded. Where a section of a profile has no data, the page says which import is outstanding.

Corrections

If something here is wrong, report it with a source. A submission needs a URL to a document, for the same reason every row in the database does. Nothing submitted is published without review, and when a correction is accepted the proof URL becomes the source of record.