I've been a regular sleeper traveller for work since August. So here's my tuppence worth:
I didn't use the sleeper all that much before Serco so can't possibly comment on pre- and post- Serco price comparisons. But having used the sleeper between London / Crewe and Aberdeen eight times in the last two months (which I'd consider low season), comments of a lack of business aren't reflected in my actual experience. I haven't obviously done a head count in each berth, but each time the train seems reasonably full, every time I've gone standard I've always had to share, and on two occasions over the last two months I've been unable to book standard a few days before travel because it's been full and I've had to fork out for 1st (the boss is paying).
And besides who goes on holiday to Aberdeen?? The Aberdeen portion seems to cater for a very different market compared to the Fort William and Inverness portions. The vast majority seem to be travelling for work (as I do) which means employers are probably paying (as mine does). I can't speak for other employers but mine just pays, provided I can demonstrate I got the cheapest ticket (with a bed) - I just enclose a screen shot with the claim. Indeed I last week persuaded the boss to buy me a ten trip flexi pass.
I usually end up paying £90-£110 for standard and £140-£160 for first. Yes, some of the prices would put me off if I was paying for myself and travelling for no meaningful purpose, but I'm not. And I suspect that's the case with most people using the Aberdeen portion.
Every time I have checked flights the times haven't worked out, which means travelling the evening before and staying overnight in a travelodge or similar, the total cost of which is always more expensive.