The DfT» specifies a service level & an overall budget to be spent, and the operator then has to match one with the other to the best of their ability. This budget is shrinking now year-on-year, meaning that savings need to be found in order to continue matching available budget to service level. Next year's is lower still according to a friendly operator.
Of course, they can exceed the service level if they think additional income can be generated, and the DfT agrees. As previously mentioned above, the operator cannot exceed or reduce headcount by more than 5% without agreement.
Removing route-learning from depots of course means that those drivers can be employed in actual driving services, meaning short-term cost gains but not needing as much cover for doing that.....
Good explanation ... but does not answer "how will this be fixed", Chris.
However - we are not even asking for them to exceed the service level specified - we're asking them to deliver it. I just looked up the last 12 weeks on ontimetrains for my local station - across all 7 days of the week - and rolled over the biggest black cancellation mark which is 4pm to 5pm -
20% cancellations.

"Never mind - catch the next train"? Err - no - nothing in the next hour.
Edit to add ... P.S. Horrid thought, ChrisB - does the "service level" specified include any reliability factor - how many services should run? Is 20% cancellations in the busiest time of day / late afternoon early evening within the bounds of what
GWR▸ and the DfT have agreed? If so - I wish they would tell us that and we could then start a political campaign for better.