# Given Standard Deviation and Population size, how can I calculate the number of population at mean

As per the title, I'd like to calculate the number of the population at mean, given a std.dev and population size.

The use case for this, is Mobile Phone push notifications. I send the notification at time $T_0$, and the users access the app in an approximately normal distribution centered at a mean time $T_1$, with std.dev $s$.

We are deploying this to an increased population, and want to estimate the extra resources we need for the population at the mean time $T_1$.

From the formula for std.dev, I can see I need to do:

$$s^2 \cdot N = \sum (x-x_m)^2$$

I'm not sure how I can operate on the sum.

-
Usually, the amount of users, using your application at current time is described by Poisson distribution, not normal. That's because if you have n = 10000 users and chance that each user accesses your app this minute is p = 1/1000, the chance that you have 5 users this minute is $C_{10000}^{5} \cdot \frac{1}{1000}^5 \cdot (1-\frac{1} {1000})^{9995} = \frac{(np)^k \cdot e^{-np}}{k!}$. Or you're really interested in the case, where p (and np) is quite large? Then, indeed normal distribution is relevant. – Bob Jan 21 '14 at 16:37
I guarantee the distribution in access time will not be normal. The tails will be much larger. The normal distribution extends to values below zero. – Ross Millikan Jan 21 '14 at 16:49
@RossMillikan and Bob: You are both correct that the true underlying distribution of access times will be non-normal, as you can't have negative values. However, the poisson approaches a normal under some circumstances, as do a number of other positive unbounded and skewed distributions. So as a reasonable approximation, the normal may still be useful, as >99% of the probabilty of a normal RV is contained within 3 standard deviations, so you really only need an accurate fit around the mean if you are not trying to estimate tail probabilities. – user76844 Jan 21 '14 at 18:12
Agreed, it is approximately normal, and in this case I am only interested in the peak at mean, not the tail. – stevenrcfox Jan 22 '14 at 9:37

Since you have stated that the response times appear normal/bell-shaped around the mean time, T1, you have a couple choices to make:

1. Most importantly, your data are continuously distributed, so taken literally there will be $0$ people who will access the app at exactly T1. However, there is probably some time band ($\delta$) around T1 that is relevant for your system design (e.g., $T_1\pm5min$)

At this point, if you are taking T1 and the stdev as given values of the true response of the population of users to an app push, then the answer is rather simple: it is your population size, N, multiplied by the probability that a user will respond within $T_1 \pm \delta$ after T0. Therefore, your estimated user load during this time will be $N\{\Phi(\frac{T_1+\delta}{\sigma})-\Phi(\frac{T_1-\delta}{\sigma})\}$ where $\Phi(\cdot)$ is the cumulative distribution function for a standard normal random variable. (i.e., Mean = 0, stdev=1)

However, if you are treating T1 and the stdev as rough estiamtes, subject to substantial error, then this is not a straightforward problem:

1. After deciding on an acceptable band around T1, you need to determine what degree of confidence you want for your prediction. Higher confidence leads to a less precise prediciton but less chance of not including the true value. Lets call your desired confidence C%.

2. Now, you need to use something called a tolerance interval for a normally distributed population (which we will assume based on your past observations), which is an interval that will contain a certain fraction (X%) of the population with confidence level C%.However, in your case, you are actually trying to find X% given n,$\delta$, stdev, and T1 and a specified confidence level C%.

A tolerance interval for a normally distributed has a very similar form as a confidence or prediction interval: $T_1\pm K*stdev$ where K is chosen to give a C% confidence of containing X% of the population. Since you have already chosen a relevant time band around T1, (i.e, $\delta$), you alredy know the interval of interest: $T_1\pm \delta$. In this case, $K=\frac{\delta}{stdev}$, so your problem reduces to finding what proportion of the population covered, X%, gives you the correct value of K for a given level of confidence, C%. Once you've solved for X%, the estimated number of app log ins is N*X%

You will need to use a numerical computational package to solve this portion, as you will see from the complex formulae in the link I sent you.

-