You need to determine the average and peak workloads and estimate their change over the lifetime of the router.
For instance, you might have 50 total users with on average 15 users surfing online with a demand for 1 Mbit/s each, 5 Mbit/s if video is involved, or 20 Mbit/s when there's heavy cloud usage. Obviously, your Internet uplink has to be scaled equivalently.
In addition to router throughput you need to make sure that it can also support the required sessions for all users, assuming you're using NAT. I calculate roughly with 25 sessions per (light) user.
Requirements for throughput and concurrent sessions can vary extremely. Between light web access and a power user, demand can easily differ more than one order of magnitude (10x).
Running a public server in your network needs to be estimated separately, depending on its use.