Prerequisites


This textbook assumes foundational knowledge in three areas: statistics, programming, and football. This chapter helps you assess your preparation and provides resources to fill any gaps.


Statistical Prerequisites

Required Knowledge

You should be comfortable with the following concepts:

Descriptive Statistics - Mean, median, mode, and other measures of central tendency - Standard deviation, variance, and other measures of spread - Percentiles and quartiles - Interpreting histograms, box plots, and scatter plots

Probability Fundamentals - Basic probability rules (complement, union, intersection) - Conditional probability and independence - Expected value and variance of random variables - Common distributions (normal, binomial, Poisson)

Statistical Inference - Point estimates and sampling distributions - Confidence intervals and their interpretation - Hypothesis testing (null/alternative hypotheses, p-values, Type I/II errors) - t-tests and chi-square tests

Regression Basics - Simple linear regression - Interpreting coefficients and R-squared - Basic understanding of multiple regression - Residual analysis

Self-Assessment: Statistics

Answer these questions without looking up the answers:

  1. What is the difference between a sample mean and a population mean?

  2. If a 95% confidence interval for a mean is [10, 20], what does this mean?

  3. A p-value of 0.03 in a hypothesis test indicates what?

  4. In simple linear regression, what does an R-squared of 0.64 tell you?

  5. Why do we use standard deviation rather than variance when describing spread?

Scoring: - 5 correct: Well prepared - 3-4 correct: Minor review needed - 0-2 correct: Significant review needed

Statistics Resources

If you need to strengthen your statistics foundation:

Textbooks: - OpenIntro Statistics (free online) - Excellent introduction - Statistics by Freedman, Pisani, and Purves - Intuitive explanations - Introduction to Statistical Learning - For those heading toward machine learning

Online Courses: - Khan Academy Statistics and Probability - Coursera: Statistics with R Specialization - edX: Introduction to Probability

Recommended preparation time: 2-4 weeks if significant gaps exist


Programming Prerequisites

Required Knowledge

You should be comfortable with the following Python concepts:

Basic Syntax - Variables, data types, and operators - Conditional statements (if/elif/else) - Loops (for, while) - Functions and return values - Basic error handling (try/except)

Data Structures - Lists and list comprehensions - Dictionaries - Sets and tuples - Basic understanding of classes and objects

Working with Libraries - Importing and using packages - Understanding documentation - Basic NumPy arrays - Basic Pandas DataFrames

Development Environment - Using Jupyter notebooks - Running Python scripts - Installing packages with pip - Basic debugging strategies

Self-Assessment: Programming

Can you write code that accomplishes these tasks?

  1. Create a function that takes a list of numbers and returns their mean

  2. Read a CSV file into a Pandas DataFrame and filter rows based on a condition

  3. Create a simple line plot using Matplotlib

  4. Use a dictionary to count occurrences of items in a list

  5. Write a list comprehension that squares all even numbers in a list

Scoring: - 5 correct: Well prepared - 3-4 correct: Minor review needed - 0-2 correct: Significant review needed

Programming Resources

If you need to strengthen your Python foundation:

Interactive Tutorials: - Codecademy Python Course - DataCamp Introduction to Python - Python.org Official Tutorial

Books: - Automate the Boring Stuff with Python (free online) - Python for Data Analysis by Wes McKinney - Python Data Science Handbook by Jake VanderPlas

Practice: - LeetCode (easy problems) - HackerRank Python track - Project Euler

Recommended preparation time: 4-8 weeks if significant gaps exist


Football Prerequisites

Required Knowledge

You should understand the following football concepts:

Basic Rules and Structure - Downs and distances - Scoring (touchdowns, field goals, safeties, two-point conversions) - Penalties and their effects - Overtime rules

Offensive Concepts - Offensive positions and their roles - Basic formations (shotgun, under center, etc.) - Difference between run and pass plays - Basic route concepts (go, slant, out, etc.)

Defensive Concepts - Defensive positions and their roles - Difference between zone and man coverage - Basic understanding of blitzing - Run defense vs. pass defense

Game Context - Importance of field position - Clock management basics - Situational football (red zone, third down, two-minute drill) - General strategic considerations

Self-Assessment: Football

Answer these questions:

  1. What happens after a team fails to gain a first down on 4th down?

  2. How many points is a safety worth, and who gets the ball after?

  3. What is the difference between a nickel and dime defense?

  4. Why might a team choose to run the ball when trailing by two touchdowns in the fourth quarter?

  5. What is the red zone, and why is performance there tracked separately?

Scoring: - 5 correct: Well prepared - 3-4 correct: Minor review needed; Chapter 1 will provide context - 0-2 correct: Watch some games and read an introduction to football

Football Resources

If you need to strengthen your football foundation:

Video Content: - NFL Game Pass (full games and condensed games) - YouTube: NFL channel fundamentals - NFL Network programming

Reading: - Take Your Eye Off the Ball by Pat Kirwan - The Essential Smart Football by Chris Brown - Football Outsiders Almanac (annual)

Recommended preparation time: 2-4 weeks of watching games with intention


Technical Setup Prerequisites

Before starting Chapter 1, complete the following setup:

Required Software

  1. Python 3.8 or higher - Download from python.org - Verify installation: python --version

  2. Code Editor or IDE - Recommended: VS Code with Python extension - Alternative: PyCharm, Sublime Text

  3. Jupyter - Install: pip install jupyter - Verify: jupyter notebook

Environment Setup

Create a dedicated environment for this book:

# Create virtual environment
python -m venv football-analytics

# Activate environment
# On Windows:
football-analytics\Scripts\activate
# On Mac/Linux:
source football-analytics/bin/activate

# Install core packages
pip install numpy pandas matplotlib seaborn scikit-learn statsmodels

# Install football-specific packages
pip install nfl-data-py

# Verify installation
python -c "import nfl_data_py as nfl; print('Setup complete!')"

Verify Data Access

Test that you can access NFL data:

import nfl_data_py as nfl

# This should download and display data
pbp = nfl.import_pbp_data([2023])
print(f"Loaded {len(pbp):,} plays")
print(pbp.columns.tolist()[:10])

If this runs without errors, you're ready to begin.


Knowledge Gaps Are Normal

If your self-assessments revealed gaps, don't be discouraged. This is common and expected. The key is to address gaps before they compound:

  1. Statistics gaps: Work through an introductory course before starting Part I
  2. Programming gaps: Complete a Python fundamentals course before starting Chapter 3
  3. Football gaps: Watch 3-5 games while reading an introductory guide before starting

Taking time now to build a solid foundation will make subsequent chapters much more manageable.


Quick Reference: Minimum Requirements

Area Minimum Requirement
Statistics Introductory course completed
Programming 40+ hours Python experience
Football Can explain basic rules and positions
Software Python 3.8+, Jupyter working
Data Access Can load NFL play-by-play data

If you meet these minimums, you're ready to begin. If not, invest the time to get there—it will pay dividends throughout the book.


Start where you are. Use what you have. Do what you can. — Arthur Ashe