GB Rail Fare Statistics Blog

Commentary on the complexity of GB rail fares often cites "there are xxx million different rail fares" - the implication being that a smaller number would be better.

I've long wondered how these claims are calculated, so decided to do my own calculations.

Every week we take the official fares data feed from the Rail Data Marketplace, load it into our database, and run a series of calculations against it to update the table below.

In practice, this is largely spurious analysis: the fact that Amazon has 600 million products listed, compared to 50,000 in a supermarket doesn't make Amazon inherently more complicated. 

The same is true for rail fares, it's not the absolute number of different fares that makes it complicated, but opaque differences in rules and validity. But people like to cite a number, so I thought I'd calculate it for them.

7,153,888unique price points for undiscounted adult fares (unique ticket type, origin, destination, route. At a technical level this is the number of rows in the fares database, summing "derivable", "non-derivable" and "rover" fares.)
215,084,229unique undiscounted adult tickets that could be issued
(this arises because many of the above fares cover more than one station at either/both origin and destination – what is known as "clusters" in industry jargon. For example, a single entry in the fares data covers tickets from London to 27 stations around Bradford, Halifax and Huddersfield. Therefore, when the fares are mapped out to all the stations that they cover, there are more unique tickets than underlying fares.)
347,209,229unique directional undiscounted adult tickets that could be issued, when allowing for direction of travel
(as some tickets can be issued in either direction, whereas some have asymmetric fares)
1,005,537,757allowing for various season ticket validity periods
(there are 2,301,848 season fares. These can have a validity of one week, or between 1 month and 365 days. Any duration over 10 months and 12 days has the same price. Therefore there are 286 duration/variants to each season ticket. Therefore add another 771,119,080 to the above)
2,011,075,514allowing for adult and child variants
(almost all the above can have both adult and child variants, so double the above)
2,358,284,743allowing for Railcard discounts
(Almost all the non-season ticket fares attract a railcard discount, add another 347,209,229 for the "third off" variant)
--
161There are 161 different "Off Peak" tickets, which use 320 different defintions of "Off Peak" times. The most complex definition of "Off Peak" consists of 738 rules.
--
262Different Railcard types, corporate discounts, and similar
464Different "Restriction Codes" (e.g. for definition of Off-Peak times)
916Different "Route" restrictions (e.g. via/avoid specific place or operator)
1842Different ticket types (with 717 unique ticket names)

Data last updated: 2026-03-14 06:41:27

(nb: The statistics for routes, restrictions and ticket types only count those actively used in the fares data. In practice there are quite a lot more listed in the reference data which are unused.)

How much does it cost to travel to X?

I also thought it would be vaguely interesting to plot rail fares on a map, so I did that too. It shows the fully flexible standard class "Anytime Single" fare via the most flexible route. That's effectively the most you would ever have to pay to travel between the two places. Cheaper options are almost always available.

I've written various things about GB rail fares: