Start with one train’s journey.
Each row is a station and time runs left to right, so every diagonal is one train heading downtown. The bright train takes noticeably longer between 42 St and 34 St.
Track maintenance keeps the subway running, but trains may need to slow down as they pass a work zone. The challenge was connecting work requests to the train trips affected, so teams could understand which work locations and times were associated with the greatest delays.
I linked 6 million train arrival records with 490,000 work orders using track, time, and location. I then compared travel times through work zones with typical times for the same segment, direction, and time of day. This estimated the additional train running time associated with track work.
The findings helped leadership align on moving high-impact midday work into overnight windows. I also automated the analysis with Airflow and Spark SQL so teams could refresh it daily and examine earlier periods. The results below describe observed additional train running time; they do not represent passenger hours or time saved after a schedule change.
- ≈64 sec
- additional running time per affected segment
- ≈58 h
- additional train running time on one corridor over three months
- 6M × 490K
- arrivals matched to work orders