Suppose one wishes to find the Poisson probability of seeing exactly $k$ occurrences of some event within some well-defined interval, where the mean number of occurrences in that interval is expected to be $\lambda$. That is to say, we seek

$$P(k) = \frac{e^{-\lambda} \lambda^k}{k!}$$To do this one should ...

**R**: use the functiondpois(x=k, lambda=λ)

As an example, the probability of seeing exactly 3 blemishes on a randomly selected piece of sheet metal, when on average one expects 1.2 blemishes, can be found with::

> dpois(x=3, lambda=1.2) [1] 0.2734375

**Excel**: use the functionPOISSON.DIST(k, λ, FALSE)

The last argument for this function, when $FALSE$, indicates that the probability returned should not be cumulative (i.e., it only returns $P(k)$, not $P(0) + P(1) + \cdots + P(k)$).**TI-83**: use the funcitonpoissonpdf(λ,k)

This function can be found by making the following menu selections::

`poissonpdf(`

Suppose one wishes to fine the cumulative Poisson probability of seeing $k$ or fewer occurences of some event within some well-defined interval or range, where the mean number of occurrences in that interval is expected to be $\lambda$. That is to say, we seek $$P(X \le k) = P(0) + P(1) + P(2) + \cdots + P(k) = \sum_{0 \le i \le k} \frac{e^{-\lambda} \lambda^k}{k!}$$ To do this, one should ...

**R**: use the functionppois(x=k, lambda=λ)

As an example, suppose that in a given call center that gets on average 13 calls every hour, one can calculate the probability that in a given $15$ minute period the call center will receive less than $6$ calls with the following:

> ppois(5, lambda = 13/4) [1] 0.8888132

**Excel**: use the functionPOISSON.DIST(k, λ, TRUE)

The last argument for this function, when $TRUE$, indicates the probability returned should be cumulative. That is to say, it gives the sum $P(0) + P(1) + \cdots + P(k)$.**TI-83**: use the funcitonpoissoncdf(λ,k)

This function can be found by making the following menu selections::

`poissoncdf(`

**R**: use the functionrpois(x=n, lambda=λ)

As an example, suppose over the course of 15 weeks, every Saturday -- at the same time -- an individual stands by the side of a road and tallies the number of cars going by within a 120-minute window. To simulate a set of observations for this situation under the assumption that the mean number of cars that go by per hour is actually $52$, one can use:

> rpois(15, lambda=104) [1] 96 113 106 104 101 96 96 114 109 91 94 95 108 113 113

generate.poisson.value = function(lambda) { L = exp(-lambda) k = 0 p = 1 repeat { k = k + 1 p = p * runif(1) if (p <= L) { break } } return(k-1) }

**Excel**:*There is no built-in Poisson analog to BINOM.INV(), so Poisson-distributed numbers can't be generated in the same way. If one absolutely has to generate Poisson-distributed numbers in Excel, one should look up how to create a VBA (i.e., Visual Basic) script to execute Donald Knuth's algorithm described above.*