# The Handicapper Manual

## General

The Handicapper is a web application to help you make better betting decisions. The current version supports all major professional US sports (MLB, NBA, NFL, NHL) and EPL.The application uses dynamic and predictive algorithms to handicap games. You can choose to tune the model parameters according to own preferences, or use back-tested default settings to create accurate, data-driven predictions for every game of the season.

The power of The Handicapper is its huge player database. Each game prediction consists of bottom-up player analysis and evaluation. The prediction engine uses a number of different quantitative methods like moving averages, exponential smoothing, z-scores etc. Data-driven player evaluation is the key, but you can also implement your own team- and player ratings, if you feel you have a good grasp of how good teams/players are in relation to each other.

The player data that the application uses is updated and pre-processed several times per week. The data is then uploaded online as XML- and JSON-files. User data like custom settings, lineups and player & team ratings is stored in the user’s web browser (modern browsers).

The Handicapper creates probabilities for different game outcomes purely based on data. As there doesn’t exist anything else than HISTORICAL data, the predictions are created with the hypothesis that historical events can future outcomes.

The models within The Handicapper are tested on a regular basis and updated if something changes in the dynamics of the underlying market (rules, equipment etc.) or the explanatory power of some factor diminishes.

You can think of the models for each sport (league) as multi-factor models, where the weights for each feature can be determined by the user. Each feature, which can be chosen by the user, should have at least some correlation with game outcomes.

Even if we are firm believers of a quantitative approach, practice has shown, that relying purely on quantitative models might not be an optimal path to success. A good model can be superior in many aspects, but things can also go very wrong when blindly following it. That's why the recommendation is to use the predictions The Handicapper creates as just one of several inputs to your decision to place (or not place) a bet.

## Data

The player data that the application uses is updated and pre-processed several times per week. The data is then uploaded online as XML- and JSON-files. User data like custom settings, lineups and player & team ratings is stored in the user’s web browser (modern browsers).Raw game data is collected for all players and all games.

Player stats are then created on a seasonal basis based on the raw game data. A player stat is for example Percentage of Completed Passes (CMP%). The player stats are then turned into player ratings by comparing each player to all other players in the league that are playing the same position. This process includes different statistical methods like using moving averages, normalization, exponential smoothing etc. The outcome is a rating for each player and each player stat. The ratings lower limit is 0 and upper 99.

## Settings

The adjustable settings is the core feature of The Handicapper. By configuring the settings to match your believes of whats important and what's not (which stats and ratings to use etc.), you can turn your believes into a number (probability). By giving a higher/lower weight you can give more/less impact to a metric you believe should have a high/low impact on projecting the game outcome.**General Settings**

In the table below we have the general settings for NBA.

**PPG**(points per game) is the estimation of points per game for a matchup where teams have league average offense- and defense ability.

**Home Advantage**is the estimated percentage of home wins for a whole season. If there would be 1,000 games played in a season the number 58.5 would mean, that the home team would win 585 (58.5 % x 1,000 = 585) of the games.

**Back-to-Back Games**is the performance reduction for a team that is playing games on back-to-back days. The number 1.5 means that 1.5 % will be reduced from the teams offense- and defense rating. If a team has an offense rating of 74 it will have a rating of 72.9 (74 x 0.985 = 72.89) after the Back-to-Back Games reduction.

**Current Season, 2019 & 2018**represents the season data weight coefficients. 65 for current season means, that when a rating for a player is calculated, the data for the ongoing season gets a 65 % weight. If there isn't enough games played the ongoing season, or the player hasn't got enough playing time, data from previous seasons is used for the calculations. If a player has none or very few games played, he will get a rating close to league average.

GENERAL SETTINGS

PPG | - |
222.9 | + |
|||

Home Advantage | - |
58.5 | + |
|||

Back-to-Back Games | - |
1.5 | + |
|||

Current Season | - |
65 | + |
|||

2019 | - |
20 | + |
|||

2018 | - |
15 | + |
|||

Total | 100.0 |

**Player Settings**

Player settings determines how the player model(s) for offense- and defense ability looks. The more/less weight you give to a metric, the more/less that metric impacts the overall offense/defense rating for a player. If we take for example

**Three Point Percentage (3P%)**and give it a weight of 10.0 % (as in the table below) this means, that the player ratings are determined to 10.0 % by how good a player is in relation to other players in the league in 3P%. If we would only look at NBA-season 2018-19

**Joe Harris**(Brooklyn Nets) had the best 3P% of qualified players (47.4 %) and so forth he would get the best rating for 3P%.

PLAYER SETTINGS

OFFENSE

Field Goals | - |
8.0 | + |
|||

Field Goal Percentage | - |
10.0 | + |
|||

Three Pointers | - |
10.0 | + |
|||

Three Point Percentage | - |
10.0 | + |
|||

Free Throws | - |
7.0 | + |
|||

Free Throw Percentage | - |
6.0 | + |
|||

Offensive Rebound | - |
6.0 | + |
|||

Assists | - |
11.0 | + |
|||

Steals | - |
3.0 | + |
|||

Turnovers | - |
10.0 | + |
|||

Points | - |
7.0 | + |
|||

Offensive Rating | - |
7.0 | + |
|||

