Chapter 21 Exercises: Modeling Combat Sports and Tennis

Part A: Conceptual Questions (Exercises 1-8)

Exercise 1. Explain why a single Elo rating is insufficient for modeling a tennis player's true ability. Describe at least three dimensions of performance heterogeneity that a single number fails to capture, and for each, explain how it could lead to systematic misprediction.

Exercise 2. The Glicko-2 system introduces a volatility parameter ($\sigma$) in addition to the rating ($\mu$) and rating deviation ($\phi$). Describe a concrete scenario in MMA where two fighters have identical ratings and rating deviations but different volatilities. How should a bettor interpret this difference when pricing their next fight?

Exercise 3. The boxing proverb "styles make fights" implies that pairwise outcomes are not fully determined by individual skill levels. Provide three specific examples from MMA or boxing where style matchups historically produce outcomes that deviate significantly from what overall ratings would predict. For each, identify the specific mechanical interaction that creates the deviation.

Exercise 4. Compare and contrast the challenges of building a live win probability model for tennis versus MMA. Address at least four structural differences (scoring system, data granularity, fight-ending events, match duration) and explain how each difference affects the modeling approach.

Exercise 5. A tennis player has the following surface-specific win rates: hard court 68%, clay 54%, grass 75%. Their overall Elo rating corresponds to a 65% expected win rate against the average opponent. Calculate the surface affinity score for each surface and explain what these scores reveal about the player's style.

Exercise 6. In combat sports, "chin deterioration" refers to the progressive decline in a fighter's ability to absorb strikes without being knocked out. Discuss the ethical and practical implications of modeling this phenomenon. Should a model that detects accelerating chin deterioration in a fighter inform any stakeholders beyond the bettor? What are the limitations of using career statistics as a proxy for neurological health?

Exercise 7. Explain why the optimal K-factor for an MMA Elo system (typically 100-200) is much larger than the optimal K-factor for a tennis Elo system (typically 20-32). In your answer, address the frequency of competition, the information content of each result, and the typical career length in each sport.

Exercise 8. A surface-adjusted Elo system for tennis blends overall and surface-specific ratings using a weighting factor that depends on the number of surface-specific matches played. Explain the statistical rationale for this blending approach. What is the analogous concept in Bayesian inference? What happens if you set the blending weight too aggressively toward the surface-specific rating for a player with few matches on that surface?

Part B: Calculations (Exercises 9-15)

Exercise 9. Fighter A has an Elo rating of 1680 and Fighter B has an Elo rating of 1540. Calculate: (a) the expected win probability for Fighter A using the standard Elo formula; (b) the rating update for both fighters if Fighter A wins by submission, using a K-factor of 120 and a submission finish multiplier of 1.20; (c) the rating update if instead Fighter B wins by split decision, using a split decision multiplier of 0.85.

Exercise 10. A tennis player has played 15 matches on clay with a surface-specific Elo of 1620 and an overall Elo of 1700. The blending system uses the formula $w = n / (n + 50)$ where $n$ is the number of surface matches. (a) Calculate the blended clay rating. (b) If the player then plays 35 more clay matches and their surface-specific Elo changes to 1580, recalculate the blended rating. (c) Interpret the difference between parts (a) and (b).

Exercise 11. In the Glicko-2 system, a player has $\mu = 1.5$ (Glicko-2 scale), $\phi = 0.8$, and $\sigma = 0.06$. They face an opponent with $\mu_j = 0.5$ and $\phi_j = 1.2$. (a) Compute the $g(\phi_j)$ function value. (b) Compute the expected score $E(\mu, \mu_j, \phi_j)$. (c) Explain qualitatively how the high $\phi_j$ of the opponent affects the information gained from this match result.

Exercise 12. Fighter A has a reach of 76 inches and Fighter B has a reach of 71 inches. Using the physical attribute model with parameters $\beta_{\text{reach}} = 0.012$ and $\tau_{\text{reach}} = 2.5$ inches, calculate the reach-based probability adjustment. Then, if Fighter A is 37 years old (with an age decline rate of 0.025 per year past age 30, raised to the 1.3 power) and Fighter B is 28, calculate the net age adjustment. What is the combined physical attribute adjustment?

