I hate basing train service provision on population, and it desperately needs obliterating as an argument in its own right for adding, or removing, services to certain places
I agree that "population" can be a frustrating tool to use in debates about the level of service that a place should receive (especially as some places have artificially lower/higher populations due to municipal boundaries, some places act as "rail heads" for larger areas etc - so Bradford looks important because the population numbers include Ilkley/ Keighley etc whilst somewhere like Alfreton can look small but is the long distance station for the much larger Mansfield).
(and, in many cases, it makes more sense to stop every train on an hourly frequency at each station rather than have an "every four hours for some stations, every three hours for some stations, every two hours for other stations" approach - sometimes simplicity is worth over-provision - especially as you then get into the complicated issue of whether doubling back should be permitted if not all intermediate stations are served on each service etc)
But (putting population to one side) it'd be interesting to compare the number of services stopping at a station each year with the annual passenger numbers at that station to see which stations are under/over-served in terms of services stopping there.
For example, I worked out on the back of an envelope that Manchester Airport received around thirty three passengers departing on each service that stopped there - that sounds like a low number (compared to the length of trains stopping there) but maybe that's quite high compared to most stations - I don't know how easy it'd be to fiddle around with the data (e.g. on Real Train Times) and compare it to the widely available annual passenger stats - if anyone has a fag packet to do the calculations on?