01 / A PLATFORM IS AN OUTCOME
Before a track appears on the board, the train is already telling a story.
The useful question is not simply “Where is the train?” It is “What does the evidence available now tell us about the platform that will be announced later?”
Penn Pilot observes operational signals and compares its forecasts with NJ Transit’s official DepartureVision assignments. This study follows that chain: the physical station, the circuit observations, the model’s decisions, and the outcomes that can tell us whether those decisions were useful.
The empirical analysis here covers NJ Transit records in Penn Pilot’s database. Amtrak and LIRR appear in the operational explanation, but their movements are not included in the forecast accuracy figures. The data stop at 1:00 AM Eastern on September 11, 2026. These are historical observations, not a live dispatch display.
02 / WHAT HAPPENS UNDERGROUND
A terminal for some trains.
A waypoint for others.
Penn has 21 station tracks, but a single operating pattern does not describe them all. Some trains reverse direction at a platform. Others continue with passengers. Still others unload and keep moving to a yard. The approaches and platform connections constrain which of these movements are possible.[1][2]
Choose a pattern below. The solid line brings a train into Penn; the dashed line shows where it goes next. The animation uses a deliberately simplified junction layout. It explains the operation without pretending to be a dispatcher’s switch diagram.
Four ways through Penn
INTERACTIVE SCHEMATICAn inbound train stops at a platform, changes operating direction, and returns toward New Jersey. The train does not physically rotate.
Operating scenarios, not live train positions. Paths bundle junctions and tunnel connections; they are not a switch plan. Track choices and animation duration are illustrative. Solid line: arrival. Dashed line: onward movement. Based on Amtrak’s station diagrams and operating studies.
“Turning around” usually means reversing direction.
A platform turnback sends the train back in the direction it came from. It does not imply the whole train rotates on a loop or turntable. The stub-ended eastern ends of Tracks 1–4 make the distinction especially visible: those tracks do not continue through to the East River tunnels.[1][2]
For a drop-and-go movement, passengers get off and the equipment keeps traveling beyond the station. LIRR uses West Side Yard in Manhattan; NJ Transit and Amtrak use Sunnyside in Queens. A historical Amtrak operating presentation also describes NJ Transit movements around Sunnyside’s perimeter loop, which differ from simply storing a train on a yard track.[3][4]
Those are real operating patterns, not labels we can automatically attach to every circuit sequence. A transitional circuit is a location signal between more informative observations; it is not necessarily a siding. Nor does a new train number prove that equipment was swapped. Establishing a physical train’s next assignment requires consistent vehicle or car identifiers and a sufficiently complete sequence of observations.
03 / FROM SIGNAL TO EVIDENCE
A circuit name is not a platform number.
RailData exposes an internal track-circuit identifier with a vehicle sighting. DepartureVision supplies the official departure-platform assignment. Penn Pilot links the observations by train number and scheduled departure time, then resolves the circuit evidence once an official platform is available.[5][6]
That produces an empirical distribution. For a circuit c, count how often the associated departures ultimately received each platform k. A concentrated distribution can be useful. A circuit shared by many movements may tell us very little on its own.
P̂(track = k | circuit = c) = n(c, k) / Σⱼ n(c, j)Of the circuits in this extract, 21 have at least ten resolved records and a single platform accounting for at least 90% of them. That is a description of this sample. It is not a guarantee about the next departure.
Where did this circuit’s departures end up?
POOLED HISTORICAL ASSOCIATIONS99.2% of resolved records at this circuit were associated with Track 1.
0.07 bits of empirical platform entropy. Zero means only one platform appeared in this sample.
Reviewed rule → Track 1 as of the source version used for this article. A retrospective majority does not automatically qualify a circuit for forecasting.
P(official platform | retained circuit), pooled over the stated study window. Each departure contributes at most once to a given circuit, but can contribute to several circuits. This is an association chart, not a track-connectivity map or held-out accuracy estimate.
Watch the evidence accumulate.
Below are selected departures with multiple retained circuit records. The replay advances through actual collection timestamps and ends when the outcome was recorded. It intentionally lives outside the station map: circuit codes in the database do not establish precise geographic coordinates or every switch traversed between observations.
A departure’s retained observations
MEASURED TIMESTAMPS · NO SPATIAL INTERPOLATIONTrain 3215 to Long Branch
- 01F1-70RTKLast retained sighting
- 02F1-715RLast retained sighting
- 03F1-4E25TKLast retained sighting
- 04CC-4E22TKLast retained sighting
- 05CC-4E20TKLast retained sighting
- 06CC-4E15TKLast retained sighting
- 07CC-4E07TKLast retained sighting
- 08CC-4E04TKLast retained sighting
- 09CC-619PLast retained sighting
- 10JO-515DNLast retained sighting
- 11JO-AJO13ATKLast retained sighting
- ✓Official Track 9Outcome recorded
11 distinct circuits retained over 32.8 minutes before the outcome was recorded. The sequence is ordered by collection time. Repeated visits to the same circuit have been collapsed. No geographic position, speed, continuous route, or equipment identity is inferred by this replay.
What the replay leaves out is scientifically important.
The circuit table has one row per train, departure, and circuit. While a departure is unresolved, another sighting of that same circuit updates the row. The resulting timestamp is the last retained collection time, not the first entry time. Revisiting a circuit can therefore reorder the apparent sequence. Of the usable departures, 184 have more than one retained circuit.
These records support platform associations and examples of retained observation order. They do not reconstruct continuous trajectories, exact circuit occupancy, platform dwell, or the frequency of turnbacks and yard moves. Those measurements would require an append-only event stream and validated physical topology. The coordinates do not fill the gap: 99.3% of usable circuit records with coordinates share the same coordinate pair. Treating those values as precise positions would create a misleading animation.
04 / FORECASTS MUST EARN THEIR CONFIDENCE
Evaluate the decision.
Then evaluate the silence.
The inspected production code first checks a reviewed circuit-to-platform map. If that does not produce a forecast, it can use an early numeric RailData track within its departure-time window. DepartureVision remains the official source. The map assigns fixed confidence values to reviewed circuits; the numeric-track fallback uses historical outcomes with smoothing.
This is a rule-based, selective forecasting system. The current path is not a neural network, and the presence of historical ensemble tables does not mean the public board is running that older ensemble. Accuracy should be evaluated alongside abstention, calibration, and timing.
How the stored forecasts performed
ONE FORECAST RECORD PER DEPARTUREOne stored forecast per train/departure. Uses the recorded outcome at resolution, excludes forecasts whose stored timestamp is at or after the first known official/outcome timestamp, and isolates the circuit-model version label. Repeated trains and operating days are correlated; the interval is not a clustered uncertainty estimate.
The calibration and timing charts below summarize the full circuit-model cohort, regardless of the forecast-group selection above.
Confidence is a claim to test.
Observed accuracy versus mean stored probability.
Read calibration values
| Probability bin | n | Mean confidence | Accuracy |
|---|---|---|---|
| 80%–85% | 128 | 83.2% | 99.2% |
| 85%–90% | 321 | 88.4% | 98.4% |
| 90%–95% | 218 | 90.6% | 99.1% |
| 95%–100% | 598 | 95.0% | 100.0% |
How much earlier was the signal?
Median 15.2 minutes · n=1,185 matched forecasts.
Minutes from the stored forecast’s last recorded revision to the audit’s first official assignment. Middle 50%: 9.4–23.3 minutes. Only positive leads with an audit match are included; this is not first-ever-prediction lead time.
Look directly at the misses.
The 8 recorded misses below are departures, not repeated refreshes. Even a strong retrospective hit rate leaves room for operational changes and incorrect signals. A daily block bootstrap gives a 98.9–99.7% interval for pooled accuracy across the observed days; this short study still cannot establish performance under future disruptions.
Inspect every recorded miss in this cohort
| Date | Train / line | Forecast | Official |
|---|---|---|---|
| 2026-08-31 | 3875 / NEC | 1 | 2 |
| 2026-09-01 | 3209 / NJCL | 14 | 10 |
| 2026-09-02 | 3889 / NEC | 10 | 7 |
| 2026-09-05 | 7217 / NJCL | 15 | 13 |
| 2026-09-07 | 7813 / NEC | 14 | 7 |
| 2026-09-07 | 7217 / NJCL | 14 | 12 |
| 2026-09-09 | 3843 / NEC | 1 | 12 |
| 2026-09-10 | 3809 / NEC | 14 | 9 |
The denominator changes the story.
Among 1,674 audited departures observed before an official platform appeared and subsequently assigned one, 1,185 match an eligible stored forecast under the circuit-model version label: 70.8% coverage. Accuracy on forecasted departures does not measure performance on the remaining departures.
When an eligible signal is absent, abstaining can be the right decision. It still matters to a commuter who sees no prediction. We therefore report coverage separately rather than treating missing predictions as correct outcomes or quietly removing them from the product story.
Inspect recorded reasons for unmatched departures
These are the last recorded pre-official audit reasons. An unmatched forecast is not necessarily the same thing as “never displayed a forecast.”
| Recorded reason | Departures |
|---|---|
| no usable raildata signal | 403 |
| circuit not approved | 86 |
A CHRONOLOGICAL SANITY CHECK
Learn from earlier days.
Ask about later ones.
We fit a separate, simple baseline using the last retained circuit per resolved departure. The earlier 70% of observed departure-days supply the training set; dates from 2026-09-06 onward are held out. A circuit needs at least five training examples to make a prediction. Nothing from those later dates updates this lookup.
This is a diagnostic experiment on the extracted observations, not a reconstruction of historical live model decisions. The snapshot’s last retained circuit is chosen retrospectively, and the operational signal that was available at a particular earlier instant cannot always be recovered.
The next improvement is a better experiment.
A highly concentrated circuit distribution is a useful lead, but mapping updates, train reuse, service changes, and selective observation can make historical evidence look stronger than it is. The next study should preserve every forecast revision and every timestamped circuit change, freeze a model before the test window, and evaluate by day and service pattern.
Equipment records are a promising second layer. This extract contains 37 departure records with car identifiers, covering 37 distinct car sets. The separately stored equipment-signature field is much coarser: it has only 1 distinct value here and identifies a vehicle type, not an individual trainset. None of those car sets repeats in this extract. There is therefore no observed car-set link here that establishes a turnaround or equipment swap, and departure-only snapshots would still leave the intervening movement unknown.
05 / METHODS & REPRODUCIBILITY
Show the working.
This page is built from a frozen, sanitized extract and a deterministic analysis script. The animation’s operating scenarios are sourced illustrations; the circuit distributions, retained-observation replays, and evaluation charts are computed from the records.
- Study window
- Circuit departures: 2026-08-26 through 2026-09-11. Cutoff: September 11, 2026, 01:00 EDT (05:00 UTC). Forecast, audit, and equipment tables have their own collection histories.
- Extraction
- Read-only live D1 access, paginated by the Sites database connector. Export began 2026-09-11T05:03:06.371Z and finished 2026-09-11T05:20:01.204Z. This is a logical time-filtered extract, not an atomic database backup. Concurrent changes and overwritten timestamps limit exact as-of reconstruction.
- Units and joins
- Train number plus scheduled departure epoch identifies an NJ Transit departure. Departure epochs use seconds; observed, updated, captured, and resolved timestamps use milliseconds. Display times and departure-days use America/New_York. Rows are deduplicated by primary key.
- Circuit eligibility
- Keep departures before the cutoff, circuit captures before cutoff, and resolved outcomes before cutoff. Require retained capture time to precede resolution. Exclude conflicting within-departure platform labels (0 departures here). No one circuit is counted more than once per departure.
- Forecast eligibility
- Use the stored forecast’s updated timestamp when present, otherwise its creation timestamp. Require it to precede resolution and the audit’s first official timestamp when available. Excluded 0 timestamp-ineligible resolved forecasts across model labels. Forecasts are immutable after first resolution; later assignment changes can differ from that frozen outcome.
- Outcome drift
- 0 eligible circuit-model forecast outcomes differ from a later retained official track observation available within the cutoff. Scores use the frozen resolution label. The continually updated track-observation timestamp is not used as the first official announcement time.
- Brier score
- Recomputed as Σₖ(pₖ − 1[y=k])² over Tracks 1–21 from intact probability vectors. Lower is better; this multiclass sum ranges from 0 to 2. Invalid or truncated vectors are omitted. Published confidence percentages can be rounded while stored vectors retain precision.
- Uncertainty and dependence
- Accuracy intervals use the Wilson binomial method at 95%. A separate day-block bootstrap resamples the observed departure-days 2,000 times with seed 20260911 and takes percentile bounds. They are descriptive: shared operating days, recurring trains, and overlapping operational conditions violate independence. The model-version tag does not uniquely identify each revision to its reviewed circuit map.
- Scope and exclusions
- Archived third-party prediction comparisons are excluded. LIRR capture tables exist but are outside this NJ Transit cohort. Equipment identities, passenger counts, authentication data, and individual coordinates are omitted from the public study bundle. No new production collection or model changes were made.
- Source implementation
- Based on the production source published as Site version 60, commit
78ce05c. Observed statistics are historical; no guarantee of a future track assignment follows from them.
Model labels in the retained forecast history
Only the circuit-model label feeds the main performance charts. These counts apply the same timestamp eligibility checks; older labels are provided to make cohort separation explicit.
| Model label | Resolved forecasts | Accuracy |
|---|---|---|
| ensemble-v3-official | 29 | 20.7% |
| circuit-lookup-v1 | 6 | 100.0% |
| approved-circuit-map-v1 | 1,265 | 99.4% |
Extracted table sizes
| Table | Extracted rows before analysis filters |
|---|---|
| circuit_platform_snapshots | 2,199 |
| prediction_events | 1,323 |
| departure_collection_audit | 1,778 |
| track_observations | 2,340 |
| equipment_capacity_observations | 1,778 |
SOURCES & NOTES
Evidence beneath the explanation.
- Amtrak · Penn Station capacity study, Chapter 2 (2024) ↗
Hybrid operations, platform reversals, through-running, and far-side storage yards. Historical planning context, not a measurement of this dataset.
- Amtrak · Penn Station track map (2018 renewal plan) ↗
The 21 station tracks, west and east approaches, interlockings, and storage-track labels. Work zones and peak-period operator assignments on this older diagram are not presented as current restrictions.
- Empire State Development · Penn Station appendices ↗
Amtrak’s through-running discussion, including drop-and-go operations and the Sunnyside loop (printed page 13 of the operations presentation).
- Hudson Yards Development Corporation · MTA Rail Yards ↗
West Side Yard’s storage and maintenance role for Long Island Rail Road equipment serving Penn.
- NJ Transit · RailData API schema ↗
Official test-service schema for schedules, vehicles, and capacity fields. The service is not a geographic circuit-to-platform map.
- NJ Transit · DepartureVision, New York Penn Station ↗
The official assignment source used to resolve Penn Pilot’s NJ Transit forecasts.
Narrative and interaction structure inspired by Anthropic’s economic scenarios explorer. Text, visualizations, and analysis are original to this Penn Pilot study. Historical engineering diagrams inform the schematic’s broad structure; they do not validate every contemporary dispatch movement.