I think the 50m figure is over a wider ‘local’ area to be fair. I was out for a meal in Cirencester on Tuesday and the restaurant was full, which it certainly wouldn’t be on a normal week, it was obviously all race goers.
And a lot of the money will go to local businesses. Every pub in a fifteen mile radius of town is offering ‘race breakfasts’, every B&B and hotel in a fifty mile radius is fully booked for the week. Loads of people rent out rooms or houses. And even if it is national chains, they’re all employing local people.
At the end of the day, the races brings tens (hundreds?) of thousands of people into the area with, and in the case of the Irish literally, bags full of cash. They leave with those bags empty and much of the cash, directly or indirectly, finds its way into the pockets of local people. Cheltenham’s economy benefits hugely from the races, without it it’d be like Evesham or Tewkesbury, a two-bit provincial Nowheresville.