• Our new ticketing site is now live! Using either this or the original site (both powered by TrainSplit) helps support the running of the forum with every ticket purchase! Find out more and ask any questions/give us feedback in this thread!

Map of which TOC prices which flow

Status
Not open for further replies.

ForTheLoveOf

Established Member
Joined
7 Oct 2017
Messages
6,416
Hello all,

Is there some sort of map or other list/guide as to which TOC prices which flows? I currently use www.brfares.com to find out for individual flows, but it's difficult and slow to see on a map which TOCs price which flow more generally. A lot of them seem to depend on distance, with the same stretch of journey being priced by different TOCs depending on the origin and destination. I want to see how and if this can be taken advantage of in order to find cheaper ticket combinations for journeys where a single flow from origin to destination is priced by a ''demand-led pricing" TOC (e.g. GWR, VTWC) rather than the more sensible TOCs (e.g. WMT, ATW).

As a concrete example, pricing for flows along the WCML, especially Anytime tickets, is extremely high on a cost-per-mile basis. Of course a lot of investment has gone into it, but it's still expensive if advances are unavailable/impractical but off-peak travel times aren't doable. So I want to see how it's possible to combine for example flow prices by Northern, for the first part of a journey (starting the journey beyond the stated origin), and then perhaps the end on a flow priced by SN, Southeastern etc., with a short interval priced by VTWC.

A map/list etc. would be extremely useful to calculate this without having to sift through every possible flow manually. If it doesn't exist, I guess I'll have to create a program/service that can do this automatically by 'brute forcing' it. Thanks in advance!
 
Sponsor Post - registered members do not see these adverts; click here to register, or click here to log in
R

RailUK Forums

ForTheLoveOf

Established Member
Joined
7 Oct 2017
Messages
6,416
It doesn't (in my experience) suggest buying tickets valid before/after your origin/destination, even when this is cheaper than splitting normally.
 

lyndhurst25

Established Member
Joined
26 Nov 2010
Messages
1,589
I agree that it would be a useful map to have, but it would be very, very complicated.
 

ForTheLoveOf

Established Member
Joined
7 Oct 2017
Messages
6,416
I agree that it would be a useful map to have, but it would be very, very complicated.
I agree - perhaps though if it were done by origin, you could create a map of destinations, colour coded by fare setter...
 

Paul Kelly

Verified Rep - BR Fares
Joined
16 Apr 2010
Messages
4,227
Location
Reading
I think such a map would also be very useful for TOCs, to collaboratively remove good value fares!
 

ForTheLoveOf

Established Member
Joined
7 Oct 2017
Messages
6,416
Well, then I had better keep any map(s) I produce a secret, shared only with verified Fares Advisers at Fares Workshops!
 

Doctor Fegg

Established Member
Joined
9 Nov 2010
Messages
2,135
Location
Charlbury
I did this a couple of years ago, using the data from https://github.com/dracos/split-ticket, and plotting several different 'queries' from my home station: restrictions, prices, availability, setters, that sort of thing. With a little bit of Ruby/Python hackery, it was easy to create an SVG file for each query. Quite useful to find little islands of reasonable regional TOC-controlled fares in otherwise extortionate CrossCountry-controlled areas, for example....

where a single flow from origin to destination is priced by a ''demand-led pricing" TOC (e.g. GWR, VTWC) rather than the more sensible TOCs (e.g. WMT, ATW)

Sorry, did you just describe ATW fares as "sensible"? o_O
 
Last edited:

ForTheLoveOf

Established Member
Joined
7 Oct 2017
Messages
6,416
I did this a couple of years ago, using the data from https://github.com/dracos/split-ticket, and plotting several different 'queries' from my home station: restrictions, prices, availability, setters, that sort of thing. With a little bit of Ruby/Python hackery, it was easy to create an SVG file for each query. Quite useful to find little islands of reasonable regional TOC-controlled fares in otherwise extortionate CrossCountry-controlled areas, for example....



Sorry, did you just describe ATW fares as "sensible"? o_O

ATW fares are certainly a lot cheaper per mile (or at least that's my impression) than VTWC and their bogus (here we go again...) 'demand-based pricing'.

Do you have a copy of the code you used to generate that SVG? Would he extremely useful for me so I can perhaps have a look at it and see how it did the basics. I can understand roughly how to do it, but obviously if you have the code to do it already there's no need to duplicate it!
 

ForTheLoveOf

Established Member
Joined
7 Oct 2017
Messages
6,416
I've pushed it to https://github.com/systemed/fare_maps . All fairly straightforward I think, but yell (or post an issue) if you have any issues. It uses the data from Matthew Somerville (dracos)'s split-ticket project.

I've managed to get it to work on my Ubuntu VPS (though not my Windows machine). The maps are very interesting! However, there seems to be an issue with displaying the colours sometimes - different fare setters are sometimes still shown as the same colour, in the same region (e.g. from WFJ GWR and WMT are shown as the same colour). Also, with the SOR pricing, I think it might be useful to have an option to show a price/mile map and to set a floor and/or cap on the black/white scale for displayed fares, otherwise it's impossible to differentiate fare for nearby/faraway stations. Also, the Southern-set fares seem broken on some of the maps (possibly there's no detected SOR to show, so it seems as if the prices are much cheaper than they actually are).

But in any case, an excellent resource which I'll try to understand how it works and then modify!
 

Doctor Fegg

Established Member
Joined
9 Nov 2010
Messages
2,135
Location
Charlbury
Yep - I wouldn't claim for a moment it's meant to be an end-user product, it's just some scripts that work for me!

If there are things that you'd find useful, by all means go and hack around with the Ruby scripts. Essentially the two things you'll need to change are the bit that actually gets the fare information you need:

Code:
next unless fare['ticket']['code']=='SOR'
price = fare['adult']['fare'].to_i/100

and then sets a colour from that:

Code:
byte = "%02x" % [255-price,0].max
colour = "#{byte}#{byte}#{byte}"
 
Status
Not open for further replies.

Top