On day 73 of season 11 of Alone, Dub commented that he thought it would be over around day 60. Then, a note flashed up that the average number of days for the winner was 73 days.
That got me thinking:
- Is that true?
- What is the probability that at least two survivalists will make it past day 60?
- Was Dub a bit ambitious to expect it to be done in 60 days?
TL;DR
- Yes. The average number of days lasted by the winner is 73.
- About 82%. That’s pretty high.
- Yeah, probably.
The average number of days lasted by the winner
Firstly, let’s look at the winners.
Roland Welker survived 100 days in season 7 the million dollar challenge. This was a bit different, with the goal being to last 100 days rather than just being the last person standing. Callie Russell came second and was pulled by medical on day 89. Roland would have won on day 90 if it was a typical season. I have set his number of days lasted to 90 to calculate the average for a typical season.
Season 4 was the pairs season. There were 7 pairs, 14 people in total. If one taps, the other taps as well. Since only 6 taps were needed to claim a winner, there is a lower chance of lasting a long time. This season is different enough that I have removed it entirely.
Considering those things, the average number of days the winner of a typical season lasted is 73.
What are the chances of the duration of the winner being more than 60 days?
There are a couple of ways to do this. The simplest way is to estimate the distribution of days lasted by the winner. I’ll do that in stan.
The number of days can’t be lower than 0, so I’ll choose a log-normal distribution. I’ll also remove season 11 from the data to maintain Dub’s point of view at that point in the challenge.
library(tidyverse)
library(alone)
library(rstan)
data_winning_days <- survivalists |>
filter(
result == 1,
!season %in% c(4, 11)
) |>
mutate(days_lasted = ifelse(days_lasted == 100, 90, days_lasted))
mean(data_winning_days$days_lasted)
# fit stan model
mod_winning_days <- stan(
model_code = "data {
int N;
vector<lower=0>[N] days;
}
parameters {
real<lower=0> mu;
real<lower=0> sigma;
}
model {
// prior
mu ~ normal(4.3, 2);
// model
target += lognormal_lpdf(days | mu, sigma);
}
generated quantities {
real<lower=0> y_hat;
y_hat = lognormal_rng(mu, sigma);
}",
data = list(
N = 9,
days = data_winning_days$days_lasted
)
)
hist(y_hat, breaks = 60)

The distribution is centered around 73 and has a longer tail on the upper end. There are a few instances where the number of days lasted is around 150 days. I honestly don’t think we’ll ever see that, but there’s a remote chance we could, I guess.
Now, we’ll estimate the probability the number of days of the winner is more than 60-100.
p_tbl <- map_dfr(seq(60, 100, 5), ~{
tibble(
days = .x,
p = mean(y_hat >= .x)
)
})
p_tbl
| Number of days | Probability |
|---|---|
| 60 | 0.82 |
| 65 | 0.7 |
| 70 | 0.55 |
| 75 | 0.4 |
| 80 | 0.28 |
| 85 | 0.19 |
| 90 | 0.12 |
| 95 | 0.08 |
| 100 | 0.06 |
The chances that the number of days lasted by the winner is 60 days or more is 82%, which is pretty high.
Survival Analysis
The other thing we can do is estimate the survival probabilities.
I’d usually take a Bayes approach but long story short the distribution isn’t super easy to fit. It’s pretty much linear until about day 70, then has a tail. It’s probably a mixture of distributions, so I’m fine with the frequentist approach and use the Kaplan-Meier method, this time.
One minor thing is that the curve is less of a curve and more of a step function. So to make things easy for myself, I’m going to fit a sneaky loess to smooth it out. This will give a value for the survival probability for each day (I’m also doing this because there’s no out-of-the-box predict.survfit function).

This shows the probability an individual will survive past a given number of days e.g. there is approximately 50% chance someone will survive until day 40.
Using this we can calculate the probability at least two people survive until day 60, 80, or whatever. In a season that started with 10 people we can simulate how many survive from a binomial distribution.
days <- seq(60, 100, 5)
df_p <- df_surv |>
filter(days_lasted %in% days)
# prob 2 and 3 people will make it to at least day x
map_dfr(days, ~{
p <- as.numeric(df_p$st[df_p$days_lasted == .x])
y <- rbinom(4000, 10, prob = p)
tibble(
days = .x,
p = p,
p2 = mean(y >= 2),
p3 = mean(y >= 3)
)
})
| Days lasted | Individual survival probability | Probability at least 2 survive | Probability at least 3 survive |
|---|---|---|---|
| 60 | 0.28 | 0.82 | 0.56 |
| 65 | 0.25 | 0.76 | 0.49 |
| 70 | 0.20 | 0.63 | 0.37 |
| 75 | 0.25 | 0.44 | 0.17 |
| 80 | 0.11 | 0.28 | 0.08 |
| 85 | 0.07 | 0.15 | 0.03 |
| 90 | 0.04 | 0.06 | 0 |
| 95 | 0.03 | 0.03 | 0 |
| 100 | 0.03 | 0.03 | 0 |
The probability that at least 2 people will survive beyond day 60 is 0.82, which aligns with the first method.
The probability at least 2 will survive to day 80 is 0.15 and at least 3 make it there is 0.08. In season 11, Dub finished in the 3rd place on day 80 which makes it an exceptional season. All three did really well.
Final thoughts
Dub was somewhat ambitious to think it would be all over around day 60, even though it was within the Arctic Circle and one of the most demanding environments.
For what it’s worth, I loved season 11. It is probably my favourite, and a lot of it has to do with Dub. He’s such a genuine dude. I was gutted for him when he thought his family would be in the chopper.
Anyway, looking forward to the next one.
You can get your hands on the data from the {alone} R package on Github or directly from the Google Sheets
Follow me on social media:


