Two different numbers hide behind the question "how many staff do I need". One is how many people have to be on the floor at the same time. The other is how many people that takes on the payroll. They are never the same, and treating them as the same is the single most common reason a rota that looked fine falls apart in its second week.
Number one: cover on the floor
Start with the busiest hour, not the average day. For most places the calculation is the same shape:
People on the floor = jobs per hour × minutes per job ÷ 60
A cafe serving 90 orders in the lunch hour, where an order takes about two minutes of somebody's time, needs 90 × 2 ÷ 60 = 3 people making drinks in that hour. Add anyone who is not making drinks: someone on the till, someone clearing tables. That is your peak cover.
Do it again for the quiet hours and you usually find the day splits into two or three levels rather than one flat number. That is what shifts are for.