After Season 46 I wrote a post about if ‘Jury Favourability’ can predict the winner of Survivor. It showed that a member of the jury is more likely to vote for the finalists they voted WITH the most. Also, the likelihood increases the more times they voted together.
It makes sense, right? The more times two people vote together, it strengthens their alliance. Voting with another in a game of largely deception, loyalty, trust, etc is a pretty big deal. They’ve created a bond and often connect on a level which extends beyond the game, and therefore are more likely to award them with $1M…most of the time.
I’ll update that previous analysis and add a few more stats.
Firstly, it’s a massive mouthful to continually refer to the player as ‘the player who they voted with the most’. While this is the semantically accurate term and as dry as all bran, I’m just going to refer to this person (or persons) as ‘their main alliance’. There are heaps of ways this may not be correct, but you know what I mean.
TL;DR
- 263/395 jurors have voted for their main alliance at the final tribal council.
- 228 jurors who had a choice to either vote for their main alliance or someone else.
- 117/228 jurors voted for their main alliance. We would expect 87 assuming equal chance. This is a statistically significant result.
- On average, 2-3 jurors do not vote for their main alliance, or ~70% of jurors do vote for their main alliance
- Jurors are on average 1.6 times more likely to vote for their main alliance in seasons with a final three.
- The more votes with the player, the more likely it is that they will receive the jurors’ vote.
At the final tribal council, it’s not guaranteed that the juror will vote for their main alliance, but it is more likely they will.
How many times has the jury voted for their main alliance?
Out of the 395 Jurors, 263 have cast their vote for their main alliance. That player may have been their ride or die, or a late flipper from another alliance. At some point they probably put them on the Jury.
The number of Jurors varies from season to season, but on average, 2-3 jurors do not vote for their alliance. And it’s rare for more than 5 jurors not to vote for their alliance at the final tribal council.

A big caveat here, these numbers also include jurors who didn’t have a choice i.e. they have voted the same amount with each finalist. So, if we remove those jurors, what do we have?
For jurors who have a choice, whom do they choose?
I’m going to subset the 395 jurors to those where there was only one finalist they had voted with the most e.g. 4, 2, 1 for a three-finalist season. This leaves 228 jurors who had a choice to either vote for their alliance or someone else.
Of the 228 jurors, 117 voted for the player they voted with the most. Assuming random chance, we expect only 87. Putting this in a
test, we get
, showing pretty strong evidence that when there is a choice, the juror votes for their alliance. This means its about 35% above random chance. Kind of cool, really.
Are the odds different for final two vs final three seasons?
Yep.
Let’s first consider final three seasons, since that’s now the norm in the US. I’m going to filter the data to only those final three seasons and to jurors who have a choice between their main alliance and two others like, for example, Caroline in S47 voted with Sue, Sam, and Rachel, 6, 3, and 4 times respectively.
I’ll estimate the probability that the juror will vote for their main alliance at the final tribal with a Bayesian analysis. This is beta-binomial model (code below).
Inference for Stan model: anon_model.
4 chains, each with iter=2000; warmup=1000; thin=1;
post-warmup draws per chain=1000, total post-warmup draws=4000.
mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat
theta 0.45 0.00 0.04 0.37 0.42 0.45 0.47 0.53 1537 1
lp__ -114.01 0.02 0.73 -116.05 -114.18 -113.73 -113.55 -113.49 1777 1
The probability assuming equal chance is 0.33, which is well outside the 95% credible interval of (0.37, 0.53), which suggests there’s definitely a trend for voting for their main alliance.
Essentially, this means that in a final three tribal council, the juror, like Caroline, will vote for each finalist with probabilities of 0.45, 0.275, and 0.275, or 1.35-1.9 times more likely to vote for their main alliance than one of the other two, or on average 1.6 times.
Similarly, for final two seasons, I’ll subset the data and fit a Bayes model.
Inference for Stan model: anon_model.
4 chains, each with iter=2000; warmup=1000; thin=1;
post-warmup draws per chain=1000, total post-warmup draws=4000.
mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat
theta 0.67 0.00 0.06 0.55 0.63 0.68 0.71 0.78 1383 1
lp__ -42.93 0.02 0.72 -44.90 -43.11 -42.65 -42.46 -42.41 1946 1
This gives a probability of 0.68 (0.55, 0.78) or 2.1 (1.2, 3.5) times more likely to vote for their main alliance.
It’s more likely a juror will vote for their alliance in a final two season than a final three season.
Does the more times they vote together count?
Yes, the more times a juror has voted with a finalist, the more likely they are to receive their vote in the end. Again, makes sense, the more times you vote with someone the more trust you have and a stronger bond in general.

