Survivor Auction analysis: Should you bid on the first covered item?

The Survivor Auction is classic. Seeing hungry people bid, win, and then binge on the food they just purchased ispretty good stuff.

It’s not always great. Remember bat soup? A covered item could be the meal of your dreams or it could be bat soup. So, when a covered item comes out should you bid on it?

I’ll be running a simulation model to determine if bidding on the first covered item is a good idea or a terrible one.

Before that, I’ll give a rundown of the data and show some summary stats of Survivor Auctions over the years.

All data is available in the {survivoR} R package and code at the bottom of the post.

TL;DR

Should you bid on the first covered item?

It’s best not to.

Should you bid on any?

Probably not.

Since this is Survivor and people want to take risks. So if they’re going to bid on one, which one should it be?

Go with the second one.

The data and considerations

I’ll use the survivor_auction and auction_details datasets. A couple of things to note:

  • I’ll only use the US version data, but it could be expanded to other versions.
  • The auctions have changed and evolved over the years, for example, Season 5 was done early and the tribe bid together, and people could pool money in earlier seasons. That was restricted in later seasons. Fortunately, none of those things should complicate what we’re looking at here.
  • What is considered a ‘bad item’ is subjective. You could argue that ‘rice and water’ isn’t a bad item but in the spirit of the Survivor Auction players wouldn’t be happy with that when they were hoping for a burger and chips or some sort of protein.

    A borderline case for me was the skewer of chicken hearts Stephen purchased in Tocantins. It’s probably not what he hoped for but it’s far from bat soup, and you can buy them at the supermarket. I’ve recorded it as ‘food and drink’ rather than a ‘bad item’ but could be convinced otherwise. If the skewer had been regular chicken meat it’d be fine.

    Another case was Will purchasing his removal from the auction at the very beginning, which is bad but at camp, he found the location for hidden rations. The result was good even though he couldn’t participate in the rest of the auction. I’ve categorised this as ‘food and drink’.
  • Where an item is for multiple people it is still considered one item. For example, letters from home are a common item. Usually, one person wins the bid and then it’s opened up to everyone. I consider this as one item.
  • In the case where a covered item is purchased and then purchased by another player e.g. Austin buying the giant fish eyes it is only one item but auctioned off twice. The second time it was uncovered though.
  • Occasionally they are given the option to switch to an alternative covered item. One of them is likely bad and the other isn’t. So far most have refused but Erik in Micronesia switched and got the good item. I’ve ignored this for the moment for data reasons but it is worth looking into.

Survivor Auctions aren’t super clean from a data point of view. There aren’t strict rules or the rules have changed and it’s a big collection of edge cases. But I think the way I’ve structured it makes sense.

The problem

Whether or not you should bid on an item depends on a few points of uncertainty:

  • The number of players attending the Survivor Auction
  • The number of items at the Survivor Auction
  • The number of covered items
  • The number of ‘bad items’

These points affect the chances of winning bat soup. Only one of them is known to the player. Three of them are unknown.

We need to understand how each of these varies from season to season to know if it’s a good idea to bid or not.

Summary stats

The number of players at a Survivor Auction

The first auction was held in Season 2 and there have been 17 in total with its return in Season 45. It is held at different stages of the game. The number of players at the Survivor Auction ranges from 6 to 12, and on average 8 people.

Code

Number of castaways at the auctionNumber of seasons
62
76
83
94
101
121
Table 1

How many people are at the Survivor Auction could help to estimate how many items and therefore covered items there may be. The more people, the more items seem like a reasonable assumption. (Spoiler: It doesn’t matter).

The number of items

The number of items at each auction varies from 5 to 12 items, and on average 8 items.

Code

Number of items up for grabsNumber of seasons
52
64
72
84
91
102
111
121
Table 2.1

I’ve binned the items into 5 main categories. Without too much surprise the majority are food and drink.

CategoryNumber of items
Food and drink95
Comfort8
Advantage13
Letter or message from home7
Bad item9
Table 2.2

The number of covered items

Every auction includes covered items where the player doesn’t know what they’re bidding on. The number of covered items varies from 1 to 5, and on average 3 items are covered.

Code

Number of covered itemsNumber of seasons
14
24
34
43
52
Table 3.1

The majority of covered items are food and drink as well, a few are advantages and 9 are bad items.

CategoryNumber of items
Food and drink34
Advantage3
Bad item9
table 3.2

The number of ‘bad items’

Here are the 9 bad items that have been purchased over the years.

Code

SeasonItem numberDescriptionCastawayCostThe nth covered item
S2 The Australian Outback11Glass of river waterAmber$2001st
S5 Thailand3Backed grubsSook Jai$801st
S6 The Amazon2ManiocAlex$2401st
S13 Cook Islands6Sea cucumberSundra$1403rd
S16 Micronesia3Fruit bat soupNatalie$2403rd
S19 Samoa2Sea noodles and slug guts with parmesan cheeseShambo$2401st
S26 Caramoan8Pig brainBrenda$3004th
S28 Cagayan4Rice and waterTrish$603rd
S45 455Two giant fish eyesKaturah$4802nd
Table 4

There has been a maximum of 1 bad item purchased for a given season. On average, 1 in every 2 seasons includes a bad item. Honestly, not as many as I remember.

Number of ‘bad items’Number of seasonsPercentage
0847%
1953%
Table 5

The bad item is often revealed at different positions i.e. either the first, second, etc, covered item.

Position of ‘bad item’Number of seasonsPercentage
First covered item444%
Second111%
Third333%
Fourth111%
Fifth00%
Table 6

Out of the 9 seasons that had a bad item 4 were revealed in the first covered item and the other 5 across the second, third, and fourth covered items. There has only been a bad item under the second covered item on one occasion and it was in 45. If this was all we were going by, choosing the second item may be the way to go.

There has also only been one bad item under the 4th covered item and never under the 5th. There have only been 5 covered items on 2 occasions though. Not saying it won’t happen in the future.

The simulation

I’ll be fitting a Bayesian simulation model to estimate the probability of which covered item holds the bad one, if any.

Each iteration of the simulation is done by the following:

  1. Draw the number of covered items in the auction.
  2. Draw the number of ‘bad items’ in the season.
  3. Draw the position of the ‘bad item’.

1. Number of covered items

The number of covered items is drawn from a Dirichlet-Mutlinomial distribution using a non-informative prior.

    \[\begin{array}{rl} \mathbf{\theta} & \sim Dirichlet(\mathbf{\mathbf{y}} + 1) \\ \mathbf{\phi}_{\text{cvd}} & \sim Multinomial(\mathbf{\theta}) \end{array}\]

Where \mathbf{y} is the observed number of seasons with that many covered items (table 3).

This will output a vector of probabilities from which a single number is drawn for each iteration.

2. Number of ‘bad items’

The number of ‘bad items’ is drawn from a Beta-Bernoulli distribution using a non-informative prior.

    \[\begin{array}{rl} \mathbf{\gamma} & \sim Beta(\alpha+1, \beta+1) \\ \mathbf{\phi}_{\text{bad}} & \sim Bernoulli(\gamma) \end{array}\]

where \alpha and \beta are 8 and 9 from the table above. For each iteration, the number of ‘bad items’ is drawn from a Bernoulli distribution using \gamma_i. I’m restricting the simulation to have only one bad item but it could be expanded to more using a binomial.

In S16 Micronesia, Erik purchased an item and was offered a switch with another item. He switched and got Nachos instead of Jarred Octopus. We know that there were two in a season but weren’t won. An edge case I’m willing to ignore right now.

3. Position of the ‘bad item’

Similar to step 1, the position of the bad item is drawn from a Dirichlet-Mutlinomial using each draw from 1 and 2.

    \[\begin{array}{rl} \mathbf{\theta}_n & \sim Dirichlet(y_{\text{pos}, n} + 1 | \phi_{\text{cvd}}, \phi_{\text{bad}}) \\ \mathbf{\phi}_{\text{pos}} & \sim Multinomial(\mathbf{\theta}_n) \end{array}\]

where y_{\text{pos}} is the vector of frequencies that the bad item appeared (table 6).

Simulation

I’ll run 40,000 simulations. Each simulation can be considered a season.

Simulation code

library(tidyverse)
library(dirmult)

# set main data frame
df0 <- survivoR::auction_details |>
  filter(
    version == "US",
    auction_num == 1
    ) |>
  distinct(version_season, item, item_description, category, covered) |>
  group_by(version_season) |>
  summarise(
    n_items = n(),
    n_covered = sum(covered),
    n_bad = sum(category == "Bad item"),
    pos_first_bad = cumsum(covered)[which(category == "Bad item")[1]]
  ) |>
  left_join(
    survivoR::survivor_auction |>
      count(version_season, name = "n_cast"),
    by = "version_season"
  ) |>
  mutate(pos_first_bad = replace_na(pos_first_bad, 99)) |>

# parameter to run the sim after a certain number of items are revealed.
.after <- 0

# data
df <- df0 |>
  filter(pos_first_bad > .after & n_covered > .after)

# number of items
df_n_items <- df |>
  count(n_items)

# number of covered items
df_n_covered <- df |>
  count(n_covered)

# number of bad items
df_bad <- df |>
  count(n_bad) |>
  mutate(p = n/sum(n))

