Method — CivicTrue
CivicTrue

Method

Every rule we use to count, group and compare 311 requests, so anyone can check the work or repeat it.

The same rules apply to every city. Each city’s pages print the period and the date the data was pulled next to every figure.

Where the data comes from

Every figure comes from a city’s own public records: the 311 service requests it publishes on its open data portal. Each record is one request, with when it was filed, when it was closed, the agency that handled it, its type, its status and, where the city publishes one, its closing message.

We use requests filed in the period shown on the page, and compare the same months each year so the seasons don’t skew the result. District boundaries come from each city’s own planning or GIS office.

We don’t publish addresses or anything about who filed a request.

What we measure

Closed within a week
The share of requests filed in the period that the city marked closed within 7 days of filing. Requests that are still open count as not closed within a week.
Typical wait
The middle value of the time from filing to closing, among requests the city has closed: half closed sooner, half later. Shown in whole days, or “Under 1 day”. It leaves out requests that are still open, so it can read short where many are waiting.
Still open
Requests filed in the period that had no closed date when we pulled the data. A request marked “Closed” with no closed date counts as still open.
Requests filed
The number of 311 requests filed in the period. Where a city flags duplicates, they still count: each one is a resident who asked.
Excluding police
Where a city’s police department answers 311 requests, mostly noise and parking, we also show the figure without them. Police requests usually close within hours, so they would hide how other agencies are doing. A page says which figure it shows.
Problem
The request type the city records, in the city’s own words, with a plainer name for a few. For comparisons between cities, we map each city’s types to a short list of shared problems.

How we compare

Against a year earlier
The same months of the previous year. A change of 1 point or less counts as about the same.
Against the city
The citywide figure for the same period. A gap of half a point or less counts as about the same.
Typical wait
Compared in whole days. A difference of zero days counts as the same.
Not rated
A district, problem or agency with fewer than 50 requests in the period isn’t rated, because a few requests can swing the share.

▼ means slower, ▲ faster and ● about the same. Each mark always comes with words, so the meaning never depends on color alone, and reports read the same printed in black and white.

Comparing cities

Every city labels problems differently and has its own rule for what “closed” means. To compare them, we start from a short list of shared problems, such as potholes, street lights, illegal dumping, rodents and missed pickups, and match each city’s own request types to them by name. A city is left out of a problem when it has no type that clearly matches, and the page says so.

  • Same measure, same period. Each city gets the share closed within a week for the same months, from its own data, and requests per 1,000 residents so volumes can be compared.
  • Closing rules differ. Some cities close a request when the work is done; others close it when it is passed to the right crew. A high share closed the same day usually means the second, so we show that share alongside. A city’s benchmark is published once its closing rule has been confirmed with the city.
  • Dates without times. Some cities record the closing date but not the time. Their week is measured in calendar days, which can make it up to a day longer. The page marks them.
  • Small numbers. A city with fewer than 500 requests for a problem in the period is shown but flagged as weak.
  • Sudden changes. When a city’s share jumps or collapses partway through the period, a yearly average hides it. We note it next to the figure.

The full list of which request types count toward each shared problem is available on request.

Districts

Each city’s pages use the districts that city records on its own requests, such as council districts, wards or community districts. The page names which kind it shows. Where a city has more than one kind, their figures can’t be compared directly, because the boundaries don’t line up.

We place each request in the district the city assigns from the request’s location. Requests with no district count in citywide figures but in no district, and each city’s notes say how many that is.

What closed means

Closed isn’t the same as fixed. Where a city publishes the message an agency writes when it closes a request, we group those messages by the phrases they contain, such as “not able to gain access”, into what happened: the inspector couldn’t get in, a violation was issued, the problem was referred elsewhere, and so on. Shares are of closed requests.

  • A request with no closed date is open, whatever its closing message says.
  • When an agency rewords its closing messages, we don’t compare its outcomes across the change.
  • Outcomes are shown only for cities and agencies that publish closing messages. The full list of messages and their groups is available on request.

Unusual records

  • Closed the moment it was filed. Some requests have the same filing and closing time. They count as closed within a week.
  • Closed before it was filed. A few records close before they open, usually a date-only closing date. They also count as closed within a week.
  • Repeated rows. Where a city lists the same request more than once, we keep one copy.
  • Requests that rarely close. Some queues almost never get a closed date. They count as still open and lower the share closed within a week.

When the data changes

Cities update records after they publish them, including closed dates. Every figure is as of the pull date printed with it.

We keep a dated copy of each city’s data every month and a log of what changed between copies, so any figure can be traced to the data as it stood that day. Each update runs on the 8th of the month, because a month’s last requests need 7 days before “closed within a week” is settled.

Right of reply and independence

Any city office may reply to any figure, and we publish replies alongside it. Write to contact@civictrue.com.

CivicTrue is independent and not affiliated with any city government or 311 service. Paid subscriptions fund CivicTrue, and paying never changes a public number: city teams that pay see the same public results as everyone else.

City notes

How the rules above apply in each city we cover, and anything about that city’s data worth knowing.

New York City

Data: 311 Service Requests on NYC Open Data, published by the City of New York. Boundaries from the NYC Department of City Planning. Figures cover January to September 2026 against the same months of 2025, pulled November 1, 2026.

Districts: the free scorecard uses the 59 community districts. City Edition and council reports use the 51 council districts. About 2% of 2026 requests have no community district and about 3% no council district.

Police: the police department (NYPD) handled about 43% of 2026 requests. District views and council reports exclude them unless they say otherwise. NYPD reworded its closing messages in November 2025, so its outcomes aren’t compared across years.

Housing outcomes: closing messages from the housing agency (HPD) are grouped into: the inspector couldn’t get in, violations issued, and everything else. A message saying the inspector got into another apartment and issued a violation counts as violations issued.

Unusual records: about 2% of 2026 requests closed the moment they were filed, and under 0.1% closed before they were filed; leaving the second group out changes the shares by less than a tenth of a point. Some queues, such as helicopter noise reports, almost never close.