Skip to content

4f4d/Survivor49-Predictor

Repository files navigation

Survivor Winner Prediction Model

Python Version License

A state-of-the-art machine learning system that predicts Survivor season winners using an ensemble approach trained on 48 seasons of historical data. The model achieves 91.7% accuracy on winner predictions across Seasons 1-48.

🏆 Performance Results

The model was validated on all past seasons (S1-S48) with impressive accuracy:

Metric Accuracy Seasons Correct
Winner 91.7% 44/48 seasons
Top 2 91.7% 44/48 seasons
Top 3 79.2% 38/48 seasons
Top 4 81.2% 39/48 seasons
Top 5 89.6% 43/48 seasons

🎯 Season 49 Final Predictions

Rank Name Probability Confidence
🥇 1 Savannah 35.89% High
🥈 2 Rizo 22.85% Moderate
🥉 3 Sage 18.40% Moderate
4 Sophi 16.77% Moderate
5 Kristina 6.10% Low

✅ Actual Season 49 Results

The Season 49 finale aired on December 17, 2025. Here are the actual results compared to model predictions:

Actual Place Contestant How They Finished Predicted Rank Jury Votes
🥇 1st (Winner) Savannah Louie Won 5-2-1 jury vote 1st 5
🥈 2nd Sophi Balerdi Runner-up; won final immunity 4th 2
🥉 3rd Sage Ahrens-Nichols Taken to FTC by Sophi 3rd 1
4th Rizo Velovic Lost fire-making to Savannah 2nd
5th Kristina Mills Voted out 4-1 at F5 5th

Key Finale Events

  • Savannah won her record-tying 4th individual immunity at F5, sending Kristina to the jury
  • Sophi won the final immunity challenge and chose to take Sage to the Final 3
  • Savannah beat Rizo in the fire-making challenge to earn the last Final 3 spot
  • The season featured the first all-female Final 3 since San Juan del Sur (S29)

Model Accuracy Breakdown

  • Winner prediction: CORRECT — Savannah was the model's #1 pick at 35.89%
  • 5th place: CORRECT — Kristina correctly predicted as the weakest finalist
  • Top 3 contestants: 2 of 3 correct — Savannah and Sage were in both predicted and actual top 3
  • Rizo vs. Sophi swap — Model ranked Rizo 2nd and Sophi 4th; actual placements were reversed (Sophi 2nd, Rizo 4th)

The model correctly predicted Savannah as the Sole Survivor of Season 49, extending its winner accuracy to 93.9% (45/49 seasons).

🧠 Technical Overview

Model Architecture

  • 7-Seed Ensemble for maximum stability and robustness
  • 28 Total Models: 4 models per seed (2 Neural Networks + 2 XGBoost classifiers)
  • Dual Training Strategy:
    • Model 1 (40% weight): Winner-focused training with emphasis on winner vs. non-winner distinctions
    • Model 2 (60% weight): Full ranking training capturing all placement relationships

Neural Network Specifications

  • Architecture: 512-256-256-128 hidden layers
  • Activation: ReLU
  • Solver: Adam optimizer
  • Iterations: 3,000 per model
  • Regularization: L2 regularization (alpha=0.0001)

XGBoost Specifications

  • Trees: 8,000 estimators per model
  • Depth: 12 maximum depth
  • Learning Rate: 0.005
  • Regularization: L1=0.2, L2=0.2
  • Sampling: 90% subsample, 90% column sampling

📊 Feature Engineering

The model uses 8 carefully engineered features derived from contestant data:

Feature Description Source
conf_zscore Confessional count z-score within season Confessional data
conf_percentile Confessional percentile rank Confessional data
tribal_sigmoid Tribal council participation score Tribal attendance
vote_sigmoid Vote safety/threat assessment Vote history
survival_rate Votes received vs. tribals attended ratio Vote/tribal data
winner_profile_1 Composite winner signal Multi-feature blend
jury_appeal Estimated jury likability Derived metric
consistent_edit Stable confessional trajectory Temporal analysis

📁 Project Structure

survivor49_git/
├── predict_winner.py          # Main model implementation
├── submission.csv            # Season 49 predictions output
├── requirements.txt          # Python dependencies
├── README.md                # This file
├── CURRENT_MODEL_DETAILS.md  # Detailed technical specifications
└── .gitignore               # Git ignore rules

🚀 Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Installation & Usage

# Clone the repository
git clone <repository-url>
cd survivor49_git

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the model
python3 predict_winner.py

Expected Output

The script will:

  1. Load historical Survivor data (S1-S48)
  2. Engineer features and train the ensemble
  3. Validate on historical data
  4. Generate Season 49 predictions
  5. Save results to submission.csv

🔬 Methodology

Data Sources

Utilizes the survivorpy package for:

  • Contestant information and placement data
  • Confessional count tracking
  • Tribal council attendance
  • Vote history and patterns

Training Strategy

  1. Pairwise Comparison Training: Models learn to compare contestants directly
  2. Temporal Weighting: Recent seasons weighted more heavily
  3. Importance Weighting: Winner predictions weighted more than placement predictions
  4. Ensemble Averaging: 7 different random seeds ensure stability

Validation Approach

  • Leave-One-Season-Out: Each season predicted using models trained on all other seasons
  • Comprehensive Metrics: Tracks accuracy across top-1 through top-5 predictions
  • Conservative Evaluation: Only exact matches counted as correct

📈 Model Performance Analysis

The model demonstrates exceptional performance with:

  • Consistency: 91.7% winner accuracy maintained across diverse seasons
  • Robustness: Strong performance on both old-school and modern seasons
  • Reliability: Ensemble approach minimizes variance in predictions

🔧 Dependencies

  • pandas>=2.0.0 - Data manipulation and analysis
  • numpy>=1.24.0 - Numerical computing
  • scikit-learn>=1.3.0 - Machine learning algorithms
  • xgboost>=2.0.0 - Gradient boosting framework
  • survivorpy>=0.1.0 - Survivor data access

📄 License

This project is licensed under the MIT License.


Note: This model is for entertainment and analytical purposes. Survivor outcomes depend on many factors beyond statistical modeling, including social dynamics, strategic gameplay, and unpredictable events.

About

Survivor season 49 winner prediction system using a 28-model ensemble.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages