ibano
← All insights

Rail line capacity per UIC Code 406: compression, occupancy and the cost of mixed traffic

UIC Code 406 does not give a line a fixed capacity in trains per hour. It compresses a real timetable and measures how much of the period the trains use. A worked example shows why the same ten trains can use 50% or 75% of an hour, depending only on their order.

·

Worked examples are illustrative and are not sealed engineering documents. Site-specific analysis requires a licensed engineer in the relevant jurisdiction. Regulatory references to other jurisdictions (e.g. California) are descriptive. Valerio Oricchio P.E.

1. The problem

“How many trains per hour can this line take?” has no single answer on a railway. The answer depends on the signalling, the length of the sections between places where trains can overtake or cross, the speed and length of each train, and above all on the mix and order of trains in the timetable. A line that carries 16 identical suburban trains per hour may struggle with 10 trains when fast passenger services and slow freight share the same track.

UIC Code 406 Capacity is the European reference for this question. The current edition is the 2nd edition, June 2013 (UIC reference 406/E/2, 56 pages, with effect from 1 June 2013); the 1st edition was dated September 2004 [1][2]. Its stated aim is “to provide an international standard for evaluating capacity” [1]. Its method does not compute a capacity in trains per hour. Instead, it takes a timetable, compresses it, and expresses the result as the share of a time period that the infrastructure is used: the capacity consumption [2].

This article covers the definitions, the compression method, the recommended limits in the leaflet, and a worked example on a hypothetical mixed-traffic line. It ends with the limitations and a review checklist.

2. Definitions

The terms below follow the 2013 leaflet [2]. Where the literature uses a different name, it is noted.

Term Meaning
Occupancy time (block section) The total time one train needs a block section. It covers a safety margin before the train enters (route formation, visual distance, approach section), the passage of the train, clearing of the block, and switching the signals for the next train (§3.3.2.1) [2]. The academic literature calls this the blocking time [3].
Occupancy time (line section) After compression, the time between the start of the first train path and the end of the last one (§3.3.2.2) [2].
Compression Pushing train paths together until they reach the minimum headway, so that no buffer time is left. Running times, dwell times, running-time supplements and block occupation times are not changed; only scheduled overtakings and crossings are allowed [5]; the leaflet describes this as compressing train paths “without changing the timetable structure” (§5.2.2.2) [2].
Additional times Time added to the compressed occupancy to secure quality of operation, e.g. buffer times “to mitigate the impact of delays”, and crossing traffic not covered by compression (§3.3.3, §5.2.1.3) [2].
Defined time period The analysis window, e.g. a peak hour or a full day [2].
Line section The unit of analysis. A train-path line section is split where infrastructure changes significantly (signalling, number of tracks, branches) or operations change (start or end of services, train mix, crossings). Single-track sections are bounded by the interlockings where trains can cross or overtake (§3.2.2) [2].

3. Method

3.1 Blocking time of one train in one block

The leaflet describes the components of occupancy time but gives no closed-form equation. A standard microscopic form, given in TU Delft teaching material on train-path modelling, adds fixed times to the time needed to travel the approach distance, the block, any overlap beyond the block signal and the train length [3]. In the notation used here (overlap taken as zero):

t_bl = t_setup + t_sight + (l_app + l_block + l_train) / v + t_release

Here t_setup is the signal (route) clearing time, t_sight the signal watching time, l_app the approach distance (often the braking distance or one block on a two-aspect system), l_block the block length, l_train the train length, v the speed and t_release the release time after the tail clears [3]. For a following train not to be restricted, the blocking times of consecutive trains must not overlap in any block [3]. Drawn on a time–distance diagram, the blocking times of one train form a “staircase”.

3.2 Minimum headway between two trains

The minimum headway h(A→B) of train B behind train A on a line section is the smallest start-time difference for which B’s staircase does not overlap A’s in any block. Three simple cases explain most of what follows:

  • Same speed: the staircases are parallel, and the headway equals one blocking time.
  • Fast behind slow: the slow train pulls away from the start, but the fast train catches up. The critical block is the last one in the section, so the headway grows with the section’s running-time difference.
  • Slow behind fast: the fast train pulls away. The critical block is the first one, and the headway is short.

