An approach finding the likely overlap of events lasting a certain time First of all, I beg forgiveness for the "do my work for me" nature of this question.
I am doing some technical analysis of our software integration with a 3rd party software system. We make requests throughout the day to the 3rd party system, and it responds to those requests within a period of time.
I would like to be able to make a prediction about the maximum number of requests being "alive" at the same time.
The information I have is as follows

*

*Number of requests per day

*Duration of each request (time it takes before we get the response)

*45% of daily requests are made between 0800-1300, with each hour being roughly the same volume

Ideally, I would like to be able to make the following prediction:
The likelihood of N overlapping requests = L%
For example, likelihood of 2 overlapping requests = 95%, likelihood of 3 overlapping requests = 60%, etc....
 A: The usual model for this case is the Poisson distribution, which is
$$
Pr(X=k)={\lambda^ke^{-\lambda}\over k!}
$$
where $k$ is the number of clashes. Say that the duration of a request is one second, and you have an average of 0.5 requests per second, then $\lambda=0.5$.
Then the chance of zero requests in a second can be calculated with $Pr(X=0)=0.5^0e^{-0.5}/1$, the chance of one request in a second is $Pr(X=1)=0.5^1e^{-0.5}/1$, the chance of two requests per second is $Pr(X=2)=0.5^2e^{-0.5}/2$, the chance of three requests per second is $Pr(X=3)=0.5^3e^{-0.5}/6$ and so on.
Here is a short computer program which calculates some values:
package main

import (
    "fmt"
    "math"
)

func fac(k int) float64 {
    var j = 1
    for k > 0 {
        j *= k
        k--
    }
    return float64(j)
}

func pois(l float64, k int) (p float64) {
    p = math.Exp(-l)
    p /= fac(k)
    p *= math.Pow(l, float64(k))
    return p
}

func main() {
    l := 0.5
    for k := 0; k < 5; k++ {
        fmt.Printf("%d %.3f\n", k, pois(l, k))
    }
}

You can run it online here.
For example if the duration of a request is one minute, and there are three requests per hour, then
$$
\lambda=3/60=0.05 \text{ requests/minute}.
$$
