greatkingrat
Established Member
- Joined
- 20 Jan 2011
- Messages
- 3,047
I think the intended route for the North Wembley - Rugeley Town ticket is via Watford Junction, not doubling back into Euston.
Either way, I don't think you can actually comply with the terms of that ticket.I think the intended route for the North Wembley - Rugeley Town ticket is via Watford Junction, not doubling back into Euston.
If the tickets are still in the fares database I think it's fair game to offer them up. Norton Bridge station may notionally have closed but the replacement bus service which has replaced the rail service for the last decade and a half is still going strong, and it is still possible to buy tickets to and from there (though obviously they cannot be bought or collected at the station!).ATOC update the data every 6 months, at which point, I will probably check if any stations should be added or removed. The fact it is currently 4 months out of date may be why the impossible 'WMR & LNR ONLY' fares exist. I do wonder what would happen if you showed up to North Wembley with that ticket though, assuming, as you say, that the TOCs do not operate there.
The updating process will involve me:
1. downloading the data in raw, clustered format from data.atoc.org.
2. running a program to convert that into a non-clustered format and calculate peak and off-peak split tickets. A CPU-bound task which takes 30 minutes on an i7-2600.
3. a bit of local sanity checking.
4. uploading all of the files overnight to Google Cloud Storage. Each file is about 6 MB * 2874 stations = 17 GB.
All my program sees with Rugeley Town is the North Wembley ticket is £15 and the Euston one is £16. I do take your point that the sensible option would be to walk from KGX to Euston. I did try to hack in some £0 fares where stations were less than 500m away from each other, however this had the amusing effect where some split tickets had you hopping between a chain of nearby stations in central London to avoid a zone 1 tube fare. For example, Charing Cross -> Embankment -> ... -> Euston. It is not simple to avoid this without making the algorithm much slower.
If anyone has a list of OSIs in a machine readable format, that would be very useful and it would solve the walking problem. I suppose there will be one set for TfL and one for everything else?
The Frodsham-Gobowen example is a difficult-to-explain bug that occurs when the cheapest off-peak split ticket uses peak time tickets. I will try to fix it in the next release.
Also, another question. I had a complaint that the website offered a split ticket via Norton Bridge, but this has been closed for a while. I can see that fares are definitely still offered ( http://www.brfares.com/#expert?orig=SAC&dest=NTB ), but they all involve a bus. Would it be worth just removing it? Are there other stations like this?
It seems to be an Anytime Single from Maidenhead to ZONE U345* LONDN. Definitely not valid to Bickley which is a National Rail station.EALING COMMON OR WEST ACTON (UND) £11.20 54.8 km £0.20/km
I can't find that latter fare on brfares.com, which I'd always thought was a comprehensive source.
That seems to be an Anytime Single from Pangbourne to ZONE U1245 LONDN, again, definitely not valid to Bickley.In fact even for a direct journey, the site suggests
SDS ANYTIME DAY S
£29.10
ANY PERMITTED
It seems to be an Anytime Single from Maidenhead to ZONE U345* LONDN. Definitely not valid to Bickley which is a National Rail station.
Norton Bridge has, and still does, offer some interesting fare saving opportunities. But not for much longer.If the tickets are still in the fares database I think it's fair game to offer them up. Norton Bridge station may notionally have closed but the replacement bus service which has replaced the rail service for the last decade and a half is still going strong, and it is still possible to buy tickets to and from there (though obviously they cannot be bought or collected at the station!).
Ah, OK. So it looks like there's a bug in the site's fare selection logic then - seems that it needs to take into account that those fares "to ZONE Unnn" fares aren't valid (normally? ever?) to NR stations.
ATOC update the data every 6 months, at which point, I will probably check if any stations should be added or removed. The fact it is currently 4 months out of date may be why the impossible 'WMR & LNR ONLY' fares exist. I do wonder what would happen if you showed up to North Wembley with that ticket though, assuming, as you say, that the TOCs do not operate there.
The updating process will involve me:
1. downloading the data in raw, clustered format from data.atoc.org.
2. running a program to convert that into a non-clustered format and calculate peak and off-peak split tickets. A CPU-bound task which takes 30 minutes on an i7-2600.
3. a bit of local sanity checking.
4. uploading all of the files overnight to Google Cloud Storage. Each file is about 6 MB * 2874 stations = 17 GB.
All my program sees with Rugeley Town is the North Wembley ticket is £15 and the Euston one is £16. I do take your point that the sensible option would be to walk from KGX to Euston. I did try to hack in some £0 fares where stations were less than 500m away from each other, however this had the amusing effect where some split tickets had you hopping between a chain of nearby stations in central London to avoid a zone 1 tube fare. For example, Charing Cross -> Embankment -> ... -> Euston. It is not simple to avoid this without making the algorithm much slower.
If anyone has a list of OSIs in a machine readable format, that would be very useful and it would solve the walking problem. I suppose there will be one set for TfL and one for everything else?
The Frodsham-Gobowen example is a difficult-to-explain bug that occurs when the cheapest off-peak split ticket uses peak time tickets. I will try to fix it in the next release.
Also, another question. I had a complaint that the website offered a split ticket via Norton Bridge, but this has been closed for a while. I can see that fares are definitely still offered ( http://www.brfares.com/#expert?orig=SAC&dest=NTB ), but they all involve a bus. Would it be worth just removing it? Are there other stations like this?
All my program sees with Rugeley Town is the North Wembley ticket is £15 and the Euston one is £16. I do take your point that the sensible option would be to walk from KGX to Euston. I did try to hack in some £0 fares where stations were less than 500m away from each other, however this had the amusing effect where some split tickets had you hopping between a chain of nearby stations in central London to avoid a zone 1 tube fare. For example, Charing Cross -> Embankment -> ... -> Euston. It is not simple to avoid this without making the algorithm much slower.
If anyone has a list of OSIs in a machine readable format, that would be very useful and it would solve the walking problem. I suppose there will be one set for TfL and one for everything else?
If anyone has a list of OSIs in a machine readable format, that would be very useful and it would solve the walking problem. I suppose there will be one set for TfL and one for everything else?
Having said the above, there do seem to be a small number of journeys where the map isn't showing appropriate fares. This is mostly because it is only implementing some fare overrides. Fare overrides are complex but essentially most fares are priced in clusters - i.e. from one collection of stations to another collection of stations. The longer the distance, the bigger the cluster typically.
However sometimes big clusters can result in a situation where journeys from one extreme of the cluster to the other are priced unreasonably high or low. Therefore TOCs can set individual fares for specific station combinations within those clusters. An example of where this occurs is Stoke-on-Trent to Newark North Gate - here it suggests using Blythe Bridge to Fiskerton; however, it incorrectly uses the cluster price for this (£11.00 single), instead of the override fare of £16.30 which is then suddenly much less attractive.
I'm afraid I'm not familiar enough with the fares data to be able to tell you. @SickyNicky may be able to help you (or alternatively we have data fares workshops which may illuminate the matter, and be of a general interest anyway).I don't suppose you, or anyone else, knows where in the ATOC data I might find this override. I had a look at the NFO file (NON DERIVABLE FARE OVERRIDES), however I only see an override for Groupsave Kids:
R1282635100000 GSKO311229992005201829092016N0009990000000100B3YNN
You're looking in the wrong place. This example that ForTheLoveOf gives is nothing to do with NFO. You just need to have a rule that says that if a fare from A to B has both a cluster fare and a specific fare (I haven't expressed that very well) then you need to use the specific fare, whether it's higher or lower.I don't suppose you, or anyone else, knows where in the ATOC data I might find this override. I had a look at the NFO file (NON DERIVABLE FARE OVERRIDES), however I only see an override for Groupsave Kids:
R1282635100000 GSKO311229992005201829092016N0009990000000100B3YNN
Thanks - that makes sense, although I fear this will be a difficult change to make in my code.You're looking in the wrong place. This example that ForTheLoveOf gives is nothing to do with NFO. You just need to have a rule that says that if a fare from A to B has both a cluster fare and a specific fare (I haven't expressed that very well) then you need to use the specific fare, whether it's higher or lower.
York to Selby is a much easier flow to see this in action:
http://www.brfares.com/#expert?orig=YRK&dest=SBY
Every ticket type in the cluster to cluster flow is overridden - not just those that are matched by ones in the point to point flow.
It would be difficult to do this because the grunt work of working out the split tickets is done as a batch job with a single file for each station as the result. If you want to DM me a few North Wales stations I can hack in a small change to exclude Virgin west coast fares and upload the results to my test account.If I may suggest a feature for future implementation, the ability to exclude operator-specific tickets would be helpful.
Virgin offer a number of Virgin-only point-to-point tickets along the North Wales Coast, and onward to a few other locations such as Manchester and Stockport. The fact that Virgin only operate eight trains each way along this line (and half of those go east before 10am!) means that I'm unlikely to want to use those tickets in a split-ticketing scenario, but as they're a lower price your algorithm consistently includes them. (Selecting a station not served by Virgin, such as Glan Conwy or Deganwy, doesn't get around it as I'm often offered a ticket to Llandudno Jn followed by a Virgin Only ticket.)
Other than that, I can only add to the above praise for your work.
I might implement return and advance fares at some point in the future, but I will need to think of a way to separate these from everything else.I'd also like to add praise to the OP for this extraordinary site, most impressive work, although to agree with his opening post as to the usefulness of the site.
Only those with a lot of time of time on their hands would follow some of the journeys it churns out and/or it would be cheaper with an advance ticket and/or cheaper getting returns from 'conventional' split ticket sites. A real pity it's unable to calculate return fares which would be incredibly beneficial.
There is however a problem with it. The first part is a Thameslink only fare to Croydon Stations. You can't get to West Croydon using Thameslink unless you intend allighting at East Croydon and walking to West Croydon for the start of the next leg.The Oyster-based Split Ticket from Gatwick Airport (GTW) to Cheshunt (CHN) is about half the nromal Oyster fare and a third the SDS fare.
Yes, this is what my router was suggesting. I guess the walk might be too long for most, although it is shorter than some OSIs.There is however a problem with it. The first part is a Thameslink only fare to Croydon Stations. You can't get to West Croydon using Thameslink unless you intend allighting at East Croydon and walking to West Croydon for the start of the next leg.