That asymmetry is why the train order matters so much.

3.3 Capacity consumption (UIC 406, §3.3, §5.2.1.1 and §5.2.1.3)

The leaflet defines [2]:

Capacity consumption [%] = (Occupancy time + Additional times) / Defined time period × 100

In §5.2.1.1 it also defines the occupancy time rate (occupancy time / defined time period × 100) and an additional time rate linked to it, so that capacity consumption can be written as [2]:

Capacity consumption [%] = Occupancy time × (1 + Additional time rate) / Defined time period × 100

Additional time rate [%] = (100 / Occupancy time rate − 1) × 100

“Acceptable quality of service is represented by capacity consumption values of up to and including 100 %.” Values above 100% “represent a bottleneck” and should lead to timetable or infrastructure measures (§5.2.1.3) [2].

Where the additional time cannot be derived from operating data, the leaflet proposes standard values that “should be used when applying the compression method” (§5.2.1.1) [2]:

Type of line Occupancy time rate, peak hour Occupancy time rate, daily period Additional time rate, peak hour Additional time rate, daily period
Dedicated suburban passenger traffic 85% 70% 18% 43%
Dedicated high-speed line 75% 60% 33% 67%
Mixed-traffic lines 75% 60% 33% 67%

The two tables are consistent with the formula in §3.3: (100/85 − 1) × 100 = 17.6% ≈ 18%; (100/75 − 1) × 100 = 33.3%; (100/70 − 1) × 100 = 42.9% ≈ 43%; (100/60 − 1) × 100 = 66.7% ≈ 67%. In other words, a mixed-traffic line at a 75% occupancy time rate in the peak hour is at 100% capacity consumption. For nodes, the leaflet gives separate values (switch areas 60–80%, track areas 40–50%) and notes that they still need confirmation by calculation [2].

3.5 Choosing the line section

Results depend strongly on how the line is divided. Landex et al., analysing the Danish Coast Line, found rush-hour values of 49% on short sections versus 94% on the full line at Nivå, and 46% versus 84% at Hellerup; they concluded that short sections can falsely suggest spare capacity and that values should be compared only relatively [5]. Li et al. reached the same conclusion on Chinese high-speed rail: “the division of the lines into sections is of major importance for the results” [4]. The leaflet itself, in its Appendix B.1 example, extends the line section over the full stretch where slow regional and freight trains mix with intercity trains, to capture the most critical case [2].

4. Worked example (hypothetical)

All values below are illustrative. The Python script at the end reproduces every number.

Infrastructure. One direction of a double-track line, 24 km between two stations where overtaking is possible, with no intermediate loop. Fixed blocks of 2,000 m (12 blocks). The approach distance is one block (2,000 m).

Fixed times (assumed). Signal clearing plus watching time 21 s before the approach; release time 6 s.

Trains.

Train Speed Length Running time over 24 km
Intercity (IC) 160 km/h (44.44 m/s) 300 m 540 s (9.0 min)
Freight (F) 100 km/h (27.78 m/s) 600 m 864 s (14.4 min)

Constant speed is assumed; acceleration, braking and dwell are ignored.

Blocking time per block.

  • IC: (2,000 + 2,000 + 300) / 44.44 + 27 = 96.75 + 27 = 123.75 s
  • F: (2,000 + 2,000 + 600) / 27.78 + 27 = 165.6 + 27 = 192.6 s

Minimum headways on the 24 km section (from the non-overlap condition, block by block):

Leader → follower Critical block Minimum headway
IC → IC any 123.75 s
F → F any 192.6 s
IC → F (slow behind fast) first 51.75 + 72.0 + 27 = 150.75 s
F → IC (fast behind slow) last 885.6 − 450.0 + 27 = 462.6 s

