The Foundations workstream aims to provide a path to gaining competency in common statistical and machine learning techniques by:

  • creating a roadmap of methods to learn
  • gathering together relevant learning materials and,
  • developing notebooks in R and Python with example code, where the methods are applied to reserving data sets.

Learning resources

Some learning resources are listed below.

Working party blog articles

We will be posting articles on the blog from time to time. The entry point is our introduction post which includes a suggested roadmap to learning machine learning. After that, search for the foundations tag or look at the list of posts.

Other IFoA curated resources

Name Format Content Level Language Review
IFoA Data Science Working Party Website Resources curated by the IFoA Data Science Working Party Mixed R / Python Useful complementary resource to our working party
IFoA Data Science Working Party articles Website List of articles by the working party on data science topics Mixed R / Python Includes a helpful worked example on XGBoost
IFoA Data Science page Website List and links of qualifications in data science, courses, IFoA webinars and other tips on how to get started in data science Mixed R / Python Learning about data science can be overwhelming due to the abundance of resources available. It is helpful to know what the IFoA recommends
IFoA Certificate in Data Science Website See website Beginner Python Review to be provided in 2021 after completion of the course by a member of our working party

Online courses

Name Format Content Level Language Review
Stanford Statistical Learning Course on videos with R examples via website or EDX app Mostly supervised learning but also touches on unsupervised learning Beginner R (but see note below for python) Very helpful, the course serves as a good reminder on specific statistical techniques while also making the bridge to more advanced techniques used in machine learning
Deep Learning Specialisation on Coursera Online course via Coursera website or app Foundations of Deep Learning, case studies, practice of Python and TensorFlow Beginner Python This is a thorough course. It teaches from first principles what neural networks are and how they work. It does require some familiarity with Python or at minimum with coding
TensorFlow in Practice Specialization on Coursera Online course via Coursera website or app Neural Networks with a focus on TensorFlow and its applications Beginner Python This is a practical course on Neural Networks. It focuses on applications and less on deep theory
Kaggle Website Wide range of content Mixed R / Python (micro-courses in ML use python) The section Courses allows the user to focus their learning on particular areas. The section Notebooks gives access to other users’ content that include tutorials, reproducable code and data.


  1. Stanford EDX course - Github users have created R and python versions of the course. It is also suported by the textbook An Introduction to Statistical Learning (see below).

  2. Kaggle - The notebook on XGBoost and course on Deep Learning may be of particular interest


Name Format Content Level Language Review
An Introduction to Statistical Learning Book (freely available) Textbook supporting the Stanford Statistical Learning Course Beginner N/A This book is regularly referred to in the Stanford Statistical Learning online course and both follow the same structure
The Elements of Statistical Learning Book (freely available) More advanced version of the previous textbook Intermediate N/A Provides more details around the different methods discussed in the introductory text book, An Introduction to Statistical Learning
R for Data Science Book (freely available) Introductory guide to data science in R Beginner R Easy guide to common data science tasks in R using the tidyverse