Exercise 13. In a tennis match, Player A wins 65% of points on their serve and Player B wins 62% of points on their serve. (a) Calculate the probability that Player A wins a service game (from 0-0) using the recursive game model. (b) What is the probability that Player A wins a game as returner (i.e., breaks Player B's serve)? (c) Using these game probabilities, estimate the approximate probability that Player A wins a set starting from 0-0 games, where Player A serves first.

Exercise 14. A weight cut model assigns a penalty when a fighter cuts more than 12% of their walk-around weight. Fighter A walks around at 195 lbs and fights at 170 lbs. Fighter B walks around at 180 lbs and fights at 170 lbs. With a weight cut penalty parameter of 0.04 per 5% excess cut, calculate each fighter's weight cut adjustment and the net effect on their matchup.

Exercise 15. An MMA live model has accumulated the following round scores after two rounds of a three-round fight: Round 1 scored 10-9 to Fighter A, Round 2 scored 10-9 to Fighter B. The base finish rate per remaining round is 0.12, and Fighter A landed one knockdown in Round 2. With a knockdown finish boost of 0.15, calculate: (a) the probability of a finish in Round 3; (b) the conditional probability that Fighter A is the finisher; (c) the decision probability for each fighter if the fight goes the distance (assuming the third round is a toss-up at 50% for each fighter winning it 10-9).

Part C: Programming (Exercises 16-20)

Exercise 16. Implement a complete K-factor optimization pipeline for tennis Elo. Write a Python function that takes a dataset of historical tennis match results (as a list of tuples: winner, loser, surface, date) and tests K-factors from 10 to 50 in increments of 2. For each K-factor, run the Elo system on the first 80% of matches and evaluate log-loss on the remaining 20%. Plot the log-loss curve and identify the optimal K-factor. Include surface-specific K-factor optimization as a bonus.

Exercise 17. Build a fighter style classification system. Using the heuristic classification rules from the chapter (based on significant strikes per minute, takedown average, submission average, strike defense, and takedown defense), write a Python class that: (a) classifies fighters into one of six archetypes (striker, wrestler, grappler, balanced, counter_striker, pressure_fighter); (b) generates a synthetic dataset of 500 fighters with random stat profiles; (c) counts the distribution of archetypes; (d) identifies the most common matchup pairing in a simulated 200-fight card.

Exercise 18. Implement the full Bayesian updating system for tennis serve point-win probability during a live match. Start with a Beta prior parameterized by the player's career serve-point-won percentage and a chosen prior strength. After each service point, update the posterior. Simulate a match where the server's true probability is 0.64 and plot the posterior mean and 95% credible interval after each point for the first two service games (approximately 8-12 points).

Exercise 19. Build an inactivity decay system for MMA Elo that implements regression toward the mean. Write a function that takes a fighter's current rating, their last fight date, and the current date, and returns the decayed rating. The decay should: (a) only activate after 180 days of inactivity; (b) decay toward 1500 at a rate of 3 points per month beyond the threshold; (c) never push a rating past 1500 (above-1500 ratings decay down, below-1500 ratings decay up). Test the function with fighters at ratings of 1700, 1500, and 1300 across inactivity periods of 0, 6, 12, and 24 months.

Exercise 20. Implement a Monte Carlo simulation for a best-of-five tennis match that incorporates fatigue effects. Model the server's point-win probability as declining by a configurable amount per set played (e.g., 0.5 percentage points per set after the third set). Run 10,000 simulations for a match between players with serve probabilities of 0.66 and 0.63. Compare the win probability with and without fatigue effects, and report the frequency of five-set matches under each scenario.

Part D: Analysis (Exercises 21-25)

Exercise 21. Analyze the effectiveness of Elo ratings for predicting UFC fights. Using the CombatSportsElo class from the chapter, process a sequence of at least 20 hypothetical UFC main events with realistic fighter names and results. After building ratings, evaluate the system's calibration: for fights where the model predicted 60-70% win probability, how often did the favored fighter actually win? Discuss the sample size limitations of this analysis and how you would design a more rigorous backtest.

Exercise 22. Compare the predictive accuracy of three approaches to tennis match prediction: (a) overall Elo only; (b) surface-specific Elo only; (c) blended overall and surface-specific Elo. Design a simulation study with 10 synthetic players who have different surface affinities. Simulate 1,000 matches across three surfaces, build ratings under each approach, and evaluate which approach produces the best-calibrated probabilities on a holdout set.

Exercise 23. Investigate the magnitude of the reach advantage in MMA across different weight classes. Using the physical attribute model, compute the reach adjustment for hypothetical matchups at flyweight (average reach 68 inches, typical differential 2-4 inches), welterweight (average 74 inches, typical differential 2-5 inches), and heavyweight (average 77 inches, typical differential 3-8 inches). Does the model suggest reach matters more at heavier weight classes? Discuss whether the model's linear treatment of reach is appropriate.

Exercise 24. Build a profit-and-loss simulation for a tennis betting strategy based on surface-adjusted Elo. Create a simplified market model where the sportsbook's line is derived from overall Elo (without surface adjustment) plus noise. Your model uses surface-adjusted Elo. Simulate 500 bets over a clay court season, betting when your model's edge exceeds 3%. Report the hit rate, ROI, and the distribution of outcomes. Discuss what assumptions make this simulation optimistic or pessimistic relative to real markets.

Exercise 25. Evaluate the MMA live model's sensitivity to its parameters. Using the MMALiveModel class, process the same three-round fight scenario under three parameter configurations: (a) base finish rate 0.08, knockdown boost 0.10; (b) base finish rate 0.12, knockdown boost 0.15 (chapter default); (c) base finish rate 0.18, knockdown boost 0.25. For each configuration, report the live win probability after each round. Discuss which parameters the model is most sensitive to and how you would calibrate them from historical data.

Part E: Research (Exercises 26-30)

Exercise 26. Research the current state of publicly available tennis data. Identify at least three free data sources and two paid data sources for professional tennis match results and statistics. For each source, describe: the historical depth, the level of granularity (match-level, set-level, point-level), the update frequency, and any API availability. Discuss which source would be most valuable for building a production-grade surface-adjusted Elo system.

Exercise 27. Investigate the "hometown" or "national" bias in MMA and boxing judging. Research documented cases where judges have exhibited scoring bias toward fighters from the host country or region. Propose a quantitative framework for detecting and measuring this bias using historical scorecard data. How would you incorporate a judging bias adjustment into a live win probability model for fights going to decision?

Exercise 28. Research the impact of altitude on professional tennis performance. Identify the ATP/WTA tournaments that are played at significant elevation (above 1,000 meters). Collect or estimate the historical performance data of big servers versus clay court specialists at these events. Propose a model for incorporating altitude effects into a surface-adjusted Elo system, including specific parameter estimates where possible.

Exercise 29. Study the phenomenon of "late replacement" fighters in MMA (fighters who accept bouts on short notice, typically 1-3 weeks). Research whether short-notice fighters historically overperform or underperform their Elo-predicted probability. Propose a theoretical framework for why the effect might exist in either direction (reduced preparation time versus opponent-specific mismatch versus psychological factors) and describe a dataset and methodology for testing the hypothesis.

Exercise 30. Design a comprehensive individual sports betting system that integrates all components from this chapter. Your system should combine Elo/Glicko-2 ratings, style matchup adjustments, surface/venue effects, physical attributes, and live modeling. Produce a detailed system architecture diagram (described in text), specify the data inputs required, define the model pipeline from raw data to bet recommendation, and outline a rigorous backtesting framework. Identify the three most critical parameters in the system and propose a methodology for their ongoing calibration.