Methodology
Counted. With a few footnotes.
What the numbers can tell you, and where they stop.
One Complaint, one submission
A Complaint is one anonymous submission. A Stink groups Complaints expressing the same underlying gripe. Its Tally counts published Complaints, not unique people. Someone can submit more than once, and a browser token is not proof of a distinct person.
One Complaint can belong to several Categories, so adding Category counts can count the same submission more than once. Rejected and pending Complaints do not enter public Tallies. Today and this week use UTC boundaries; all time means the published history of that Stink or Category.
Participation is voluntary. These are the submissions we received, not a representative survey, a population estimate, or a ranking of how happy a city is. A quiet count can simply mean few people have found the site.
How things get sorted
The Classifier uses AI to identify Categories, match or create a Stink, and decide whether text can be published. A safety check is not a fact check. Publication does not establish that a claim is true, and an AI-assigned Category can be wrong.
Rate limits and a bot check reduce abuse; they cannot establish one submission per human. When classification is unavailable, a Complaint can remain pending until it is checked. The Report button on a Stink page sends publication concerns for review.
What a Place tells you
A Complaint's Place comes from coarse connection-based geolocation. It can be missing or inaccurate and is not proof of residency or where an event happened. The Globe uses an approximate map tile, not a street address or GPS position.
Public Record is a separate count
Public Record data comes from official datasets. Depending on the source, it covers complaints, service requests, calls or enquiries. A 311 service request is not necessarily a grievance. A record is not necessarily a distinct person or incident.
We aggregate the published data by source, jurisdiction, category and month. Where an agency already publishes volume totals, we add those volumes rather than count the summary rows. Category mappings connect agency labels to StinkClub Categories; they do not make different agencies' definitions equivalent.
Official totals never enter StinkClub's Tallies, mint a Stink, claim a First or appear as a new Pulse. A panel names the jurisdictions it covers. Wider-area context does not become a fact about a smaller Place that has no imported coverage.
Coverage and freshness
Public Record panels select available data within the last twelve complete calendar months. Their dates describe the included records, not the import time. Missing sources or months limit coverage; an absent record is not proof that nothing happened. A national panel can include only the named participating jurisdictions.
Agency datasets can change after we import them. A research report is a dated snapshot edition: its coverage, source and stated preparation or refresh date apply to that edition. It does not update whenever the agency changes its dataset. Follow the source link for the agency's current publication, which may differ from our snapshot.
Comparing periods and places
Research comparisons use complete periods and identify the source and categories included. Comparing the same months in different years can reduce seasonal effects. Counts and percentages should be read together: a large percentage change from a small starting count can still describe very few records.
Reporting channels, definitions, coverage and residents' willingness to report differ by city and can change over time. Population adjustment alone does not solve that. A higher count does not establish worse services, more unhappy residents or the cause of a change.
Closed does not always mean fixed
A closure date records an administrative step in an agency's system. It is not proof of a completed repair or a satisfied resident. The panel's closure percentage is the number carrying a closure date divided by the included record total. Missing closure data can affect it, and different agencies use different closure practices.
The closure-time indicator combines available monthly category medians, weighted by the record count in each category-month. It is a rough summary of those medians, not the median or average of every individual request's duration. Open requests do not have a completed duration, so it should not be used as a promised response time.
Sources and reuse
Each Public Record panel credits its sources and links to official data. Research reports name their sources and reuse terms. We withhold imported sources when their republication terms remain unresolved. An agency's publication is not an endorsement of StinkClub or its interpretation.
A downloadable aggregate file carries the terms identified with that report. Follow the original publisher's licence and attribution requirements when reusing its data. Public availability alone does not settle reuse rights.
Something does not add up?
See About StinkClub for corrections and contact. Our privacy page explains what is stored and what is public. Browse the research reports for findings with their sources attached.