For F → IC: the freight’s tail clears block 12 and releases at (24,000 + 600)/27.78 + 6 = 891.6 s after it enters; the IC must not start its approach to block 12 (at 20,000 m) until then, which it reaches 450.0 s after entering, minus 21 s of setup and watching. The resulting 462.6 s is almost four IC headways.

Occupancy in one peak hour. The timetable is assumed to repeat every hour, so the occupancy time is the sum of minimum headways around the cycle, including the headway from the last train of the hour to the first train of the next. This matches the leaflet’s suggestion to add the first train path again at the end of the sequence (§3.3.1.3, Appendix A.2) [2]; state the convention you use.

Scenario Trains/h Order Occupancy time Occupancy time rate Capacity consumption (× 1.333) Mean buffer per train
A 6 IC + 3 F IC×6, F×3 1,617.3 s (26.96 min) 44.9% 59.9% 220 s
B 6 IC + 3 F (IC, IC, F) × 3 2,211.3 s (36.86 min) 61.4% 81.9% 154 s
C 6 IC + 4 F IC×6, F×4 1,809.9 s (30.17 min) 50.3% 67.0% 179 s
D 6 IC + 4 F (IC, F) × 4, IC, IC 2,700.9 s (45.02 min) 75.0% 100.0% 90 s

Capacity consumption applies the mixed-traffic peak-hour additional time rate of 33.3% from Table 2 [2]. The mean buffer is the uncompressed time left in the hour divided by the number of trains.

Reading the result.

  1. Scenarios C and D carry the same ten trains. Their order alone moves the occupancy time rate from 50.3% to 75.0%. Scenario D sits exactly at the leaflet’s mixed-traffic peak-hour limit, with a mean buffer of 90 s per train.
  2. Each F → IC transition costs 462.6 s against 123.75 s for IC → IC. Grouping freight paths (A, C) is efficient for capacity, but it conflicts with regular-interval passenger timetables. That trade-off is why UIC 406 evaluates the real timetable rather than a theoretical maximum.
  3. Infrastructure option. If the timetable uses a passing loop at mid-section (12 km), each half becomes its own line section [2]. The F → IC headway falls to 300.6 s and scenario D drops to 2,052.9 s, a 57.0% occupancy time rate. Per Landex et al., part of that drop is a real gain and part comes from analysing a shorter section [5]; compare options on the same sectioning.
b=2000.0; N=12; tpre=21.0; trel=6.0
T={'IC':(160/3.6,300.0),'F':(100/3.6,600.0)}          # speed m/s, length m
def h(A,B,N=N):   # min headway: blocking times must not overlap in any block
    vA,LA=T[A]; vB,_=T[B]
    return max((k*b+LA)/vA+trel-((k-2)*b)/vB+tpre for k in range(1,N+1))
def occ(seq,N=N): # periodic convention: sum of headways around the hour
    s=sum(h(seq[i],seq[(i+1)%len(seq)],N) for i in range(len(seq)))
    return round(s,1), round(s/36,2), round(s/36*(1+(100/75-1)),1)
print({f'{a}->{c}':round(h(a,c),2) for a in T for c in T})
for seq in (['IC']*6+['F']*3, ['IC','IC','F']*3, ['IC']*6+['F']*4,
            ['IC','F']*4+['IC','IC']):
    print(occ(seq))
print(occ(['IC','F']*4+['IC','IC'],6), round(h('F','IC',6),1))

