# Probability calculation, system uptime, likelihood of occurence.

A little stumped! This is probably a very basic probability question, but I am lost.

At work I was asked the probability of a user hitting an outage on the website. I have some following metrics. Total system downtime = 500,000 seconds a year. Total amount of seconds a year = 31,556,926 seconds. Thus, p of system down = 0.159 or 1.59%

Now, here is the tricky part. We have a metric for amount of total users attempting to use the service = 16,000,000 during the same time-frame. However, these are subdivided, in the total time spent using the service. So, lets say we have 7,000,000 users that spend between 0 - 30 seconds attempting to use the service. So for these users what is the probability of hitting the system when it is unavailable? (We can assume an average of 15 seconds spent total if this simplifies things)

I looked up odds ratios and risk factors, but I am not sure how to calculate the probability of the event occurring at all.

First of all, this is probably best asked at stats.stackexchange.com

Aside from that, your question has a few distinct parts to it.

The calculated probability of 0.0159 is strictly the probability of there being an outage in any single random second in a year. If we make the simplifying assumption that the second to second probabilities of outage are not contingent on each other (which is a false assumption because outages are usually in blocks of time longer than a second) then the odds of experiencing an outage in any random 30 second session in a year is hyper-geometric:

$\mathbb{P} \lbrace outage~in~30~seconds \rbrace = 1 - \mathbb{P} \lbrace no~outage~in~30~seconds \rbrace$

$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ = 1 - \frac{ \binom{31056926}{30} \binom{500000}{0} }{ \binom{31556926}{30} }$

This works out to 0.3806 or 38% chance of experiencing at least one second of outage in a 30 second session.

But this is perhaps not the question you are actually trying to address. One could also ask the question: given a random session then what are the odds of an outage in that session. To do this we need to make the simplifying assumption that the system load (number of concurrent sessions) does not affect system availability (this is also likely to be wrong). With this assumption, the probability can be found by marginalizing over the session statistics (we will denote the length of time of a single session as $r$ for residency, and the number of sessions that are resident for length $r$ as $n_r$):

$\mathbb{P} \lbrace session~outage \rbrace = \frac{1}{16000000} \sum_{r=1}^{31056926} n_r (1 - \frac{ \binom{31056926}{r} \binom{500000}{0} }{ \binom{31556926}{r} })$

One could introduce more nuanced Markov models to account for the affect of concurrent sessions and the dwell time of outages, but I'm not sure there would be a substantial gain in the predictive power and significance of the estimators, despite the clear inaccuracy of the simplifying assumptions that have been made.

I think you would have to assume something about how often the system switches between down and up.

If all the downtime occurs in a single block then the probability of the user hitting the system when it's unavailable is about 1.59% again.

But if the behavior in each millisecond is independent of any other millisecond then the probability that the system is down at some point within a given 15 second block is almost 100% whereas the probability that it's down during the entire 15 second block is almost 0.

• What if it can be approximated that such outage is distributed equally, approximately every 18,000 seconds of downtime are followed by 604,800 seconds of uptime (about 5 hours a week of downtime) – Terry Felkrow Jan 22 '11 at 16:38
• Then since 15 seconds is very little compared to 5 hours, there is a very small probability that the user tries to access the system just as it is switching between up and down, so the probability of running into a system that is down is still about 1.59%... – Bjørn Kjos-Hanssen Jan 23 '11 at 5:58