🧊 EndGame Theory: Optimal Strategies on Ice

πŸ’‘ Inspiration

Curling feels like chess on ice, yet strategies often rely on intuition.
We wanted to find out when and why certain decisions β€” like Power Plays or blanking β€” are truly optimal.
So, we combined game theory and data analytics to model curling as a strategic game between two rational players.


🧠 What We Learned

  • How to quantify the value of the hammer and model win probabilities.
  • When blanking an end actually improves winning chances.
  • How different nations show unique shot patterns and risk styles.
  • How to use Markov Decision Processes (MDP) to simulate tactical outcomes.

πŸ—οΈ How We Built It

  • Merged Games.csv, Ends.csv, and Stones.csv
  • Engineered features: hammer flag, score differential, shot success, PowerPlay indicator
  • Used Python (pandas, PySpark, scikit-learn) for modeling and Plotly for visualization
  • Modeled shot transitions with an MDP framework

🚧 Challenges

  • Handling complex stone coordinate data
  • Dealing with small samples for rare scenarios (Power Plays, final ends)
  • Translating game theory payoffs into real curling metrics
  • Making results both mathematical and coach-friendly

🧩 Results

  • Blanking the 7th end often increases winning odds
  • Optimal Power Play when trailing after 5th end
  • Country insights:
    • πŸ‡¨πŸ‡¦ Canada β†’ Efficient, conservative
    • πŸ‡ΈπŸ‡ͺ Sweden β†’ Defensive, precise
    • πŸ‡°πŸ‡· Korea β†’ Balanced and adaptive
    • πŸ‡³πŸ‡΄ Norway β†’ Aggressive, high-risk

🏁 Takeaway

We built a data-driven and game-theoretic model that transforms curling analysis from descriptive to prescriptive.
This framework can help predict the optimal shot choice for any in-game situation β€” the future of smart curling analytics.

Built With

  • dplyr
  • ggplot2
  • matplotlib
  • numpy
  • pandas
  • purrr
  • python
  • rstudio
  • seaborn
  • sklearn
  • statsmodels
  • stringr
  • tidyr
Share this project:

Updates