How to Use This Book


This textbook is designed to accommodate different learning styles, backgrounds, and goals. Here we provide guidance on navigating the material effectively.

Book Structure

Parts and Chapters

The book is divided into seven parts, each containing related chapters:

Part Chapters Focus
I: Foundations 1-5 Data, tools, and statistical basics
II: Player Analytics 6-11 Individual performance evaluation
III: Team Analytics 12-17 Team-level analysis and game theory
IV: Predictive Modeling 18-22 Forecasting and projection methods
V: Advanced Topics 23-26 Tracking data, ML, and deep learning
VI: Applications 27-28 Systems and business applications
VII: Capstone Projects Integrative projects

Chapter Components

Each chapter contains several components designed to reinforce learning:

Main Content (index.md) The primary instructional material, including: - Learning objectives - Conceptual explanations - Mathematical formulations - Python implementations - Worked examples

Exercises (exercises.md) 25-40 problems organized by difficulty: - Part A: Conceptual Understanding (foundational) - Part B: Calculations (intermediate) - Part C: Programming Challenges (intermediate-advanced) - Part D: Analysis & Interpretation (intermediate-advanced) - Part E: Research & Extension (advanced)

Quiz (quiz.md) Self-assessment with 20-30 questions covering: - Multiple choice - True/false - Fill in the blank - Short answer - Code analysis - Applied problems

All quiz questions include hidden answers with detailed explanations.

Case Studies (case-study-01.md, case-study-02.md) Extended applications connecting chapter concepts to realistic NFL scenarios.

Key Takeaways (key-takeaways.md) One-page summary for quick reference and review.

Further Reading (further-reading.md) Annotated bibliography for deeper exploration.

Code Directory (code/) Standalone Python scripts for all examples and solutions.


Learning Paths

Work through chapters in order, completing exercises and quizzes before proceeding. This path ensures you build necessary foundations before tackling advanced material.

Estimated time: 16-20 weeks at 10-15 hours/week

Accelerated Path (For Experienced Data Scientists)

If you have strong Python and statistics backgrounds:

  1. Skim Part I, focusing on Chapter 2 (data ecosystem)
  2. Work through Parts II-IV in detail
  3. Select advanced topics from Part V based on interest
  4. Complete at least one capstone project

Estimated time: 10-12 weeks at 10-15 hours/week

Applied Path (For Practitioners)

If you need practical skills quickly:

  1. Chapter 1: Introduction (context)
  2. Chapter 2: Data Ecosystem (essential)
  3. Chapter 3: Python Fundamentals (essential)
  4. Chapter 6: Quarterback Metrics (most common application)
  5. Chapter 15: Win Probability (widely used)
  6. Chapter 16: Expected Points (industry standard)
  7. Chapter 19: Game Prediction (practical application)

Estimated time: 6-8 weeks at 8-10 hours/week

Research Path (For Academic Focus)

Emphasize theoretical foundations and advanced methods:

  1. Complete Parts I-III thoroughly
  2. Deep dive into Part IV predictive methods
  3. Focus on Part V advanced topics
  4. Complete research-level exercises (Part E)

Estimated time: One academic year


Working with Code

Environment Setup

Before starting, set up your Python environment:

# Create virtual environment
python -m venv football-analytics
source football-analytics/bin/activate  # Windows: football-analytics\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Code Conventions

All code in this book follows consistent conventions:

# Import statements always at top
import pandas as pd
import numpy as np

# Type hints on all functions
def calculate_epa(
    play_data: pd.DataFrame,
    column_name: str = 'epa'
) -> pd.Series:
    """
    Docstrings follow Google style.

    Parameters
    ----------
    play_data : pd.DataFrame
        Play-by-play data containing EPA values
    column_name : str, default='epa'
        Name of the EPA column

    Returns
    -------
    pd.Series
        EPA values for each play
    """
    return play_data[column_name]

Running Examples

You can run code examples in several ways:

  1. Copy-paste into Jupyter notebook: Recommended for learning
  2. Run standalone scripts: Files in code/ directories
  3. Use interactive mode: Add -i flag to explore results
python -i code/example-01-epa.py

Troubleshooting

Common issues and solutions:

Problem Solution
Import errors Verify environment is activated and packages installed
Data loading failures Check internet connection; nfl_data_py requires download
Memory errors Use chunksize parameter for large datasets
Version conflicts Create fresh environment with exact requirements.txt

Exercises and Assessment

Exercise Strategy

We recommend this approach for exercises:

  1. First pass: Complete all Part A (conceptual) and selected Part B problems
  2. Second pass: After reviewing quiz results, tackle Part C programming challenges
  3. Mastery: Attempt Part D analysis problems
  4. Extension: Part E for deeper exploration

Self-Assessment

After each chapter:

  1. Complete the quiz without looking at answers
  2. Score yourself honestly
  3. Review explanations for incorrect answers
  4. Re-read relevant sections
  5. Proceed only when scoring 70% or higher

When You're Stuck

  1. Re-read the relevant section slowly
  2. Work through the simplest related example
  3. Check the key takeaways for overview
  4. Review prerequisite material if needed
  5. Consult further reading resources

Supplementary Materials

Online Resources

  • Code Repository: All code files and datasets
  • Errata: Corrections and clarifications
  • Updates: New methods and data sources

For Instructors

Instructors may request: - Complete solutions manual - PowerPoint slides - Exam question bank - Additional case studies

Contact information provided on the book website.


Notation and Conventions

Mathematical Notation

Symbol Meaning
$x_i$ The $i$-th observation
$\bar{x}$ Sample mean
$\sigma$ Standard deviation
$\mathbb{E}[X]$ Expected value of $X$
$P(A)$ Probability of event $A$

Full notation guide in Appendix F.

Callout Boxes

Throughout the book, you'll encounter these callout types:

Intuition: Mental models and analogies to aid understanding

Real-World Application: How concepts are used in NFL front offices

Common Pitfall: Mistakes to avoid

Advanced: Graduate-level extensions (optional on first reading)

Best Practice: Industry-standard approaches


Getting Help

If you encounter difficulties:

  1. Check the errata page for known issues
  2. Review the relevant quiz explanations
  3. Consult the glossary (Appendix E) for unfamiliar terms
  4. Post questions in the book's online community

We want you to succeed. Take your time, practice consistently, and don't hesitate to revisit material as needed. Football analytics rewards patience and persistence.