Every restaurant in London is required to register with their local council. These local councils provide a public record, although I don't know if it is online and I don't know if there is a centralized database at all.
Here is one example of a reference to it (Camden council):
Registration of a food business
So if you really need an accurate count, you could follow up with each local council.
Ok, so I think you are not asking for the value but the approach.
So here it goes,
Such problems can usually be estimated with a very good precision using Fermi Estimation .
Although this variant seems a bit harder, In general the approach is:
try to bind the unknown to some values that you can easily acquire or estimate and then try to compute the unknown using these relevant values
for this case, restaurants are for people! people eat at restaurants, thus number of restaurants in London is correlated to the population of London. according to BBC it is 8.6m(2015). but how often does an average person go to a restaurant to eat? it is a bit harder, we can divide people to categories, older or younger people tend to eat less outside, they usually don't have the financial means to do it often, but people aged between 20 to 50 usually have a constant income and they can(and usually do) eat outside(for simplicity I divided to only 2 groups, obviously there would be a difference between a 20 years old collage student and enterprise employee but it is an estimation, no need to go to that much detail).
Let's find out London's population pyramid or similar statistics so that we may calculate total meals that Londoners eat outside per day /month/year for these categories.
Greater London Authority to the rescue! How thoughtful of them to publish it online(for year 2011)!
it seems it is 50/50 for 20-50 and the rest(wider age range vs. higher density for the age group seem to cancel out each other) in 2011, I don't recall any event causing a drastic change in the ratio so we will assume same ration holds for 2015.
20-50(for 2015) : 4.3m
other: 4.3m
let's again assume(I have never lived in London, so correct me if you think it is not realistic) Elderly and children eat once a month outside, while workforce(20-50) eat lunch 50% of the time and dinner once a week.
each month:
+ 4.3m meals for non-workforce population.
+ 15*4.3m lunches for the workforce
+ 4*4.3 dinners for the workforce
= 4.3m * 20 = 86m meals/month
now, let's assume an average restaurant has a capacity of 20 at any given moment, and on average they have 8 costumers. they work 8 hours and each costumer takes about 30mins to eat their meal.
so each restaurant would serve about 8 hour/30mins * 128 ~= 130 meals per day
now, that would total 3900 meals/month.
so simply dividing out two estimation of (meals consumed)/(meal served at each restaurant) would give an estimated result for number of restaurants in London:
86m/3900 ~= 22000 restaurants
notice that this value only includes restaurant that serve food, no delivery etc.
But you can include that in a similar manner.
To conclude, the idea is to use various estimations for known variables, some of them you might over estimate and some under estimate, at the end, they usually cancel out well and you don't diverge much.
we used:
[math]restaurants = \frac{popuation*\frac{\frac{meal}{person}}{timeframe}}{\frac{\frac{meal}{restaurant}}{timefame}}[/math]
Hope you enjoyed it, for more estimation problems using Fermi Estimation see this link. :)
Fun fact: