Boston Urban Hazard Maps 311 sharps & encampment data
Data: data.boston.gov · Updated May 12, 2026 at 07:04 AM

How the City Can Fix This

Boston's 311 system has no category for human waste. Reports get filed under street cleaning, closed as out-of-scope, and the waste stays on the sidewalk. Here are three ways to fix it — from a no-politics software patch to a full-service model other cities have already built.

The Current System Is Broken

Right now, when a Boston resident reports human waste through 311:

  1. The BOS:311 app offers no matching category. Only 16 service types are exposed to the app out of 162+ internal ticket types. None of them are "human waste" or "biohazard."
  2. Most people select "Requests for Street Cleaning" — the closest option. This routes the ticket to Boston Public Works (BPW) street sweeping crews.
  3. BPW can't handle the biohazard — and the system gives workers no way to reroute the ticket to a team that can. Their only option is to close it with "bpw does not service human waste."
  4. The ticket is marked "closed" in city data. It looks resolved. It isn't.

Our NLP classifier has identified 132 human waste reports buried in street cleaning tickets. The city has no count of these because the data doesn't have a category for them. Read the full methodology for how we detect them.

The Missing Reroute Button

Even if the city adds a human waste category tomorrow, there's a second bug that affects every misrouted ticket in the system: workers who receive a ticket outside their scope have no way to forward it to the right team. Their only option is to close it.

This is a distinct problem from the missing category. A street sweeping crew that gets a biohazard ticket should be able to reroute it to the biohazard queue with one click — the way email forwarding works. Instead, the ticket dies in their queue, the resident gets a "closed" notification, and the waste stays on the sidewalk.

What should change: Add a "reroute to department" action in the Creatio CRM so workers can forward misrouted tickets instead of closing them. This keeps the ticket alive until it reaches a team that can act on it. The new Creatio platform supports workflow routing — this is a configuration change.

What Other Cities Have Already Done

Boston is not the first city to face this. Three cities have built dedicated systems for human waste reporting — and their solutions range from simple category additions to full-service cleanup programs.

San Francisco Active since 2008
"Human or Animal Waste"
Department Dept. of Sanitation & Streets
Response SLA 12–24 hours
Volume ~65 reports/day; 4,000+/month peak

SF's dedicated category enabled a peer-reviewed study in PLOS ONE ("Privy by the Bay") analyzing waste report patterns from 2009–2022. In 2018, the city created a "Poop Patrol" — a 6-person crew with steam-cleaning equipment that proactively patrols hotspots. This research and response was only possible because the data was categorized correctly from the start.

Portland, OR Active
"Biohazard"
Department Public Environment Mgmt Office (PEMO)
Response SLA Same-day (8am–10pm)
Reporting PDX Reporter app, 311, email dispatch

Portland consolidated biohazard, needles, encampments, graffiti, and dumped garbage under a single office (PEMO) that handles all public environment issues. Biohazard is an explicit, separate category — not lumped with general trash. Boston's SHARPS team already handles needles; extending to human waste is a natural expansion of this model.

Albuquerque New — launched 2024
Human feces cleanup via 311
Department Environmental Health Dept.
Response SLA 24–48 hours
Cost ~$62.50 per callout

This is the closest precedent to what Boston needs. City Council passed it unanimously in February 2024. From proposal to operational in ~3 months. The city hired a biohazard contractor (Specialized General Services) with PPE and specialized equipment. Before the program: 399 calls/year. After launch: 1,600+ calls in the first quarter alone — proving the demand was always there, just invisible.

Initial $100K budget was depleted within months, leading to a second Council allocation of $300K. Projected ongoing cost: ~$700K/year.

For comparison: New York, Seattle, Los Angeles, Denver, Houston, and Chicago all lack a dedicated human waste category. In each city, waste reports get buried under "dirty sidewalk," "illegal dumping," or general sanitation tickets — the same problem Boston has. These cities cannot measure the scope of the issue because their data doesn't distinguish it.

Three Ways to Fix It

These options are not mutually exclusive. Option 1 can ship this month with no political action. Options 2 and 3 require city buy-in but align with the ongoing Creatio CRM migration.

Option 1

NLP Classifier on Closed Tickets

No political action needed Weeks to deploy

Run a text classifier on every 311 ticket when it closes. If the closure notes or description match human waste patterns, automatically open a new ticket routed to the biohazard vendor. No new button in the app, no retraining call center staff, no council vote.

How it works

  1. Ticket closes in the CRM (Creatio or legacy Lagan)
  2. Post-close webhook triggers NLP classifier on the ticket text
  3. If classified as human waste (high confidence), a new ticket is auto-created with the original location, routed to the biohazard contractor queue
  4. Original ticket stays closed for street cleaning metrics; new ticket tracks biohazard response separately