# position of first bad
df_pos_first_bad <- df |>
  filter(pos_first_bad < 99) |>
  drop_na() |>
  count(n_covered, pos_first_bad) |>
  group_by(n_covered) |>
  mutate(p = n/sum(n)) 

# simulation
n_covered <- table(df$n_covered)
n_bad <- table(df$n_bad)

# vector of freqs for position simulation
n_pos_obs <- map((.after+1):5, ~{
  i <- df_pos_first_bad |>
    filter(n_covered == .x) |>
    pull(pos_first_bad)
  n <- df_pos_first_bad |>
    filter(n_covered == .x) |>
    pull(n)
  obs <- rep(1, .x-.after)
  obs[i-.after] <- obs[i-.after] + n
  obs
})

# number of sims
n_sims <- 40000

# draw the probabilities
# theta
p_draws_n_covered <- rdirichlet(n = n_sims, alpha = n_covered+1)

# gamma
p_draws_n_bad <- rbeta(n_sims, n_bad[1]+1, n_bad[2]+1)

# draw the values
# y_covered
draws_n_covered <- apply(p_draws_n_covered, 1, function(x) sample((.after+1):5, 1, prob = x))

# y_bad
draws_n_bad <- rbinom(n = n_sims, 1, prob = p_draws_n_bad)

# sample position
pos <- rep(0, n_sims)

# run loop
fixed_n <- FALSE
i <- 3
equal_prob <- FALSE
for(k in 1:n_sims) {
  if(draws_n_bad[k] == 1) {
    if(!fixed_n) {
      i <- draws_n_covered[k]-.after
    } 
    
    if(equal_prob) {
      pos[k] <- sample(1:i, 1, prob = rep(1/i, i))
    } else {
      p_k <- rdirichlet(1, alpha = n_pos_obs[[i]])
      pos[k] <- sample(1:i, 1, prob = p_k)
    }
  }
}

# get the probs
table(pos)/n_sims

Analysis

The vector pos holds all the simulated positions of the ‘bad item’. I’ve coded position ‘0’ for the cases where there wasn’t a bad item, or interpreted as the proportion of seasons that didn’t have a bad item. This sits at 53% (9/17) which makes sense.

The sum of the positions 1 to 5 is 47% or the probability that there will be a ‘bad item’. The next part is interpreting the probabilities at each position.

The probability that the first item will be a ‘bad item’ is 25%. This is the highest out of all positions. You may think that’s the worst one to bid on. The reason why the others are low is because the season may only have 1 covered item, or 2, or 3, etc. This probability also accounts for the unknown number of covered items.

We also have to consider how this plays out. Let’s assume you don’t bid on the first item. It turned out it’s a good item and then another covered item is presented. Should you bid on this item?

In this case, the probabilities change. We know with certainty that the first item was good, so the probability that it is bad goes to 0. We also know with certainty that at least 2 covered items are in the auction. So what are the probabilities now?

Thinking ahead briefly we could extend this to the 3rd item, 4th, etc. The table below details all the scenarios.

After ‘n’ covered items are revealedNo bad item1st covered item2nd3rd4th5th
053%25%9%9%3%1%
150%23%18%7%2%
256%30%12%3%
340%52%8%
498%2%
Table 7. The probability the bad item is in the nth covered item

Based on this, skipping the first one and bidding on the second one is probably the best but it’s much of a muchness.

What if the number of covered items is known?

If the number of covered items is known (or we simply make an assumption), it changes slightly.

Let’s assume there are 3 covered items since there are on average 3. The table is now…

After ‘n’ covered items are revealedNo bad item1st covered item2nd3rd
053%15%8%24%
150%13%38%
255%45%
Table 7. The probability the bad item is in the nth covered item

In this case, go with the second one, maybe the first, but don’t go with the third.

The best strategy

The best strategy is to not bid on the covered items.

But that’s boring, huh? Ok, bid on the second one instead.

If the first one is the bad item then by our assumptions and past seasons there is only one bad item so you should be safe from there. Of course, there still could be though, it just hasn’t happened before.

Final thoughts

Have you ever rolled a standard 6-sided die and tallied up the results? You’re likely to roll a single number 0, 1, or 2 times, but could be more. If you estimate the probabilities from the results you’ll just get nonsense. We know the chance to roll a single number is 1/6 and not 0/6 or 2/6 or whatever.

That’s kind of what’s happening here. If we get to season 40k we’ll probably find that number of covered items and the position of the bad items balance out. I could be wrong. There could be subtle trends we pick up on. I’ll follow up after season 40k.

The best strategy at the Survivor Auction (in my opinion) is to just slam down 500 bucks or however many bucks you’ve got on the first food item you see.

Anyway, that was a fun way to say it doesn’t really matter that much! At the very least it should give you a good idea of how you can use the auction_details data set.

Follow me on social media: