Skip to content

Reproduce Kansas City COVID-311 paper on SF data - #14

Open
alexstorer wants to merge 1 commit into
mainfrom
experiment/covid-kc-reproduction
Open

Reproduce Kansas City COVID-311 paper on SF data#14
alexstorer wants to merge 1 commit into
mainfrom
experiment/covid-kc-reproduction

Conversation

@alexstorer

Copy link
Copy Markdown
Member

What

Reproduces Tran, Bani-Yaghoub & DeLisle (2023), "Non-emergency responses in the 311 system during the early stage of the COVID-19 pandemic: a case study of Kansas City" (DOI:10.20517/dpr.2022.08, CC-BY 4.0) against SF 311 data, same Mar–Aug 2019-vs-2020 window. Adds scripts/covid_category_reproduction.py, three processed tables, a figure, and a README section.

Scorecard

Paper's claim (Kansas City) SF result Reproduces?
Aggregate decline (KC −13%) −10.9% (328,494 → 292,829) ✅ yes
Decline not universal 7 of 23 interpretable categories rose, 16 fell ✅ yes
Street-condition categories fall Street Defects −46%, Streetlights −18%, Blocked Street −17% ✅ yes
Text-mine free-text to tag COVID (KC 4.3%) Not possibleservice_details is categorical; 0 of 18 keywords discriminate ❌ no
Channel shift toward phone Opposite — SF shifted to Mobile/Open311 (56→60%); phone fell (28→25%) ❌ no

SF category movers and noise–graffiti divergence

Novelty verdict

The paper's robust findings reproduce, which only adds SF as a confirming third city. The two things worth recording:

  1. The paper's signature text-mining method does not generalize to SF — the description field is a categorical subtype label, not narrative, so the discriminating pandemic vocabulary (covid/mask/corona/quarantine/social-dist) never appears. The 199 raw keyword hits are generic-word false positives (ppe inside shipped, actually more common in 2019).
  2. SF is a strong "noise-up" data point (noise +80%, graffiti −14%) against the paper's NYC-up/Dallas-down split — sharpening this repo's existing inverse graffiti↔noise finding into an explicit COVID-mobility story.

Notes / caveats

  • All-category counts come from Socrata aggregation queries (no bulk download); noise/graffiti windows are cross-checked against the committed raw files as a validation assert.
  • SF's taxonomy is messier than KC's — relabeling artifacts (Muni Employee/Service Feedback, Abandoned Vehicle −90%) are flagged and excluded from interpretation.
  • Channel comparison is SF's overall mix vs the paper's COVID-subset split (suggestive, not like-for-like).
  • Reference PDF is git-ignored and cited by DOI.

Closes #13

🤖 Generated with Claude Code.

Tests the four core claims of Tran et al. (2023, DOI 10.20517/dpr.2022.08)
against SF 311, same Mar-Aug 2019-vs-2020 window. Results:

- Aggregate decline reproduces: SF -10.9% (KC -13%).
- Category heterogeneity reproduces: street-condition categories fall with
  reduced mobility while noise, DPH, and residential-building requests rise.
- The paper's signature text-mining method does NOT generalize: SF's
  service_details is a categorical subtype label, not a narrative, so 0 of 18
  COVID keywords discriminate (raw hits are generic-word false positives like
  'ppe' in 'shipped', which is actually more common in 2019).
- Channel shift is opposite: SF moved toward the Mobile/Open311 app, not phone.

The novel angle in this repo's context is placing SF as a strong "noise-up"
city (noise +80%, graffiti -14%) against the paper's NYC-up/Dallas-down split,
which reframes our existing inverse graffiti-noise finding as a COVID-mobility
mechanism. All-category counts come from Socrata aggregation queries (no bulk
download); noise/graffiti windows are cross-checked against the committed raw
files. Reference PDF is git-ignored and cited by DOI. Refs #13.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alexstorer

Copy link
Copy Markdown
Member Author

⚠️ Heads-up before merging: the "text-mining not reproducible on SF" conclusion in this PR is now in question — see #17.

The keyword probe here only checked service_details (categorical → 0 hits). It did not check status_notes, which does contain COVID free-text: 13,235 rows mention "covid" in the Mar–Aug 2020 window (plus 2,149 "social dist", 1,272 "pandemic").

Caveat that #17 asks to resolve: those status_notes look like agency disposition text ("Outreach provided per CDC Covid-19 guidelines…"), not citizen request text — so they may measure COVID-handled cases rather than COVID-motivated requests, which is a different thing than the paper's method. Worth resolving #17 before this claim lands as-is.

🤖 Generated with Claude Code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experiment An idea/hypothesis to test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Experiment: reproduce Kansas City COVID-311 paper (Tran et al. 2023) on SF data

1 participant