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?

  1. What is the difference between population and sample standard deviation?
  2. How do you interpret a correlation coefficient of -0.7?
  3. What does a p-value of 0.03 mean?
  4. When would you use the median instead of the mean?

If you struggled with these, consider reviewing an introductory statistics textbook before proceeding.

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.

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

  1. What is a possession, and how does it end?
  2. What is the difference between offensive and defensive rebounds?
  3. Why might a player with high points per game not be the best scorer?
  4. 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.

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:

  1. Before starting: Work through Khan Academy's statistics course
  2. While reading: Use Appendix A for mathematical foundations
  3. As needed: Consult the recommended statistics textbooks

Programming Gap

If your Python skills need work:

  1. Before starting: Complete Codecademy Python course
  2. While reading: Type out all code examples (don't copy-paste)
  3. As needed: Use Appendix C for Python reference

Basketball Gap

If you're new to basketball:

  1. Before starting: Watch 5-10 NBA games
  2. While reading: Look up unfamiliar terms in Appendix E (Glossary)
  3. 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