Plus/Minus | - |
5.0 | + |
|||

Total | 100.0 |

**NFL Settings**

Team ratings are dividied into four subsets; Pass Offense, Rush Offense, Pass Defense and Rush Defense. The rating for each subset is a weighted average of the ratings for the player types that are assigned to the subset. For example Pass Offense consists of weighted ratings for the Quarterback, Wide Receivers, Tight Ends and the Offensive Line. The ratings for the different player types are weighted according to the weights in the module for Pass Offense.

OFFENSE SETTINGS

PASS OFFENSE

Quarterback | - |
55 | + |
|||

Wide Receivers | - |
25 | + |
|||

Tight Ends | - |
10 | + |
|||

Offensive Line | - |
10 | + |
|||

Total | 100.0 |

There is a possibility to select

**General Rating**as one of the model parameters for different player types. This parameter is a subjective overall player rating. The idea with having a rating like this when all other ratings are purely objective and data-driven, is to get a more accurate evaluation of player value in cases where it’s hard to do the valuation purely based on data. One example of this is the offensive line, where it’s hard to find data that can be used to evaluate players and predict future performance.

Please note, that clearing your browsers cache will clear your customised settings, starting lineups and team/player ratings.

## Rosters and Ratings

Team Ratings are calculated within The Handicapper by using the models that are assigned to offense/defense and taking the player ratings as inputs. Player- and team ratings can be adjusted (overrided) by the user. The ratings lower limit is 0 and upper 99.**MLB Ratings**

Players in starting lineup have a higher impact on team ratings.

**NBA Ratings**

Players in starting lineup have a higher impact on team ratings defined by a model, which takes expected playing time into accout.

**NFL Ratings**

Players in starting lineup have a higher impact on team ratings. There is a possibility to select ‘General Rating’ as one of the model parameters for different player types. This parameter is a subjective overall player rating. The idea with having a rating like this when all other are purely objective and data-driven, is to get a more accurate evaluation of player value in cases where it’s hard to do the valuation purely based on data. One example of this is the offensive line, where it’s hard to find data that can be used to evaluate players and predict future performance.

**NHL Ratings**

Players in the first line have the highest, and players in the fourth line the lowest impact on team ratings. To calculate goalkeeper ratings The Handicapper is using a proprietary model, which can't be modified by the end user. Even if the model can't be modified the individual goalkeeper ratings can be set by the user.

**EPL Ratings**

To calculate defensive player ratings and goalkeeper ratings The Handicapper is using proprietary models, which can't be modified by the user. Even if the goalkeeper model can't be modified the individual goalkeeper ratings can be set by the user.

## Lineups

The Handicapper uses starting lineups from each teams previous game for NFL and NBA and projected best lineups for MLB and NHL. Lineups can be modified by the user.**MLB Lineups**

Each team should have a starting pitcher, 9 batters and 7 relief pitchers selected. Player positions does not have an impact on defensive ratings.

**NBA Lineups**

Each team should have 5 starters selected.

**NFL Lineups**

Each team should have 11 offensive- and 11 defensive players selected. Kickers/punters are not included in the lineups.

**NHL Lineups**

Each team should have a goalkeeper and max 3 players per line selected.

**EPL Lineups**

Each team should have a goalkeeper and 10 players selected.

## Projections

TEAM | SCORE | ML | SPREAD | TOTALS | ||
---|---|---|---|---|---|---|

4.9 | 62% | -1.5 | 46.0% | U9 | 48% | |

4.3 | 38% | +1.5 | 54.0% | O9 | 52% |

**MLB/NBA/NHL/EPL Projections**

Player ratings are grouped by player type and an average rating for each position is calculated. After ratings are calculated for the different player types a projected score is calculated by multiplying the rating for offense with the opponents inverse rating for defense. These numbers are then normalized and multiplied by average runs (or points/goals) per game, which is a setting that can be modified under 'Settings'. The result is projected runs (or points/goals) for the team for the matchup in question.

When a projected score is calculated for both teams, probabilities for the different bet types can be calculated. The probability calculation is based on a modified Poisson distribution, which is fitted for the different sports/leagues.

**NFL Projections**

Player ratings are grouped by player type (QB, WR, RB etc.) and an average rating for each position is calculated. Ratings for Pass Offense, Rush Offense, Pass Defense and Rush Defense are then calculated by using ratings for the different player types and weighting them according to the weights for these models. These weights can also be modified under 'Settings'.

After ratings for Pass Offense, Rush Offense, Pass Defense and Rush Defense are calculated a projected score is calculated by multiplying the rating for Pass Offense with the opponents inverse rating for Pass Defense and multiplying Rush Offense with the inverse rating for opponents Rush Defense. These numbers are then normalized, weighted by 50 % each, added together and multiplied by average Points Per Game, which is a setting that can be modified under 'Settings'. The result is projected points for the team for the matchup in question.

When a projected score is calculated for both teams probabilities for the different bet types can be calculated. The probability calculation is based on a modified Poisson distribution, which have been fitted for NFL.

**Fair Odds**

Fair odds is the number to look at when you look for a bet to wager on. If your bookmaker offers better odds than the fair odds, you have found a selection with positive expected value.