Extensions

Beyond the core week

What changes when the data are messy, observational, path-shaped or drifting, or when the channel is one you own and can fire every day?

These modules go beyond the five days. They are optional and have no timetable, and they are not part of the workshop’s readiness verdict: they have their own section on the readiness page. Each one keeps the module format (a briefing, a lab in Colab and a debrief that ends in a business decision) and starts from the core modules named on its card, not from the capstone.

How to use them

  • On your own, after the week. Pick the extension closest to a problem you have. Review the modules it builds on, read its briefing, then open its lab.
  • In a custom schedule. A facilitator can swap an extension in place of a core module: it fits a module’s slot. Teach it after the modules it builds on, and check its line on the readiness page first, since an extension without a current Colab run is not ready to teach. The instructor guide gives each lab’s timing plan, expected stall points and debrief prompts.

Until a release contains an extension’s notebook, its card says “Colab after the next release” instead of offering a Colab button, and links to running the lab locally.

The modules

110 minutes (45 briefing, 55 lab, 10 debrief)

Module 13

Messy real data: cleaning a real log for BTYD and spend models

Build a cleaning pipeline that reproduces a known clean answer on a deliberately dirtied copy of the synthetic retailer, measure how much each data error moves BG/NBD, Gamma-Gamma and individual customer scores, cap extreme orders, and apply the same pipeline to UCI Online Retail II to choose whom to contact.

Builds on Module 1, Module 2 and Module 4.

110 minutes (45 briefing, 55 lab, 10 debrief)

Module 14

Survival analysis for subscription churn

Estimate subscriber retention from right-censored data with Kaplan-Meier, see where it stops and Module 4’s sBG model has to take over, adjust a confounded comparison with a Cox proportional-hazards model, find an effect that fades with tenure, and turn the effect of onboarding into months of subscription and dollars.

Builds on Module 4 and Module 6.

110 minutes (45 briefing, 55 lab, 10 debrief)

Module 15

Causal effects without an experiment: double machine learning

Estimate how much installing the app, which customers chose for themselves, changed their next 26 weeks of spend: see a naive comparison and a regression with controls miss the known truth, write double machine learning with cross-fitting by hand, find out whose effect the estimate describes, then reproduce it with EconML’s LinearDML and check the method against a randomized benchmark built from the Hillstrom experiment.

Builds on Module 6 and Module 11.

110 minutes (45 briefing, 55 lab, 10 debrief)

Module 16

Multi-touch attribution: Markov chains, Shapley values and incrementality

Credit conversions to channels along user journeys with last-click, first-click, linear, a Markov-chain removal effect and Shapley values, then score every method against the conversions each channel truly causes in a simulation where some channels reach users who were likely to buy anyway.

Builds on Module 6 and Module 8.

110 minutes (45 briefing, 55 lab, 10 debrief)

Module 17

MMM with drifting effects and a Prophet baseline

Find and model a channel whose effect per dollar fades (ad fatigue): show that a static MMM reports its all-period average as if it held today, detect the drift from the static model’s residuals, estimate the decline with a time-varying MMM, and test against the truth what a Prophet baseline fitted to sales does to channel ROAS.

Builds on Module 8 and Module 9.

110 minutes (45 briefing, 55 lab, 10 debrief)

Module 18

Notifications: volume, targeting and a policy for the long run

Measure what one push notification does the same day with a randomized send experiment, then what a cadence does over a quarter with a volume experiment (opens say daily, 90-day margin says three a week, and daily sends lose half the reachable base), target sends with an uplift rule that charges each send its opt-out risk, run a contextual bandit with and without a penalty for opt-outs, fit a send-or-skip policy by value iteration on the volume log with a per-send penalty, and choose a policy by 90-day margin under a reachable-base guardrail.

Builds on Module 6 and Module 11.

The extension notebooks are also listed on the notebooks page.