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:
-
What is the difference between a sample mean and a population mean?
-
If a 95% confidence interval for a mean is [10, 20], what does this mean?
-
A p-value of 0.03 in a hypothesis test indicates what?
-
In simple linear regression, what does an R-squared of 0.64 tell you?
-
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?
-
Create a function that takes a list of numbers and returns their mean
-
Read a CSV file into a Pandas DataFrame and filter rows based on a condition
-
Create a simple line plot using Matplotlib
-
Use a dictionary to count occurrences of items in a list
-
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:
-
What happens after a team fails to gain a first down on 4th down?
-
How many points is a safety worth, and who gets the ball after?
-
What is the difference between a nickel and dime defense?
-
Why might a team choose to run the ball when trailing by two touchdowns in the fourth quarter?
-
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
-
Python 3.8 or higher - Download from python.org - Verify installation:
python --version -
Code Editor or IDE - Recommended: VS Code with Python extension - Alternative: PyCharm, Sublime Text
-
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:
- Statistics gaps: Work through an introductory course before starting Part I
- Programming gaps: Complete a Python fundamentals course before starting Chapter 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