Final thoughts
At the end of every season of Survivor the jury needs to make a choice, who gets the $1M, which makes jury management perhaps the most important aspect of the game. Stacking the jury with your alliance definitely shifts the odds in your favour.
It’s obviously not guaranteed though, there are many other factors that could get someone the vote from the jury – was their social game solid or Russell Hantz style? Was their pitch on point? Did they own their mistakes? Was their game more goat than GOAT?
All these things need to come together, but the numbers still count. If two people have worked together to vote out many other players during the game, that counts for a lot, and it’s why we can see the odds of receiving the final vote increase with the number of times two people have voted together.
With that in mind, I find charts like the one below some of the most interesting in terms of how the season may end up.

Links:
- {survivoR} package
- The Sanctuary
- Google sheets data
- More of predicting winners of Survivor
Code
library(tidyverse)
# votes with the jury
df_jury <- survivoR::castaways |>
filter_us() |>
filter(season < 48) |>
filter(jury) |>
distinct(version_season, voted_with_id = castaway_id)
df_finalists <- survivoR::castaways |>
filter_us() |>
filter(season < 48) |>
filter(finalist) |>
distinct(version_season, castaway_id)
df <- map_dfr(all_us[1:47], ~voted_with(.x)) |> # functions in append
semi_join(df_jury, join_by(version_season, voted_with_id)) |>
semi_join(df_finalists, join_by(version_season, castaway_id)) |>
left_join(
survivoR::jury_votes |>
distinct(version_season, voted_with_id = castaway_id, castaway_id = finalist_id, vote),
join_by(version_season, voted_with_id, castaway_id)
) |>
group_by(version_season, jury = voted_with) |>
mutate(
is_max = n == max(n),
n_max = sum(is_max),
) |>
group_by(version_season) |>
mutate(
n_finalists = n_distinct(castaway),
n_jury = n_distinct(voted_with),
p = n_max/n_finalists
) |>
filter(vote == 1)
df_vs <- df |>
filter(n_max == 1) |>
filter(n_finalists > 1) |>
summarise(
n_jury = n_jury[1],
n_finalists = n_finalists[1],
n_eligible = n(),
voted_for_max = sum(is_max),
voted_for_other = sum(!is_max),
exp = sum(p)
)
df_vs |>
summarise(
n = sum(n_eligible),
obs = sum(voted_for_max),
exp = sum(exp)
) |>
mutate(
p = obs/n,
p_exp = exp/n,
chisq = (obs-exp)^2/exp,
p_val = 1-pchisq(chisq, 1),
index = p/p_exp
)
# other stats -------------------------------------------------------------
df_vs <- df |>
summarise(
n_jury = n_jury[1],
n_finalists = n_finalists[1],
n_eligible = n(),
voted_for_max = sum(is_max),
voted_for_other = sum(!is_max),
exp = sum(p)
)
df_vs |>
count(voted_for_other) |>
mutate(
cn = cumsum(n),
p = cn/sum(n)
)
df_vs |>
count(voted_for_other) |>
mutate(
cn = cumsum(n),
p = cn/sum(n)
)
df_vs |>
mutate(p = voted_for_max/n_eligible) |>
summarise(
n75 = sum(p >= 0.75),
n50 = sum(p >= 0.5),
n25 = sum(p >= 0.25)
)
df_vs |>
summarise(mean = mean(voted_for_other))
# bayesian model ----------------------------------------------------------
library(rstan)
library(tidybayes)
stan_code <- "
data {
int<lower=0> N;
array[N] int<lower=0> n;
array[N] int<lower=0> y;
}
parameters {
real<lower=0, upper=1> theta;
}
model {
theta ~ beta(1, 1);
y ~ binomial(n, theta);
}"
# n_max == 1 and n_finalists == 2
df_vs_1_2 <- df |>
filter(
n_max == 1,
n_finalists == 2
) |>
summarise(
n_jury = n_jury[1],
n_finalists = n_finalists[1],
n_eligible = n(),
voted_for_max = sum(is_max),
voted_for_other = sum(!is_max),
exp = sum(p)
)
dat <- df_vs_1_2 |>
select(n = n_eligible, y = voted_for_max) |>
as.list()
dat$N <- nrow(df_vs_1_2)
mod <- stan(
model_code = stan_code,
data = dat
)
mod
theta <- rstan::extract(mod, "theta")$theta
hist(theta, breaks = 60)
median(theta)/(1-median(theta))
# n_max == 1 and n_finalists == 3
df_vs_1_3 <- df |>
filter(
n_max == 1,
n_finalists == 3
) |>
summarise(
n_jury = n_jury[1],
n_finalists = n_finalists[1],
n_eligible = n(),
voted_for_max = sum(is_max),
voted_for_other = sum(!is_max),
exp = sum(p)
)
dat <- df_vs_1_3 |>
select(n = n_eligible, y = voted_for_max) |>
as.list()
dat$N <- nrow(df_vs_1_3)
mod <- stan(
model_code = stan_code,
data = dat
)
mod
theta <- extract(mod, "theta")$theta
hist(theta, breaks = 60)
median(theta)/(1-median(theta))*2
quantile(theta, c(0.025, 0.975))/(1-median(theta))*2

