Prerequisites
Overview
This textbook assumes foundational knowledge in three areas: statistics, programming, and basketball. This chapter helps you assess your preparation and provides resources for filling any gaps.
Statistical Background
Required Knowledge
You should be comfortable with:
Descriptive Statistics - Measures of central tendency (mean, median, mode) - Measures of variability (variance, standard deviation, range) - Percentiles and quartiles - Basic data visualization (histograms, scatter plots, box plots)
Probability Fundamentals - Basic probability rules - Random variables - Expected value - Normal distribution basics
Inferential Statistics - Hypothesis testing concepts - p-values and significance - Confidence intervals - Correlation and causation
Helpful (Not Required)
These topics are covered as needed but prior exposure helps:
Regression Analysis - Simple linear regression - Multiple regression - Interpretation of coefficients - R-squared and model fit
Advanced Topics - Bayesian concepts - Time series basics - Classification methods
Self-Assessment Questions
Can you answer these?
- What is the difference between population and sample standard deviation?
- How do you interpret a correlation coefficient of -0.7?
- What does a p-value of 0.03 mean?
- When would you use the median instead of the mean?
If you struggled with these, consider reviewing an introductory statistics textbook before proceeding.
Recommended Resources
Textbooks - OpenIntro Statistics (free online): Excellent introduction to statistical concepts - Statistics by Freedman, Pisani, and Purves: Classic undergraduate text - Naked Statistics by Wheelan: Accessible introduction for non-technical readers
Online Courses - Khan Academy Statistics and Probability - Coursera: Statistics with Python Specialization - edX: Introduction to Probability and Statistics
Programming Background
Required Knowledge
You should be comfortable with:
Python Basics - Variables and data types - Control structures (if/else, loops) - Functions and modules - Basic error handling
Data Structures - Lists and dictionaries - Working with files - String manipulation
Self-Assessment: Can You Write This?
# Can you write a function that:
# 1. Takes a list of numbers
# 2. Returns the mean and standard deviation
# 3. Handles empty lists gracefully
def calculate_stats(numbers):
"""
Calculate mean and standard deviation of a list.
Args:
numbers: List of numeric values
Returns:
Tuple of (mean, standard_deviation)
"""
# Your implementation here
pass
If you can write this function, you have sufficient Python background.
What We'll Teach
The book introduces: - pandas for data manipulation - NumPy for numerical computing - matplotlib and seaborn for visualization - scikit-learn for machine learning - statsmodels for statistical analysis
You don't need prior experience with these libraries.
Recommended Resources
Textbooks - Automate the Boring Stuff with Python (free online): Practical Python introduction - Python for Data Analysis by McKinney: pandas creator's guide
Online Courses - Codecademy Python course - DataCamp Introduction to Python - Coursera: Python for Everybody
Interactive Practice - LeetCode (easy problems) - HackerRank Python challenges - Exercism Python track
Basketball Knowledge
Required Understanding
You should understand:
Basic Rules - Scoring (2-point, 3-point, free throws) - Possessions and turnovers - Basic violations and fouls - Game structure (quarters, overtime)
Positions and Roles - Five positions (PG, SG, SF, PF, C) - General responsibilities of each position - Offensive and defensive concepts
Common Statistics - Points, rebounds, assists - Steals, blocks, turnovers - Field goals and free throws - Basic box score interpretation
Self-Assessment Questions
- What is a possession, and how does it end?
- What is the difference between offensive and defensive rebounds?
- Why might a player with high points per game not be the best scorer?
- What is a "pick and roll"?
If you struggle with these, spend some time watching games and reading basic basketball coverage before diving deep into analytics.
What We'll Teach
You don't need to understand: - Advanced analytics metrics (we'll derive them) - Historical statistics - League rules and policies in detail
The book explains all analytics concepts from first principles.
Recommended Resources
For Basketball Beginners - NBA.com beginner's guide - YouTube tutorials on basketball fundamentals - Watch several games with commentary
For Those Wanting More Context - The Book of Basketball by Bill Simmons: Entertaining history - Basketball on Paper by Dean Oliver: Analytics foundation - The Thinking Basketball YouTube channel
Technical Requirements
Hardware
Minimum Requirements - Any modern computer (Windows, Mac, Linux) - 8 GB RAM - 10 GB free disk space - Internet connection for data access
Recommended - 16 GB RAM for larger datasets - SSD for faster data loading
Software
Required (Free) - Python 3.9 or higher - Jupyter Notebook or JupyterLab - Git (for version control)
Recommended (Free) - VS Code or PyCharm (Community Edition) - GitHub account
Installation Guide
Chapter 3 provides complete setup instructions. For those wanting to start immediately:
# Check Python version
python --version # Should be 3.9+
# Install Jupyter
pip install jupyter
# Clone book repository
git clone https://github.com/your-username/professional-basketball-analytics.git
# Install dependencies
cd professional-basketball-analytics
pip install -r requirements.txt
Bridging Gaps
Statistics Gap
If your statistics background is weak:
- Before starting: Work through Khan Academy's statistics course
- While reading: Use Appendix A for mathematical foundations
- As needed: Consult the recommended statistics textbooks
Programming Gap
If your Python skills need work:
- Before starting: Complete Codecademy Python course
- While reading: Type out all code examples (don't copy-paste)
- As needed: Use Appendix C for Python reference
Basketball Gap
If you're new to basketball:
- Before starting: Watch 5-10 NBA games
- While reading: Look up unfamiliar terms in Appendix E (Glossary)
- As needed: Watch video explanations of plays and concepts
Ready to Begin?
If you can: - Calculate the mean and standard deviation of a dataset - Write a Python function with loops and conditionals - Explain what a rebound is and why it matters
Then you're ready for Chapter 1. Welcome to basketball analytics!
Proceed to Chapter 1: Introduction to Basketball Analytics