Foundations of Sports Analytics: Data, Representation, and Models in Sports (Coursera)

Foundations of Sports Analytics: Data, Representation, and Models in Sports (Coursera)

This course provides an introduction to using Python to analyze team performance in sports. Learners will discover a variety of techniques that can be used to represent sports data and how to extract narratives based on these analytical techniques. The main focus of the introduction will be on the use of regression analysis to analyze team and player performance data, using examples drawn from the National Football League (NFL), the National Basketball Association (NBA), the National Hockey League (NHL), the English Premier LEague (EPL, soccer) and the Indian Premier League (IPL, cricket).

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

This course does not simply explain methods and techniques, it enables the learner to apply them to sports datasets of interest so that they can generate their own results, rather than relying on the data processing performed by others. As a consequence the learning will be empowered to explore their own ideas about sports team performance, test them out using the data, and so become a producer of sports analytics rather than a consumer.
While the course materials have been developed using Python, code has also been produced to derive all of the results in R, for those who prefer that environment.
Course 1 of 5 in the Sports Performance Analytics Specialization

Syllabus

WEEK 1
Introduction to Sports Performance and Data
This week introduces a simple example of sports analytics in practice - the calculation of the Pythagorean expectation to model winning in team sports. This can also be used for the purposes of prediction. Examples are developed for five different sports leagues, Major League Baseball (MLB), the National Basketball Association (NBA), the National Hockey League (NHL), the English Premier League (EPL-soccer) and the Indian Premier League (IPL-cricket).

WEEK 2
Introduction to Data Sources
This week will use NBA data to introduce basic and important Python codes to conduct data cleaning and data preparation. This week also discusses summary and descriptive analyses with statistics and graphs to understand the distribution of data, the characteristics and pattern of variables as well as the relationship between two variables. At the end of this week, we will introduce correlation coefficients to summarize the linear relationship between two variables.

WEEK 3
Introduction to Sports Data and Plots in Python
This module introduces some ways of representing data using examples from MLB, the NBA and Indian Premier League. MLB data is used to analyze the spatial distribution of different hits. NBA data is used to generate heatmaps to illustrate the different ways in which players contribute. IPL data is used to show how team performances can be compared graphically.

WEEK 4
Introduction to Sports Data and Regression Using Python
This week introduces the fundamentals of regression analysis. We will discuss how to perform regression analysis using Python and how to interpret regression output. We will use NHL data to estimate multiple regression models to identify the team level performance factors that affect the team's winning percentage. We will also use cricket data from the Indian Premier League to run regression analyses to examine whether player performance impacts player salary.

WEEK 5
More on Regressions
This module uses regression analysis to investigate the relationship between team salary spending and team performance in the NBA, NHL, EPL and IPL. The module explores different ways of defining the regression model, and how to interpret competing regression model results.

WEEK 6
Is There a Hot Hand in Basketball?
This week studies an interesting topic in sport, the hot hand. We will introduce the concept of hot hand and discuss the academic research that examines whether the hot hand is a phenomenon or a fallacy. We will demonstrate how to analytically test the hot hand using the NBA shot log data. We will test whether NBA players have hot hand by computing conditional probabilities and autocorrelation coefficients as well as performing regression analyses.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Aug 10th 2026
4 Weeks
Practical Python for AI Coding 1 (Coursera) Coursera
Korea Advanced Institute of Science and Technology - KAIST

Practical Python for AI Coding 1 (Coursera)

This course is for a complete novice of Python coding, so no prior knowledge or experience in software coding is required. This course selects, introduces and explains Python syntaxes, functions and libraries that were frequently used in AI coding. In addition, this course introduces vital syntaxes, and functions often used in AI coding and explains the complementary relationship among NumPy, Pandas and TensorFlow, so this course is helpful for even seasoned python users.

Aug 3rd 2026
5-12 Weeks
Applied Social Network Analysis in Python (Coursera) Coursera
University of Michigan