Why this works

  • Sidesteps the "new button" political process entirely
  • Works on the existing ticket flow — no resident behavior change needed
  • Catches waste reports filed under any category, not just street cleaning
  • Our open source classifier already exists and is validated (98% recall, 0 false positives on 32K records)
  • The new Creatio platform supports no-code workflow automation — this is exactly the kind of rule it was designed for

What the city needs to do

  • Designate a biohazard contractor (or expand the existing SHARPS vendor contract)
  • Create a "Biohazard Cleanup" queue in Creatio
  • Deploy the classifier as a post-close automation rule
Option 2

Add a 311 Category During the CRM Migration

Requires DoIT coordination Months (aligns with Creatio rollout)

Add "Human Waste / Biohazard" as a visible category in the BOS:311 app, the 311 phone scripts, and the Creatio web portal. Route it to the appropriate department with a defined SLA.

Why now is the right time

Boston is in the middle of migrating from its legacy Lagan CRM to Creatio, a cloud-based platform. As of April 2026, roughly half of 311 operations have transitioned. Categories are actively being "renamed, consolidated, split, or retired" during this migration. The Keen311 platform explicitly supports no-code creation of new case types.

Adding a category during an active migration is far easier than retrofitting one into a stable system. The technical barrier is essentially zero — this is a configuration change, not a software development project.

The Albuquerque playbook

Albuquerque's City Council passed this unanimously in February 2024. The resolution directed the administration to: (1) engage a biohazard contractor, (2) coordinate with 311 to create a reporting mechanism, (3) track locations and volume. From proposal to operational in ~3 months.

Boston's Committee on City Services and Innovation Technology, chaired by Councilor Edward Flynn, has jurisdiction over exactly this.

The ownership question

The real blocker isn't technology — it's which department owns the response. BPW explicitly rejects human waste. Options:

  • Expand the SHARPS vendor contract — Boston already has a Mobile Sharps Team for needle pickup. Adding biohazard cleanup to the same contract is a natural extension.
  • Inspectional Services (ISD) — handles code enforcement and health inspections. Could own the queue and dispatch contractors.
  • Boston Public Health Commission (BPHC) — handles public health emergencies. Logical owner but may lack field operations.
  • Outside contractor — Albuquerque's model. City contracts with a biohazard specialist at ~$62.50/callout ($700K/year projected).
Option 3

Public Environment Office (Portland Model)

Requires political will + budget 6–12 months

Create a single office — like Portland's Public Environment Management Office (PEMO) — that handles all public right-of-way environmental hazards: biohazard waste, needles, encampment cleanup, illegal dumping.

What Portland's PEMO handles

  • Biohazard (human waste, medical waste, drug paraphernalia)
  • Encampment cleanup and outreach coordination
  • Graffiti removal
  • Illegal dumping
  • Dedicated dispatch email with same-day response

Boston already has pieces of this scattered across departments — SHARPS team for needles, BPW for street cleaning, ISD for code enforcement. A PEMO-style consolidation would eliminate the routing failures by putting everything under one roof with one dispatch workflow.

San Francisco's evolution

SF started with just a 311 category (2008), then added the "Poop Patrol" proactive team (2018), then installed Pit Stop public restrooms at hotspot locations identified by 311 data. Each step was informed by the data from the previous step. The 311 category was the foundation that made everything else possible.

Beyond Human Waste: What Else Is Falling Through the Cracks?

The NLP-on-close approach (Option 1) isn't limited to human waste. If you run text classification across all closed 311 tickets, you can detect systemic patterns:

  • Tickets closed with "not our department" language — misrouted requests that were never re-routed
  • Tickets closed within minutes of opening — likely auto-closed or rejected without review
  • Tickets with closure notes that contradict the reported issue — e.g., "area cleaned" on a report about a structural hazard
  • Categories with abnormally high closure rates and low resolution rates

This kind of analysis is on our roadmap. The same open data that let us find buried human waste reports can reveal other categories where the 311 system is accepting reports it cannot or does not resolve.

142,000 Invisible Tickets

Boston publishes its 311 data in two ways: a bulk CSV download on data.boston.gov, and a real-time Open311 API. Most researchers, journalists, and the city's own dashboards use the bulk download — it's faster, easier, and covers standard categories like potholes, graffiti, and street cleaning.

But the bulk data is missing an entire category. When a resident opens the BOS:311 app and taps "Other" — because none of the 16 visible categories fit their problem — the ticket is filed as a "General Request." These tickets do not appear in the bulk CSV at all. They exist only in the Open311 API, which is rate-limited to 10 requests per minute and returns 100 results per page. Retrieving them requires day-by-day scraping over months of data — a process that takes specialized tools and hours of compute time.

