Every app is built differently, so there is no easy answer to this question. To really gauge when you need to upgrade you need to understand how the flows your users are taking are impacting your app’s capacity.
If set up strategically, you may never need to upgrade if your capacity is maintained at a reasonable level. If capacity is shooting up, I’d recommend auditing your app and optimizing flows that are maxing out. If once optimized, you’re still reaching maximum capacity, that’s when I would recommend upgrading plans.
No one will have an exact idea because the “weight” of each user is different per app.
What you can do is if you slowly see your capacity climbing, you can do a free Server Boost which adds 3 units of capacity to match the Professional plan, it lasts and hour. Then you can see what your capacity graphs look like at peak hours.
But hopefully someone can chime in here with a rough estimate of users with a similar app style
Again, it’s tough to calculate based on the number of users.
If in hypothetical App A, you have 100 users which simply fill in their first name, last name, email, and phone number to sign up, that’ll take far less capacity than App B, which requires the same inputs but also requires a background check API call, payment, and an email to be sent.
Not that either of these is too taxing on the capacity front (if set up correctly), but you see how using the number of users is not a constant variable.
You can figure this out pretty simply by getting a couple of people to use the app and watching the amount of capacity being used. Then you can extrapolate from there the max number of users before you hit capacity (at which point the app will slow down as it spreads out the capacity).