Course Abstract

Training duration: 3hrs (Hands-on)

This workshop is a hands-on introduction to Bayesian Decision Analysis (BDA), which is a framework for using probability to guide decision-making under uncertainty. I start with Bayes's Theorem, which is the foundation of Bayesian statistics, and work toward the Bayesian bandit strategy, which is used for A/B testing, medical tests, and related applications. For each step, I provide a Jupyter notebook where you can run Python code and work on exercises. In addition to the bandit strategy, I summarize two other applications of BDA, optimal bidding and deriving a decision rule. Finally, I suggest resources you can use to learn more.


Instructor Bio:

Allen Downey

Professor at Olin College

Allen Downey

Allen Downey is a Professor of Computer Science at Olin College of Engineering in Needham, MA. He is the author of several books related to computer science and data science, including Think Python, Think Stats, Think Bayes, and Think Complexity. Prof Downey has taught at Colby College and Wellesley College, and in 2009 he was a Visiting Scientist at Google. He received his Ph.D. in Computer Science from U.C. Berkeley, and M.S. and B.S. degrees from MIT.

Course Outline


  • Prerequisites and goals
  • Bayes's Theorem, the diachronic interpretation
  • Introduction to Jupyter on Colab

Intro - Bayesian Decision Analysis

  • Intro - Cookie Problem
  • Bayes's theorem and the law of total probability
  • The Bayes table
  • Evidence 
  • Exercise 1

Bayesian Statistics

  • Intro -  The Bowl Problem
  • Summarizing The Posterior
  • Using Pandas Series to represent PMFs
  • Summarizing distributions: MAP
  • Exercise 2

From Bayesian Theorem to Bayesian Statistics

  • Intro - The Euro Problem
  • Posterior Distributions
  • Summarizing distributions: Credible interval
  • From Bayes's Theorem to Bayesian Statistics
  • Exercise 3

From Bayesian Statistics to Bayesian Decision Analysis

  • Intro - The Bayesian Bandit Problem 
  • Multiple Bandits
  • Thompson sampling
  • Exercise 4

Recap and Summary

  • Summary
  • Overview of the Red Line Problem (decision rule)
  • Bayesian decision analysis
  • Next steps and further reading

Background knowledge

  • Familiar with Python at an intermediate level

  • Should be familiar with basic probability, but you don't need to know anything about Bayesian statistics