This page gives an introduction to the HoopTotals interface and provides detailed definitions of all the statistical terms used on the site.
Basics
The Data
The HoopTotals database contains all NBA boxscore data for regular season and playoff games, from the current season going back to 1993. Also available are historical betting lines from the current season going back to 1999. For team and player pages, the data is organized according to season. To change seasons, go to the Teams/Players page and select a different season.Team and Player Pages
From any page on the site, click on a team name or player name to open the information page for that team/player. All of these pages contain Game Stats, Stat Analysis and Game History modules, and the team pages have a Player Stats section as well. With any of these tools, you can adjust the parameters for which the data is computed/displayed. Stats can be computed based on all games, home games, or away games, played throughout the season or before a given date.In the Stat Analysis and Game History sections, click on a game's date to view the boxscore page for that game.
Lines/Scores
On the Lines/Scores page, you can view historical spreads, totals, and scores for NBA games going back to 1999. Select a date and click the appropriate button to retrieve the data you wish to access. Clicking Get Lines will produce a list of games for that day with spread and total lines displayed. You can then select picks from the list and see how those bets would have turned out by clicking Get Pick Results. To simply get a list a games, lines, and scores, click Get Scores.Stat Analysis
The Stat Analysis module is the most versatile tool in the HoopTotals interface. It allows you to enter almost any equation you want and obtain results over a specified set of games.To use this tool, enter a mathematical expression in the 'Stat Formula' box and select the desired number of games, game type (all, away, home), and date range from the dropdown menus. Any of the variables available in the 'Vars' dropdown menu can be used to build the expression (all of these variables are defined in the Stat Glossary). You can enter the stat formula by selecting the appropriate variables, operators, and functions from the corresponding dropdown menus, or you can manually type in an expression. When finished, click 'Get Data'. If the database program successfully interprets the formula you entered, it will return a table and chart for the data that was obtained. Otherwise, you will get an error message; this is most likely caused by spelling a variable incorrectly or having a syntax error, such as unbalanced parenthesis.
Examples
A player's field goal percentage: FG*100/FGAA team's number of possessions: FGA + TNO + 0.44FTA - ORB
Total number of points scored in a game: PTS + OPTS
The ratio of a team's number of personal fouls to those of its opponent: PF/OPF
Effective field goal percentage of a team's opponent: (OFG + 0.5*OTP)*100/OFGA
Number of a player's steals, blocks, and defensive rebounds, per minute: (STL + BLK + DRB)/MIN
Boolean Expressions
You can also enter Boolean (true/false) expressions, using any combination of the relational/logical operators >, <, >=, <=, =, and, or, not, and xor (exclusive or). For these expressions the database will return a 1 for games for which the statement is true and a 0 for games for which the statement is false. Then looking at the 'Average' field (the bottom row of the game data table) will tell you the percentage of the specified games for which the statement is true. Some examples:A team had a better assist/turnover ratio than its opponent: AST/TNO > OAST/OTNO
A player had double-digit points, assists, and rebounds: PTS >= 10 and AST >= 10 and (ORB + DRB) >= 10
A team shot at least 50% in field goals or at least 80% in free throws: FG*100/FGA >= 50 or FT*100/FTA >= 80
Functions and Advanced Queries
You can use the mathematical functions in the 'Func' dropdown menu as part of your stat formula. The correct syntax for these functions, as well as others that can be used, is explained in the MySQL Mathematical Functions documentation. In addition to these functions, the HoopTotals interface will successfully interpret most valid expressions in the SQL database language, such as those that use the if and case control flow functions. Examples:A team's scoring margin, squared: POWER(PTS - OPTS, 2)
Natural logarithm of a team's number of turnovers: LOG(TNO)
Difference in blocks between the two teams: ABS(BLK - OBLK)
The free throw percentage of the winning team: if(PTS > OPTS, FT*100/FTA, OFT*100/OFTA)
Clearly, there are many possibilities for trying out new statistical ideas.