A weekly view of rail service.
Follow a railroad’s train speed, terminal dwell and operating activity over time, using its reports to the Surface Transportation Board.
Four measures · History since March 2017Weeks ending March 25, 2017–May 3, 2025. Legacy CP only; Sunday–Saturday periods.
Loading weekly service data…
Weekly snapshot
Values reported by CP (historical) to STB · Changes calculated by RailStats.orgSelect one to four cards to compare measures. One measure shows original units; two or more show relative change.
Coverage: weeks ending March 25, 2017–May 3, 2025. Missing and conflicting values remain gaps. Known methodology changes are marked; CP, KCS and CPKC are separate series.
Swipe horizontally to see the full chart.
Trains held: reported causesCrew, locomotive power and other
Average trains holding per day
Reported values · Weekly average
How to read this
- How CP (historical) counts
- Legacy CP reports average daily trains delayed at least six hours at one location, assigning the cause with the greatest delay time when several occur.
- Crew
- The carrier’s crew-related cause category. Detailed circumstances are not identified by the category alone.
- Locomotive power
- The carrier’s locomotive-related cause category. The reviewed methodology does not distinguish locomotive availability, failures or other subcauses.
- How causes are assigned
- For crew, locomotive power and other, legacy CP assigns the cause with the greatest delay time at the location. Detailed subcause definitions are not supplied.
- Other
- The remaining reported cause category. The reviewed methodology does not provide a detailed list of its subcauses.
- What the figures cannot tell us
- These are average trains held per day, not hours of delay or unique trains delayed during the week. Category totals do not identify individual incidents. Methodology examples do not establish what happened in the selected week.
Methodology documents describe reporting practice; they do not establish unchanged methods throughout the history. Selected-week notes and known changes remain available below. CP (historical) methodology, Item 5 ↗
Notes in the selected workbook
Reported trains held over time
Swipe horizontally to see all reporting weeks.
Weekly values by reported cause
| Week ending | Crew | Locomotive power | Other | Total | Official source |
|---|
Selected-week details by train type
| Train type | Crew | Locomotive power | Other | Reported total | Railroad note |
|---|
Reporting details and limitations
Trains held is a reported daily average, not a weekly count of unique delayed trains. The three reported causes are crew, locomotive power and other. Collection methods differ across railroads.
Legacy CP reports average daily trains delayed at least six hours at one location, assigning the cause with the greatest delay time when several occur.
Exact reported values and calculated changes
Source review notes
Charts preserve the individual workbook’s reported values and precision. Differences between totals and their components are disclosed without adjusting the figures. Missing values remain unavailable, not zero. The original sources are linked for each week.
Terminal dwell, by location
Average hours at the ten terminals listed in the selected CP (historical) report. The terminal list can change over time. Cars on run-through trains are excluded. Locations stay in source order; this is not a terminal ranking.
The system average is reported separately. It is not calculated here by averaging these ten locations.
Know what each number measures.
This page uses historical individual STB workbooks checked against the consolidated reference, with date and identity checks. Sources were retrieved September 20, 2026. Reporting periods and file dates are shown separately.
Open selected official workbook ↗STB Rail Service Data page ↗Reported values and calculated changes
The four measures are reported in STB Items 1, 2, 3 and 5. Worksheet names and cell addresses change across historical layouts; each downloaded source record preserves its exact headline cells and original reporting periods.
Weekly change = selected week − preceding week. Percent change = weekly change ÷ preceding week × 100. A zero or unavailable prior value leaves the percentage unavailable. Displayed values are rounded; calculations use source precision.
When two or more measures are selected, index = reported value ÷ value in the first displayed week × 100. The baseline is the same reporting week for every selected measure and resets when the displayed starting week changes. A zero or missing starting value leaves that measure’s index unavailable. Original units remain in the cards and table. An increase is not automatically an improvement, and shared movement does not establish cause.
What these measures do—and do not—tell you
Train speed is an operating measure, not an end-to-end delivery promise. Terminal dwell describes time at terminals and is separate from train speed. Cars online is a weekly average, not carloads originated or delivered. Trains held is an average number per day, not a weekly total.
More or less activity is not automatically better or worse service. No composite score or national average is calculated.
Coverage and source limitations
This explorer offers four measures over the reviewed historical coverage. Grayed-out cards identify measures unavailable in the loaded coverage. Individual reporting does not establish cross-railroad comparability.
Other individual views have reviewed histories with explicit source gaps. Legacy CP and KCS remain separate; combined CPKC starts in May 2025. The comparison tab has a separate, bounded methodology review. CN is available individually while its terminal-time treatment needs clarification for comparisons.
Reporting populations and terminal lists can change. Known definition changes are marked; an undated methodology is not proof of unchanged practice since 2017. Source notes explain precision differences and non-additive totals.
Individual measures: methodology and source notes · Download data and source records (JSON)