5. Limitations

  • Deterministic, section by section. Compression gives a static picture of one line section. It does not capture network effects, so capacity consumption under UIC 406 is “less than or equal to the actual capacity consumption” [5]. The leaflet notes that studying the link between infrastructure, timetable and punctuality needs a stochastic model (§2.2) [2].
  • Timetable-dependent. The result is valid for the representative day and train mix chosen (§3.3.1.1); “train consists and their dynamic behaviour can have significant impacts on the outcome” (§5.3.1) [2].
  • Sectioning. Section boundaries can change the result by tens of percentage points [5]. Keep the same sections when comparing years or options.
  • Simplified dynamics. The example uses constant speeds and one approach distance. Real studies use microscopic tools with braking curves, signalling aspects, gradients and dwell times (RailSys and similar tools are used in Danish practice) [5].
  • Limits are proposals. Tables 1–3 are “proposed” standard values for use when local data are lacking [2]. Landex et al. stress that the method is a reference, “not either a law or a norm” [5]. Infrastructure managers can set their own values.
  • Transit. For US urban rail transit, the governing US reference is the Transit Capacity and Quality of Service Manual, now in its 4th edition (TCRP Research Report 262, 2026) [7]; the 3rd edition (TCRP Report 165, 2013), which includes quantitative techniques for rail transit capacity, remains the version most existing studies cite [6].

6. Practitioner checklist

  1. Confirm the edition: UIC Code 406, 2nd edition (June 2013; no IRS replacement found as of October 2026), and any national or infrastructure-manager rules that adapt it.
  2. Choose the representative day and the defined time period (peak hour and daily).
  3. Define line sections from the infrastructure and from where the timetable changes (§3.2.2). Document them and keep them fixed across options.
  4. Build blocking times for each train type with a microscopic model: signalling, approach distance, train length, speed profile, setup, watching and release times.
  5. Compress the timetable: keep running times, dwell times, supplements and the train order; allow only scheduled overtakings and crossings.
  6. Compute the occupancy time and the occupancy time rate; state the convention used for periodic timetables.
  7. Add additional times from operating data or, failing that, from Table 2 of the leaflet. Report the capacity consumption.
  8. Flag sections above 100% as bottlenecks. Test timetable measures (order, grouping, stopping patterns) before infrastructure measures (loops, shorter blocks).
  9. Report occupancy rate, capacity consumption and buffer distribution together; check robustness with a stochastic or delay-propagation model where punctuality matters.
  10. Record every input so a reviewer can reproduce the compression.

For an independent review of a study like this, see peer review or get in touch.

Sources

  1. UIC, Capacity, UIC Code 406, 2nd edition (ref. 406/E/2), edition date 1 June 2013, 56 pp. UIC e-shop listing: https://shop.uic.org/en/492-capacity.html
  2. UIC, UIC Code 406 Capacity, 2nd edition, June 2013 (copy hosted by Isfahan University of Technology for course use). Sections 2.2, 3.2.2, 3.3, 3.3.1.3, 3.3.2, 3.3.3, 5.2.1.1–5.2.1.3, 5.2.2.2, 5.3.1; Appendices A.2 and B.1. https://tamannaei.iut.ac.ir/sites/tamannaei.iut.ac.ir/files/files_course/uic406_2013.pdf
  3. Hansen, I.A. Introduction to train path modelling (lecture slides, “Timetable design 2”), Delft University of Technology, 24 June 2013. https://repository.tudelft.nl/file/File_2d6908c8-8298-4436-9b2d-9c1cf41b592a?preview=1
  4. Li, J., Wang, D., Peng, Q., Yang, Y. “A Study of the Performance and Utilization of High Speed Rail in China based on UIC 406 Compression Method”. RailNorrköping 2019, 8th International Conference on Railway Operations Modelling and Analysis, pp. 650–664. https://ep.liu.se/ecp/069/043/ecp19069043.pdf
  5. Landex, A., Kaas, A.H., Schittenhelm, B., Schneider-Tilli, J. “Evaluation of railway capacity”. Annual Transport Conference at Aalborg University, 2006. https://journals.aau.dk/index.php/td/article/download/5211/4575/16765
  6. Transportation Research Board. Transit Capacity and Quality of Service Manual, Third Edition. TCRP Report 165, 2013. https://www.nationalacademies.org/publications/24766
  7. Transportation Research Board. Transit Capacity and Quality of Service Manual, 4th Edition. TCRP Research Report 262, 2026. https://www.nationalacademies.org/publications/29449

Need this applied to your corridor?

Send the study scope and the data you have. You will get a reply within two working days.

Discuss a project