Skip to main content
JUN 15, 2021
1min read 185 words 1 images

Clusters of NYPD Misconduct

The Challenge

Gothamist/WNYC had obtained a massive dataset of NYPD civilian complaints—years of misconduct allegations, but no way to see the patterns. The question wasn't just "which officers have complaints?" It was: do certain officers influence others to misbehave?

What I Built

A network graph connecting 29,915 officers through 159,671 relationships—shared complaints, shared precincts, shared incidents. Built with Neo4j for graph queries and Gephi for visualization.

The analysis revealed:

  • Officers cluster into groups with similar complaint patterns
  • Certain "catalyst" officers appear connected to spikes in misconduct among nearby officers
  • Transfer patterns sometimes spread problematic behavior to new precincts

Validation

When Gothamist reporter George Joseph interviewed victims, they confirmed what the network showed—certain officers were known as "leaders" who other officers followed into misconduct. The math matched the reality on the ground.

Why This Matters

I documented the complete methodology so other journalists can replicate this analysis for their own police departments. The same techniques work anywhere you have officer complaint data—which, thanks to state transparency laws, is increasingly common.

Open-source accountability tools. That's the point.

If you found value in this, consider supporting my work

github ·