We built a scraper and pulled all of them. The result: 142,946 tickets filed between January 2023 and April 2026 that are completely invisible in the city's public bulk data. Among them:

  • 2,400+ human waste reports — 60% still open, median age 624 days
  • 9,200+ encampment reports — 26% still open
  • 13,499 tickets that were never reclassified by staff and sit in a permanent black hole — open, unread, unresolved
  • 47,567 tickets (33% of total) still marked "open"

The median time to close a ticket filed under "Other"? 428 days — over a year.

Why This Is a Data Architecture Problem

This isn't a transparency issue — the data technically exists. It's an architecture problem. The city's open data portal (CKAN) only indexes tickets filed under standard service types. The "Other" category falls outside that index. So anyone using the bulk data — researchers, journalists, the city's own performance dashboards — is working with an incomplete picture.

The Open311 API has the data, but it's designed for app integrations, not bulk analysis. Its rate limit (10 requests/minute) means pulling a full historical dataset requires hours of patient scraping with retry logic. A journalist on deadline or a council staffer running numbers before a hearing will never find these tickets. Only someone who knows the API exists, knows the rate limits, and has the tools to work around them can extract this data.

The fix is simple: include "General Request" tickets in the bulk CSV export on data.boston.gov. This is a configuration change in the CKAN data pipeline — the records already exist in the city's CRM. Until that happens, 142,000 constituent reports remain invisible to everyone except the city's internal staff.

The Public Data Is Missing the Evidence

The data transparency problem goes beyond invisible tickets. We compared the city's public bulk data (data.boston.gov) against the same tickets in the real-time API, record by record, across five ticket types and 420 matched tickets. The bulk data systematically strips out the citizen's own words and photos from every ticket.

Ticket Type Matched Descriptions in API Descriptions in CKAN Photos in API Photos in CKAN
Needle Cleanup 52 94.2% 0% 84.6% 0%
Encampments 14 85.7% 0% 42.9% 0%
Pothole Repair 255 81.2% 0% 81.6% 0%
Dead Animal Pickup 39 100% 0% 35.9% 0%
Sidewalk Repair 60 96.7% 0% 81.7% 0%

Zero percent. Across 420 matched tickets and five different categories, not a single citizen description or photo made it into the public data download. The submitted_photo column exists in the CSV but is universally empty. The description field does not exist at all.

These aren't obscure metadata fields. When a resident reports "Sidewalk is badly broken — people are tripping and falling" and attaches a photo, that's the core evidence of the complaint. The public data reduces it to a ticket number, a category, and a close date. You can count the tickets, but you can't read them.

What This Means for Accountability

Without descriptions, no one outside city hall can verify whether a "closed" ticket was actually resolved. A needle report closed as "Case Closed. Resolved" — did someone pick up the needles, or did the ticket just expire? The API has the staff's status notes. The public data has a truncated closure_reason that often says nothing useful.

Without photos, the severity of the problem is invisible. A pothole report with a photo of a car-swallowing crater looks different from one about a hairline crack. In the public data, they're both just "Request for Pothole Repair: Closed."

How to Reproduce These Results

Our comparison tool and full methodology are open source. To verify: pull any ticket from the Open311 API by its service_request_id, then look for the same case_enquiry_id in the CKAN bulk download. The description and photo will be missing from CKAN every time.

Who Needs to Act

Technology
Boston Digital Service

Owns the 311 CRM platform and Creatio migration. Can configure new case types and automation rules.

digital@boston.gov · 617-635-4500
City Council Oversight
Committee on City Services & Innovation Technology

Chaired by Councilor Edward Flynn (D2). Has jurisdiction over 311, Public Works, and Inspectional Services.

CIO
Santiago Garces

Chief Information Officer. Leading the 311 modernization. Previously CIO of Pittsburgh and innovation officer of South Bend.

What This Data Doesn't Show

The 311 data we map is only part of the picture. At least two major cleanup operations in Boston track their own data separately — meaning the true scale of the problem is larger than what appears on our map.

  • Newmarket Business Improvement District — operates its own needle pickup team in the Newmarket area, one of the highest-density zones for sharps activity. They track this data and share it with the city, but it does not appear in the 311 open data feed.
  • Boston Public Health Commission — has a citywide needle pickup team that handles a significant volume of sharps removals. This data is also absent from the 311 feed.

This means neighborhoods served by these teams — particularly Newmarket, South End, and surrounding areas — appear lower-risk on our map than they actually are. A unified reporting system (see Solution 1 above) would capture all cleanup activity in one place, giving the city and public an accurate picture of the problem.

The Data Behind This Proposal

This proposal is backed by our analysis of Boston's open 311 data:

If you're a journalist, researcher, city official, or community organizer who wants to use this data, everything is freely available. We built this to make a hidden public health problem visible — and to show that solutions already exist in other cities.

How the classifier works → Back to the map →