Just to follow up on this, apologies for the lack of comms, I've been primarily focused on finding the root cause of the problem and resolving it.
The load time issue was related to database load, which needed some additional key tuning, as well as a couple of indexes added to a custom table we're using to keep track of stats.
The addition of the indexes alone reduced the query time for a specific stats lookup from ~ 5 minutes 40 seconds, down to 0.77 seconds (cached).
The same query after tuning adjustments (non-cached) now takes 2.7 seconds, cached returns results immediately (mysql says 0.00 sec)
Server load (although not exactly meaningful without context) dropped from ~ 87 to now being stable between 0.5 and 2.
Apologies for the the inconvenience and thanks for your patience.