It depends on what your users are doing. For example, running computationally intensive simulations or machine learning will require a lot more memory and CPU than someone writing very basic scripts. You can either monitor the CPU and memory use of one or two users and work what you need to scale it up, or monitor the total CPU/memory usage of your server and if you hit the limit switch to a bigger server.