I'm using the Poisson distribution to predict the number of concurrent users accessing a website. The method is described in a paper by Eric Man Wong.

This paper provides a formula for calculating the average number of concurrent users as the number of users multiplied by their time on the website divided by length of day. For example, 100 users access a system for 30 minutes during a day of length 480 minutes will have an average of 6.250 concurrent users (100 * 30 / 480).

From this I use the POISSON.DIST function in Excel to calculate the probabilities of a range of concurrent users. So for 13 concurrent users I use POISSON.DIST(13, 6.250, false) which gives 0.688%.

My question is how do I interpret this result. Does it mean that within any one day we should expect to see 13 concurrent users for 0.688% of the time (480*0.00688 = 3.3 minutes) Or in any one day there is 0.688% chance of 13 concurrent users which means that we can expect to see 13 concurrent users once every 145 days (1/0.00688).

The table generated in Excel is below

Concurrent  Probability
 0           0.19305% 
 1           1.20653%
 2           3.77042%
 3           7.85504%
 4          12.27350%
 5          15.34187%
 6          15.98112%
 7          14.26885%
 8          11.14754%
 9           7.74135%
10           4.83834%
11           2.74906%
12           1.43180%
13           0.68837%
14           0.30731%
15           0.12804%
16           0.05002%
17           0.01839%
18           0.00638%
19           0.00210%
20           0.00066%

1 Answer 1


It means that, at any given moment, the chance of there being exactly 13 users is 0.68%.

It would probably be good to make a table of number of users and %. In R this can be done with

n <- 0:30
probs <- dpois(0:30, 6.25)
tablepois <- cbind(n, round(probs*100,2))

This shows a peak at 6 and 7

  • 2
    $\begingroup$ +1, however, given that the OP seems to be using Excel, Excel code might be more helpful. $\endgroup$ Nov 22, 2013 at 22:46
  • 2
    $\begingroup$ @gung Indeed. However: 1) Maybe this will encourage the OP to use a real statistics package 2) I could do this somehow in Excel, but I am not sure exactly how. I guess I could make two columns, but how to show them here? So, that is left as an exercise for the poster :-) $\endgroup$
    – Peter Flom
    Nov 22, 2013 at 22:48
  • 1
    $\begingroup$ (from fiddling around) I gather the answer is: in the cells A2:A31 enter the series 1 through 30; in cell B2 enter the formula =POISSON(A2,6.25,FALSE) & drag this formula down to B31. In the first row, I put the headers: n & prob. Then I highlighted the range B1:B31 & inserted a "column chart". $\endgroup$ Nov 22, 2013 at 23:01
  • 3
    $\begingroup$ You can't use this to determine how long you will have to wait for 13 concurrent users because the rates from moment to moment are autocorrelated. During high periods of usage, you may hit that peak pretty often. During low periods of usage, you may not hit this level for a long time. What MAY work is to segment your time periods (e.g. high/medium/low) and get separate statistics for each. But, frankly, lots of real-world applications are overdispersed (higher variance than the poisson) -- leading you to a gamma-poisson distribution. $\endgroup$
    – zbicyclist
    Nov 22, 2013 at 23:43
  • 1
    $\begingroup$ To answer that question, you would need data on that question. That is, you'd need to record, for N minutes, how often there are 13 users (either exactly or >13 or whatever). $\endgroup$
    – Peter Flom
    Nov 22, 2013 at 23:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.