Applied Social Network Analysis in Python (Coursera)

This course will introduce the learner to network analysis through the NetworkX library. The course begins with an understanding of what network analysis is and motivations for why we might model phenomena as networks. The second week introduces the concept of connectivity and network robustness.. The third week will explore ways of measuring the importance or centrality of a node in a network. The final week will explore the evolution of networks over time and cover models of network generation and the link prediction problem.

Aug 3rd 2026
4 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Aug 10th 2026
4 Weeks
Doping : Sports, Organizations and Sciences (Coursera) Coursera
University of Lausanne

Doping : Sports, Organizations and Sciences (Coursera)

The objective of this course is to encourage a critical understanding of doping. To achieve this goal, this course will rely on a multidisciplinary approach that allow you to see how different disciplines get into a single object, in different perspectives and in often complementary ways. This approach will also allow us to appreciate the complexity of a subject like doping. Doping in sports is a complex practice whose definition and identification is the result of socially and historically constructed norms. This course offers to shed light on the processes that led to the use and prohibition of doping substances.

Aug 3rd 2026
4 Weeks
Estruturas de dados Python (Coursera) Coursera
University of Michigan

Estruturas de dados Python (Coursera)

Este curso apresentará as estruturas de dados centrais da linguagem de programação Python. Vamos superar os fundamentos da programação de procedimentos e explorar como podemos usar as estruturas de dados integradas do Python, como listas, dicionários e tuplas, para realizar análises de dados cada vez mais complexas. Este curso cobrirá os capítulos 6 a 10 do livro “Python para Todos”. Este curso aborda o Python 3.

Aug 10th 2026
5-12 Weeks
The Fundamental of Data-Driven Investment (Coursera) Coursera
Sungkyunkwan University - SKKU

The Fundamental of Data-Driven Investment (Coursera)

In this course, the instructor will discuss the fundamental analysis of investment using R programming. The course will cover investment analysis topics, but at the same time, make you practice it using R programming. This course's focus is to train you to do the elemental analysis for investment management that you might need to do in your job every day. Additionally, the study note to do using Python programming will be provided.

Aug 10th 2026
4 Weeks
Activism in Sports and Culture (Coursera) Coursera
Morehouse College

Activism in Sports and Culture (Coursera)

Sports have become an ever-present reflection of American culture, and an important symbol of the divisions and alliances in our society. Sports and political change walk hand in hand in America. The way that athletes and institutions deal with questions of race, economic hardship, nationalism, and political ties have become central to the way that we understand ourselves and our society. And yet, there are those who would prefer their sports free of controversy and opinion.

Aug 3rd 2026
4 Weeks
Practical Python for AI Coding 2 (Coursera) Coursera
Korea Advanced Institute of Science and Technology - KAIST

Practical Python for AI Coding 2 (Coursera)

This course is for a complete novice of Python coding, so no prior knowledge or experience in software coding is required. This course selects, introduces and explains Python syntaxes, functions and libraries that were frequently used in AI coding. In addition, this course introduces vital syntaxes, and functions often used in AI coding and explains the complementary relationship among NumPy, Pandas and TensorFlow, so this course is helpful for even seasoned python users.

Aug 3rd 2026
5-12 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Aug 3rd 2026
4 Weeks
Basic Statistics (Coursera) Coursera
University of Amsterdam

Basic Statistics (Coursera)

Understanding statistics is essential to understand research in the social and behavioral sciences. In this course you will learn the basics of statistics; not just how to calculate them, but also how to evaluate them. This course will also prepare you for the next course in the specialization - the course Inferential Statistics. In the first part of the course we will discuss methods of descriptive statistics. You will learn what cases and variables are and how you can compute measures of central tendency (mean, median and mode) and dispersion (standard deviation and variance). Next, we discuss how to assess relationships between variables, and we introduce the concepts correlation and regression.

Aug 3rd 2026
5-12 Weeks