Portfolio

Transit Patrol Planner

From reported risk to explainable patrol routes.

A research prototype that combines risk ranking, operational constraints, and fairness checks for NYC subway patrol planning.

  • Classification
  • Geospatial routing
  • Fairness evaluation
  • Dashboard prototype
Transit Patrol Planner dashboard running on a laptop inside a subway car
Testing the route planner in its real transit context.
2020-2025
Analysis window
0.68
Holdout ROC-AUC
91.7%
Within-shift route rate
6 of 6
Fairness checks passed

The question

Can a patrol planner prioritize higher-risk stations without hiding its tradeoffs?

The prototype converts reported complaint patterns into station-level risk estimates, then builds routes that fit coverage, distance, and shift constraints.

It is designed as decision support. It does not predict individual behavior, automate enforcement, or replace human operational judgment.

Operational prototype

A route that can be inspected, not just accepted.

The interface keeps route geometry, stop-level risk, confidence, ETA, line coverage, and the reason for each recommendation visible together.

Dark Transit Patrol Planner dashboard with a subway map, route summary, and stop manifest

Evaluation trail

Each design decision is tied to an observable check.

Bar chart showing reported complaint risk-day rate increasing from 2.62 percent in 2020 to 4.75 percent in 2025
01

Start with the demand signal

The reported positive station-day rate rises across the analysis window, making temporal holdout evaluation important.

Bar chart comparing logistic regression and histogram gradient boosting on 2025 holdout metrics
02

Prefer the simpler model when performance is close

Logistic regression and histogram gradient boosting perform similarly, so interpretability remains a practical selection criterion.

Line chart showing precision, recall, and alert volume across decision thresholds with 0.25 selected
03

Select an operating point, not just a model

The 0.25 threshold makes the precision, recall, and alert-volume tradeoff explicit before scores enter route planning.

Geospatial layer

Stations are grouped by operating geography.

The station map associates locations with transit districts before routing. This makes district-level coverage and evaluation possible instead of treating the system as one undifferentiated network.

  • Station coordinates
  • Transit district membership
  • Network and line coverage
Scatter map of NYC subway stations grouped and labeled by transit district
Horizontal bars showing observed borough and transit-district fairness gaps below their guardrail thresholds
04

Check group-level gaps

Observed recall, false-positive-rate, and positive-rate gaps remain below the defined borough and district guardrails.

Route backtest chart showing the genetic algorithm beating random routes but not a top-risk heuristic
05

Benchmark the route optimizer honestly

The optimized route is operationally feasible and beats random routing, but the transparent top-risk baseline remains stronger on mean risk.

Scope and readiness

A complete research prototype, not a production system.

The work is strongest as a reproducible analytical artifact and dashboard prototype. Production security, live staffing integration, and outcome validation remain future work.

No automated enforcement or personalized risk decisions.

Project-readiness chart showing strong research completeness and low production integration maturity
06

State the boundary clearly

High research maturity does not imply production readiness.

Continue exploring

See the rest of my applied AI and software work.

Back to portfolio