OK, based on the data at noon (passed on by someone - thanks), my simulation (with the various caveats of not knowing about groups, guaranteed spaces for volunteers/etc, and guesswork about the precise algorithm used) and ignoring the early starts it gives:-
I had a look at the the process for managing this, working from first principles, as its an interesting problem....
Working on a simple approach of multiple rounds of assigning free places per slot/applicant, and moving unsuccessful applicants for one start time onto the next... if initial slot applications are fairly well distributed with highs and low levels of applications through the schedule then riders will tend to get something near to what they asked for.
HOWEVER if there is a major bulge at the start, as is the case, then whilst riders outside the starting bulge will tend to get something close to what they asked for, riders in the starting bulge slot(s) missing out on the initial assignment will slide straight to the end of the schedule, as all of the interim start times will already be fully allocated by the time they reach them...
What this means is that the ¬150 riders missing out on on 9-10am slots will find themselves starting late afternoon. I foresee a great wailing and gnashing of teeth.
Limiting the number of start times by which riders might be 'delayed' would reduce this but that would be at the cost of penalising riders who booked less popular start times in the first place. Is it reasonable they should be displaced when nominally by doing so they were assisting the organisers? Or maybe they were just stating their actual preferance. Either way, is it fair they should be pushed back when riders lucky in getting earlier slots were not? No right answer, just have to take a view...
If taking this approach, offering starting places in much larger starting blocks (say 9-11, 11-13, 13-15, etc.), or treating applications received as such, with each block containing a number of start times would makesthe process of allocating places more flexible and reduce rider expectations as to getting a specific 15 minute start time.
Another approach would be I'll call 'cascading pools' of start slots. So there is a ballot for places in the first start time, and those failing to get a place going into the ballot for the next start time alongside the applicants for that start time. This approach allows for weightings to be applied to increase the probability of success for riders applying to undersubscribed slots and/or reduce the amount riders are delayed (by progressively increasing the weighting of riders failing on one pool and being moved on to the next). This would mean that 'bulge' riders not getting their preferred slot would have a chance of getting a place in the following slots as the bulge is massaged through the startlist. The overall effect is that more/possibly most riders would get something akin to what they asked for.
This is not a small problem though. Glad it's not mine. It occurs to me it's also not a new problem... I expect theres a whole branch of mathematics devoted to this conumdrum. Doubtless Greenbank can advise.
Apologies if this has already been done to death (and all the edits).... just interested.