Representatives · methodology
How this section is built, and what it refuses to publish
This section publishes what offices are empowered to do, what they are barred from doing, and what our own records hold about the people who sit in them. It publishes no ratings, no league, no score and no comparison, and the second half of that sentence took more work than the first.
If you work in a representative’s office and something here is wrong, the correction route is at the bottom of this page and it has a person’s name on it. Everything above it is the basis on which the claim was made, so you can attack the basis rather than guess at it.
The rule the whole section is built on
Never assert what cannot be sourced. Every fact carries a source and the date it was checked. Unknown is written as words — never as a zero, a dash, a blank or a loading state that implies a number is coming. Removing a feature is an acceptable outcome. An inflated figure is the same failure as an invented one.
What this section publishes
Four kinds of claim, and nothing else. Each one is a statement about a document or about our own database, never a judgement about a person.
What a seat can and cannot lawfully do
For 9 kinds of civic problem in Gurugram: the office that executes the work, the elected tier that answers for it and the provision that makes it so, what each named office is legally unable to do, the resident’s lever, and every published time limit we could find.
Who is responsible for whatWhat our database holds about one member, and what is wrong with it
One record page per row. It names the row’s own defects where we know them, states that we have not verified the member is sitting, and lists what we hold no data for at all.
The member directoryWhich ward a place is in, and who the corporation lists for it
All 36 wards of the Municipal Corporation of Gurugram, with councillor names checked against the corporation’s own data and addresses deliberately withheld.
Gurugram wardsWhere every dataset came from, under what licence, as of when
Per-file source, licence, the date it was fetched, the attribution we owe and whether it may appear in a public export.
Data sources and licences
What it refuses to publish, and the precedent for each refusal
None of these is refused because it is hard. Each is refused because somebody respectable built it, published it, and then had to take it down — and because the reason they took it down applies to us with our data in worse shape than theirs.
No citizen star ratings on a person
What we do instead: Residents rate nothing about a member here. A report carries a status and a severity, and both are already labelled as resident labels rather than an official acknowledgement — that is as far as a vote on this site goes.
The precedent
mySociety, "Publishing less: our current thinking about comparative statistics", 16 November 2020
Sets out the principle that data which cannot support a meaningful evaluation, or which needs heavy qualification before it can be read at all, should not be highlighted. A star average over self-selected raters, none of whom can be shown to be constituents, is that kind of data — and about a named candidate it is a preference figure, which is what the election-period freeze on this page exists for.
No responsiveness or reply-rate league
What we do instead: The escalation ladder on an issue page runs its clock on the agency's own ticket and never on a person. If a department misses a published window, the page says the department missed it.
The precedent
mySociety, WriteToThem — annual MP responsiveness table, last published for 2016 and stopped in 2017; reasoning set out in November 2020
The league ranked MPs on whether constituents reported getting a reply. mySociety's own analysis found systemic factors outside a member's control moved the figure — holding ministerial office, a broken contact address, illness — and that messages from more deprived areas were less likely to be answered at all: roughly 7% above the average response rate in the least deprived decile and about 6% below it in the most deprived. Comparing deciles within a single MP showed no such pattern, which points at the make-up of the constituency rather than the behaviour of the member. A league built that way ranks places and prints the names of people.
Read at the source — read 2026-10-01
Read as the 2020 post that explains the decision. We did not find a 2017 announcement of the stoppage itself, so the date the table stopped is taken from that post's own account of it.
No single-window ranking — no page that puts members in an order
What we do instead: The directory sorts by name, and that is the only ordering it offers. Where the section has to put several things in a sequence, it is the escalation ladder: rungs in the order a resident climbs them, not people in the order we think they rank.
The precedent
mySociety, TheyWorkForYou and FixMyStreet
Explicit MP rankings came off TheyWorkForYou in 2006, and the whole numerology section — speeches, questions answered, voting attendance, a reading-age figure — was removed in July 2020. FixMyStreet's full league table of UK councils was cut back to naming only the most responsive few. In each case the numbers were real and the ordering they produced was not defensible.
No computed overall score, grade or index per member
What we do instead: Parameters are reported one at a time, each with its own source, its own as-of date and its own denominator, so a reader can reject any single one of them without the rest collapsing.
The precedent
GovTrack.us, "We retracted our single-year legislator report cards after warning about their unreliability", 26 July 2024
GovTrack stopped publishing single-year legislator rankings in 2020 because a single session is too little data to be statistically meaningful, and in July 2024 it formally retracted the single-year report cards for 2013, 2015, 2017 and 2019. By then one of those single-year scores — an ideology ranking of a senator — had been repeated in national politics for four years. The lesson is not that the method was sloppy; it is that a retraction cannot catch a number that has already travelled, so the time to refuse a composite is before publishing it.
Read at the source — read 2026-10-01
govtrack.us refused our request on 2026-10-01 (HTTP 403), so the post itself was not read directly. The account above is from the retraction's own title and from the encyclopaedia entry summarising it, and is cited at that strength.
No comparison view, and no "add to comparison" control
What we do instead: Each member has one record page that states what our database holds about them, what it does not, and what is provably wrong in it. Reading two of them side by side is a reader's choice; presenting two as measured on the same basis would be our claim.
The precedent
interns.city itself, 28 September 2026
This section had a comparison modal with a radar chart. Its normalising function turned a missing value into 0, so "we hold no data" and "this member did nothing" drew the identical shape; the axis maxima were typed in by hand from a single seed row; and no figure on it carried a source or a date. It was removed rather than repaired, along with the per-card toggle that collected a selection nothing could act on. Four other views of the same 571 rows went the same week for the same reason — a hemicycle that announced 551 seats for the 543-seat Lok Sabha, a force graph with no edges, a treemap whose every leaf was the same size, and a map that rendered no marker at all.
Read at the source — read 2026-10-01
Our own decision, so this is not independent evidence of anything. It is here because a section that asks offices to accept its refusals should show that it has applied them to itself, and at a cost. The defects listed are from the removal record kept in this repository, not from a page a reader can open.
Fairness rules, published before there is anything to measure
Published in advance on purpose. A rule written after the numbers are in is a rule chosen to suit them. These three are in the code, in src/lib/electionPeriod.ts, as functions that return a refusal rather than as guidance a renderer can ignore.
A member is never measured on anything that predates their own term. A member seated mid-term is measured from the day they were seated, or not at all.
Counting a predecessor's months against a successor measures the seat, not the person. Where we do not hold a term date we cannot tell the two apart, so the answer is "not measurable" rather than a figure with a caveat.
Enforced by
measurableWindow()A parameter with no data for a member is dropped for that member, never scored zero and never imputed from an average.
Zero is a measurement. Treating a missing value as one says the member did nothing, which is a claim about them we have not earned. This is the exact defect that made the old radar chart dishonest: normalising null to 0 drew "no data" and "did nothing" as the same shape.
Enforced by
reportRate() returning a no-data variantA rate is shown only when its denominator is at least 30. Below that the count is shown and no rate is computed.
Three complaints of which one was closed is not a 33% closure rate in any sense a reader would take it. Publishing it as one invites a comparison the number cannot carry.
Enforced by
reportRate()
Applied to the data we actually hold, rule 1 refuses everybody. We hold no term start date for any member, so there is no way to tell which part of a period was theirs. Asked for the nine months to 30 September 2026, the rule returns, for every single member: “We hold no start date for this member's term, so we cannot tell which part of the period was theirs. Nothing is measured.” That is the honest reason this section has no measurements in it, and it is a better reason than modesty. The denominator floor is 30: our own editorial rule, not a sourced standard.
The election-period freeze
During a notified election period, publishing an aggregate that reads as voter or resident preference about candidates stops being an editorial question. The provisions below carry prison terms. So the switch exists before the content it governs, it is consulted in code rather than remembered, and when this site does not know whether a period is running it behaves as though one is.
Comparative content is frozen right now
Nobody has recorded a check of the Election Commission's announcements, so this site does not know whether an election period is running. Unknown is treated as "in force".
No check has ever been recorded, and nothing is lost by that: there is no comparative surface on this site to hold back. The freeze is in place for the first one.
State resolved at . This page is rendered per request rather than cached, so the state above cannot be a copy made before the switch moved.
What a “notified period” actually is
Three different windows, of three different lengths, none of which starts on the day a reader would guess. Our flag follows the longest of them, because it is the only one a person can notice without a feed.
Model Code of Conduct period
Runs from the date the Commission announces the schedule to the completion of the election process.
Typically weeks to months.
Model Code of Conduct — frequently asked questions, Election Commission of India — read 2026-10-01An undated FAQ on the Commission's legacy site, so the date recorded is the date we read it. This is the Commission's own statement of when the Code starts and ends, and of the rule that opinion-poll and exit-poll results may not be published in the 48 hours before the close of poll — for a multi-phase election, from 48 hours before the first phase until every phase is complete.Exit-poll window notified under section 126A(2)
Runs from the hours fixed for poll on the first day of poll to half an hour after the close of poll everywhere covered by the order.
Typically days to weeks across a multi-phase election.
The Representation of the People Act, 1951 — section 126A, "Restriction on publication and dissemination of result of exit polls, etc.", s. 126A(1)–(3) and Explanation (a) — read 2026-10-01A third-party transcription of the Act, read in full on 2026-10-01. indiacode.nic.in and legislative.gov.in both refused our requests (HTTP 403), so the Gazette text has not been read directly and the edition is unverified. The wording quoted here matched this transcription exactly.Silence period under section 126(1)
Runs from 48 hours before the hour fixed for the conclusion of the poll to the close of that poll.
Typically 48 hours, per phase.
The Representation of the People Act, 1951 — section 126, "Prohibition of public meetings during period of forty-eight hours ending with hour fixed for conclusion of poll", s. 126(1)(a)–(c) — read 2026-10-01Same transcription caveat as section 126A. The page we read carried sub-section (1) only: the penalty in sub-section (2) and the definition of "election matter" in sub-section (3) are taken from the Commission's own advisories cited alongside, not from the statute text we read.
The provisions, and where they are unclear
Exit polls are barred outright for a notified window, with a prison term attached
Section 126A(1) bars conducting an exit poll and publishing, publicising or disseminating its result "during such period, as may be notified by the Election Commission in this regard". Sub-section (3) makes a contravention punishable with imprisonment of up to two years, or a fine, or both.
What that means here: This is the provision with the sharpest teeth, and the narrowest subject. Explanation (a) defines an exit poll as an opinion survey about how electors have voted, or about their identification of a party or candidate. interns.city runs no such survey and must never be read as running one.
The Representation of the People Act, 1951 — section 126A, "Restriction on publication and dissemination of result of exit polls, etc.", s. 126A(1)–(3) and Explanation (a) — read 2026-10-01A third-party transcription of the Act, read in full on 2026-10-01. indiacode.nic.in and legislative.gov.in both refused our requests (HTTP 403), so the Gazette text has not been read directly and the edition is unverified. The wording quoted here matched this transcription exactly.The window is set by a general order, not by a fixed date in the Act
Section 126A(2) requires the Commission to notify the dates and times by general order. For a general election the period may run from the beginning of the hours fixed for poll on the first day of poll until half an hour after the close of poll in all States and Union territories.
What that means here: There is no date in the statute to compute from. Knowing whether a period is in force means reading what the Commission has notified, which is exactly the thing this site has no feed for — so the flag below is set by hand and defaults to frozen.
The Representation of the People Act, 1951 — section 126A, "Restriction on publication and dissemination of result of exit polls, etc.", s. 126A(1)–(3) and Explanation (a) — read 2026-10-01A third-party transcription of the Act, read in full on 2026-10-01. indiacode.nic.in and legislative.gov.in both refused our requests (HTTP 403), so the Gazette text has not been read directly and the edition is unverified. The wording quoted here matched this transcription exactly.Opinion-poll results fall under the 48-hour silence period instead
Section 126(1)(b) bars displaying to the public any election matter "by means of cinematograph, television or other similar apparatus" in a polling area during the 48 hours ending with the hour fixed for the conclusion of the poll. The Commission treats the results of any opinion poll or other poll survey as election matter within that clause, and applies it to internet and social media as well.
What that means here: An aggregate that reads as resident or voter preference is closer to this clause than to section 126A. Whether a civic web page is "other similar apparatus", and whether complaint counts are "matter intended or calculated to influence or affect the result of an election", is not settled by the words. We hold no legal opinion and do not intend to find out the hard way.
The Representation of the People Act, 1951 — section 126, "Prohibition of public meetings during period of forty-eight hours ending with hour fixed for conclusion of poll", s. 126(1)(a)–(c) — read 2026-10-01Same transcription caveat as section 126A. The page we read carried sub-section (1) only: the penalty in sub-section (2) and the definition of "election matter" in sub-section (3) are taken from the Commission's own advisories cited alongside, not from the statute text we read.The Model Code of Conduct period is the long one
The Commission states that the Model Code of Conduct is enforced from the date it announces the election schedule and is operational until the election process is complete. Its FAQ also states that opinion-poll and exit-poll results may not be published, publicised or disseminated by print, electronic or any other media during the 48 hours before the close of poll, and for a multi-phase election from 48 hours before the first phase until all phases are complete.
What that means here: This is the window a reader is most likely to mean by "election time", it is the one that gets announced loudly enough for a person to notice without a feed, and it is weeks long. It is what the freeze follows.
Model Code of Conduct — frequently asked questions, Election Commission of India — read 2026-10-01An undated FAQ on the Commission's legacy site, so the date recorded is the date we read it. This is the Commission's own statement of when the Code starts and ends, and of the rule that opinion-poll and exit-poll results may not be published in the 48 hours before the close of poll — for a multi-phase election, from 48 hours before the first phase until every phase is complete.What one notified window actually looked like
For the 2026 assembly elections in Assam, Kerala, Puducherry, Tamil Nadu and West Bengal, the Commission is reported to have prohibited conducting exit polls and disseminating their results from 7:00 a.m. on 9 April 2026 until 6:30 p.m. on 29 April 2026 — twenty-one days, spanning every phase.
What that means here: Three weeks, announced by press release, covering five States and Union territories at once but not the rest of the country. A single national on/off switch is therefore cruder than the law is. Ours deliberately errs wide: see KNOWN_LIMITATIONS.
Report of the Election Commission's general order prohibiting exit polls for the 2026 assembly elections (Assam, Kerala, Puducherry, Tamil Nadu, West Bengal), 7:00 a.m. 9 April 2026 to 6:30 p.m. 29 April 2026 — read 2026-10-01A news report of the order, not the order itself. The Commission's release (Press Information Bureau, PRID 2248316) refused our request on 2026-10-01 (HTTP 403), so the dates and times of that window are reported here at press-report strength. It is cited only as a worked example of what one notified period looked like.
What the freeze holds back
None of these exists today. They are registered so that the first one cannot be built without passing the gate.
Any ordering of members by anything other than name or seat
An ordering is read as a verdict, and a verdict about candidates published during a campaign is the thing the silence period is about.
A responsiveness or closure-rate league
It aggregates residents' own reports into a per-member figure, which is the closest thing this site could produce to a preference survey.
A single computed score, grade or star rating per member
A composite hides its own weighting, and the weighting is an opinion about which duties matter.
A side-by-side comparison of two or more members
The frame asserts the two are measured on the same basis. One existed here until 2026-09-28 and was removed for claiming exactly that.
Complaint counts or resolution figures aggregated per constituency or ward
Mapped onto seats during a campaign it reads as a scoreboard for whoever holds the seat, whatever the caption says.
Anything aggregated by party
Party is the axis the law is most concerned with — and `party` is NULL on all 571 rows, so this cannot be built honestly in any case.
What it deliberately does not touch
A resident does not stop needing the office that fixes their road because a poll is coming.
A single member's record page
It states what our database holds about one person, with its defects, and compares them to nobody.
Office contact details and published helplines
A published office channel is a fact about an office, and a resident needing it does not stop needing it because a poll is coming.
The responsibility and ward explainers
Statutory powers and duties, cited. They say what a seat can and cannot do, which is not a measurement of anybody.
The whole issue loop — reporting, the agency ticket, the escalation ladder, the dossier
The clock runs on an agency's ticket and never on a person. Nothing in it names a candidate as better or worse.
The member directory at /representatives
A roster ordered by name, with no computed measure in it. A list is not a league.
This methodology page itself
Saying what we refuse to publish, and why, is not publishing it.
What is wrong with this switch
It is a hand-operated flag on a site with no feed of election notifications. Six things follow from that, and they are printed here rather than left for someone to discover.
- There is no feed. interns.city holds no subscription to Election Commission notifications and scrapes none, so the flag is set by a person reading announcements. It is only as current as its last check, and the date of that check is printed rather than implied.
- It is one switch for the whole country. A real notified period covers named States and Union territories — the April 2026 order covered five — so a national freeze is wider than the law requires. The direction of the error is deliberate: too much held back rather than too little.
- No lawyer has reviewed this. Whether a civic complaint aggregate is election matter within section 126(1)(b) is not settled by the words of the provision, and we have not obtained an opinion on it. The freeze is a precaution, not advice, and nothing here should be read as either.
- A cached page can outlive a flipped switch. Any comparative surface built later must consult the gate at request time rather than at build time, or a copy at the edge could keep serving after the period opens. The methodology page renders dynamically for this reason.
- The gate covers what this site renders. The public export at /api/mirror carries resident reports and cleanup drives and contains no member comparison today; if that ever changes, the export needs its own gate rather than inheriting this one.
- Nothing is being held back today, because no comparative surface exists to hold back. The gate shipped before the content it governs on purpose: it is far easier to require a permit when there is no page yet than to retrofit one onto a page people are already reading.
What we do not know
Measured against production with read-only requests on 2026-10-01, and kept in full in the repository as docs/known-data-defects.md and docs/data-provenance.md. Those documents are longer and blunter than this; nothing here is softened from them. This list is a floor, not a ceiling: almost every row has never been checked against anything, and a row absent from it is an unexamined row, not a verified one.
Nationally, across all 571 records
We do not know whether anyone in our table currently holds their seat. `term_start`, `term_end` and `is_current` are empty on all 571 rows.
What a visitor sees: No page claims a member is sitting. There are two states in the code and no third: known not sitting, with a dated and sourced event, or not checked. Absence of a flag means the check was not done, never that it came back clean.
What it would take to know: A membership roll. Parliament's own member endpoints have returned 404s and malformed responses, loksabha.nic.in does not resolve from this machine, and sansad.in carries no licence that would let us ingest it. A written, unapplied migration covers six rows; the other 565 need a source.
We do not know anyone's party. The column is empty on all 571 rows.
What a visitor sees: Party is not displayed anywhere and cannot be filtered on. It previously held a placeholder that labelled 522 members as independents, including sitting ministers; the whole column was blanked rather than leave a fabricated affiliation on a page.
What it would take to know: A source that can be cited per member. Nothing would be gained by re-importing the same scrape that produced the placeholder.
Our row count does not match the seats. 551 rows for 543 Lok Sabha seats, nine seats holding more than one row, and Wayanad holding none.
What a visitor sees: Each row has its own record page and none of them says the directory is incomplete. A resident searching for the Wayanad member finds nothing, and cannot tell that from there being no such seat.
What it would take to know: A source for who holds each duplicated seat today, a canonical spelling for three seats stored twice under two spellings, and a sourced row for Wayanad.
Every Rajya Sabha row stores something that is not a seat, because there is no such thing as a Rajya Sabha constituency.
What a visitor sees: The record page refuses to describe the value as a seat for those rows, labels the field as our database's own column, and explains why there is nothing to report. Two of the seven rows are known to store the wrong state as well, and both say so on the page.
What it would take to know: A decision on what an upper-house row should hold, a check on whether the column permits an empty value, and a migration addressing those rows by id.
We hold no verified contact channel for any member — no email, no phone, no website, and a Twitter handle on 47 rows with no date it was checked.
What a visitor sees: Pages say so in words. Office channels are published instead, from the responsibility and ward research: an office has a published channel, and a member's personal number is not ours to publish in any case.
What it would take to know: Permission to use Parliament's own member data, which is why a written permission request exists in the repository rather than a scraper.
We hold one date for four fields of different origins. Every row's dates are the April 2026 seed import, not the date any fact in it was true.
What a visitor sees: The record page shows that date and names us as the source, with a sentence saying that if you need an authoritative record this page is not it.
What it would take to know: Per-field provenance columns, filled by whatever import replaces the seed.
6members are recorded as known not to be sitting, each with the event, its date, the source and that source’s strength. Not one of those sources is a document published by Parliament or the Election Commission, which is stated on the record pages that carry them. Nobody at all is recorded as sitting, because nobody has been verified as sitting.
Per city
Gurugram — researched, as of 2026-09-29
9 categories of problem with a named executor, an accountable tier and a statutory basis; 36wards with councillor names checked against the corporation’s own data. What is still missing here: no record of what any office actually spent or built, no per-member scheme utilisation — the only source for it does not answer from our network — and several facts on the category pages that are marked not verified with the reason printed instead of the claim.
9other cities — not researched
interns.city takes reports in all of them. The responsibility explainer rests on two Haryana statutes and one Haryana notification, none of which applies elsewhere, so those pages do not exist rather than showing Gurugram’s offices under another city’s name. What it would take: the same work done against that state’s municipal act and that corporation’s own notifications.
- Delhi
- Noida
- Faridabad
- Mumbai
- Bangalore
- Chennai
- Hyderabad
- Pune
- Kolkata
Sources, licences and the obligations that come with them
Not restated here, because one register is better than two that disagree. /data-sources lists every dataset with its source, its licence, the date it was fetched, the attribution we owe and whether it may appear in a public export. Three consequences are worth naming on this page, because they are the ones that shape what this section can publish at all:
- The member roster derives largely from an encyclopaedia article under a share-alike licence. Our schema and row set are not that article’s, and the legal weight of a share-alike claim over a list of names and seats is low — but it is unanswered, so no representative record goes into the public export. The export’s own contents and its licence note are listed on the data-sources page.
- Parliament’s own member data carries no licence permitting reproduction. It is therefore not ingested at all, not even for the term dates that would close the largest gap above. A written permission request sits in the repository instead of a scraper.
- Boundary files and map services carry attribution terms, and two of those credits are still owed on pages that print a geocoded address as text. The data-sources page says which, rather than this page implying the account is settled.
If something here is wrong
Corrections are answered by the one person who builds and runs interns.city as an independent project, at admin@interns.city. There is no team and no form that files a ticket into one: one person reads these and replies. Send the URL of the page, what it says and what it should say, and a document we can read if there is one — a correction we cannot verify cannot be published either, which cuts both ways.
What happens next is written down rather than promised in the abstract:
- A claim we can check against a document gets changed, and the page then carries the new source and the date it was read.
- A claim we cannot check does not get silently dropped. The page says what was disputed, by whom, and that we could not verify either version — which is a worse page to read and an honest one.
- Where our database is wrong but we have no sourced correct value, the page says the stored value is wrong and keeps showing it. Printing a guess in its place would hide the defect instead of fixing it.
Every member’s record page also carries its own correction link, pre-filled with that member’s name and the seat our row stores, so a correction arrives attached to the row it is about.