Programme
The whole curriculum, before you start it
Every module, every course and everything each one teaches — including the courses still being written. You should be able to decide whether this programme is worth six months of your evenings without enrolling in anything.
- Modules
- 6
- Courses
- 21
- Available now
- 21
- Learner hours
- 382
How to read this
Modules are ordered by dependency, not by difficulty. You can enter at any module whose prerequisites you already meet — most people working in monitoring and evaluation start at Indicators and Measurement and come back to Foundations when a script breaks.
Module 01
Foundations
Get from a raw programme export to a table you can compute on, in whichever of Python or R your team already uses.
Data Analysis Foundations for M&E
Available nowBeginner16 hLoad, clean and summarise routine programme data in both Python and R, then turn it into the indicator tables a donor report actually needs.
Public Health · Nutrition · Emergency Response
What it teaches
- Read programme exports from CommCare, KoboToolbox and DHIS2 into a tidy table without corrupting identifiers, dates or missing-value codes
- Diagnose and document the data quality problems routine data always carries, and quantify what each one costs the final number
- Decide what to do about a defect and record that decision in a cleaning log a data auditor can follow
- Produce a disaggregated indicator table that matches a logframe definition, with numerator and denominator stated explicitly
- Reproduce the same analysis in Python and in R, and rerun it on next quarter's export without editing it
Python for Programme Data
Available nowBeginner20 hThe Python a monitoring and evaluation officer actually needs — environments, pandas, dates, categorical codes and file formats — taught on survey and registry exports rather than on toy data.
Public Health · Nutrition
What it teaches
- Install and reproduce a working Python environment on a machine with no reliable internet, and explain why a system Python is the wrong place to work
- Read a CSV, Excel or fixed-width export without losing a leading zero, misreading a date, or letting a missing-value sentinel enter an average
- Select, filter and group a pandas DataFrame deliberately, and explain what SettingWithCopyWarning is telling you rather than silencing it
- Compute ages, reporting periods and age-band disaggregations correctly, including the month arithmetic a growth standard depends on
- Write a script another officer can run next quarter on a different export, without editing anything but its arguments
R and the Tidyverse for Programme Data
Available nowBeginner20 hThe same ground as the Python course, in R — projects and renv, readr and haven, the dplyr verbs, forcats and tidyr — taught on survey and registry exports, with the defaults that differ from pandas named rather than glossed.
Public Health · Nutrition
What it teaches
- Set up an R project that reopens a year later on a different machine, with its package versions recorded and no absolute path in the code
- Read CSV, Excel, Stata and SPSS exports without losing a leading zero, a date or a value label, and say what each reader does with a missing-value code
- Use the dplyr verbs deliberately, and explain what group_by() and summarise() do to missing keys, unused levels and the grouping that survives the call
- Order categories with forcats so a table and a chart read the way the report needs rather than alphabetically
- Reshape a flattened repeat group with pivot_longer(), and wrap the whole cleaning in a function that runs unchanged on next quarter's export
Module 02
Data Preparation
Turn what arrived into what can be analysed, and be able to say in writing what you changed and why.
Data Cleaning and Validation
Available nowBeginner16 hMissing values, duplicates, impossible measurements and inconsistent coding — how to find each one, decide what to do about it, and leave a record a data auditor can follow.
Public Health · Nutrition · WASH
What it teaches
- Profile a fresh export before touching it, and keep the profile as the record of what the file looked like on arrival
- Show whether missingness clusters in one site or one week, and state what dropping incomplete rows would do to the ranking you publish
- Prove a table has the key you think it has, and find the duplicate records that share no key at all
- Write plausibility rules from the sector's own thresholds, and separate a recoverable unit error from an unrecoverable one
- Reconcile free-text site and village names against an administrative list without inventing a match
- Ship a cleaning log that states every rule, how many rows it touched, what it changed and who approved it
Joining and Reshaping Programme Data
Available nowIntermediate14 hHousehold and member rosters, repeat groups, admissions and discharges, and monthly aggregates that have to line up with a population denominator.
Public Health · Emergency Response
What it teaches
- Choose a join type from what you want to be true of the result, and prove afterwards that it was
- State the grain of every table you touch, and aggregate to the grain before joining rather than after
- Move a table between long and wide deliberately, and undo the flattened repeat group a form platform exports
- Attach a population denominator from an administrative frame, and defend the denominator you chose
- Build a complete period grid so a month that was never reported is visible rather than absent
- Reconcile a line-level register against the aggregate that was reported upward, and publish the gap
Data Quality Assessment
Available nowIntermediate12 hRun a routine data quality assessment the way a donor auditor will — verification factors, consistency over time, and a report that names the fix as well as the fault.
Public Health · Nutrition
What it teaches
- Score a dataset against the five quality dimensions with a measure for each, rather than calling it "good" or "poor"
- Compute reporting completeness and timeliness as indicators in their own right, with their own denominators
- Recount a source register against what was reported upward and turn the difference into a verification factor with a tolerance band
- Choose which facilities to verify when you cannot visit them all, and state what your sample can and cannot conclude
- Detect digit preference, heaping and implausibly stable series, and calibrate the check against what chance produces
- Write a DQA report whose every finding carries a root cause, a corrective action, an owner and a deadline
Module 03
Indicators and Measurement
Define, compute and defend an indicator — including the denominator argument you will actually have.
Indicator Design and the LogFrame
Available nowIntermediate16 hWrite indicator definitions precise enough that two analysts computing them independently get the same number, and trace each one back to the change it is supposed to evidence.
Public Health · Emergency Response · Education
What it teaches
- Trace an indicator back to the change it is meant to evidence, and say what the LogFrame lost on the way from the Theory of Change
- Write an indicator reference sheet complete enough that a second analyst reproduces your number without asking you a question
- Choose a denominator you can defend in a review, and state what your choice excludes
- Distinguish reach, coverage and cumulative counts, and stop a monthly series from counting the same person twelve times
- Adopt a standard indicator definition where one exists, and say precisely where yours departs from it
- Set a baseline and a target that survive a mid-term review, and name the behaviour each one will encourage
Survey Analysis, Sampling and Weighting
Available nowIntermediate22 hAnalyse a two-stage cluster survey properly — weights, strata, design effect and confidence intervals — using the conventions DHS, MICS and SMART already impose.
Public Health · Nutrition · Food Security
What it teaches
- Reconstruct sampling weights from a frame, including the non-response adjustment, and prove they sum to the population
- Say why an unweighted mean from a cluster survey is the wrong number, and how far wrong it is on a given survey
- Compute a sample size for a prevalence estimate, and state what precision the budget actually bought
- Estimate a proportion with a design-adjusted confidence interval in both R and Python, and read the design effect off the result
- Handle non-response and replacement clusters explicitly rather than by ignoring them
- Refuse to disaggregate past the point the sample supports, and say in a report where that point is
Routine Data and DHIS2
Available nowIntermediate14 hWork with an aggregate health information system — its data elements, org unit hierarchy and period logic — and answer the question that always follows: what exactly was counted?
Public Health · Nutrition
What it teaches
- Read a DHIS2 extract as the database it came from — data elements, category combinations, org units and periods — rather than as an unexplained spreadsheet
- Aggregate up an org unit hierarchy without double-counting a facility that moved between districts
- Treat reporting completeness and timeliness as denominators, and say what a coverage figure means when a quarter of units are silent
- Pull an extract through the Web API with a script that runs every month unchanged and records what it asked for
- Reconcile a routine aggregate against a survey estimate of the same thing, and decompose the gap into measure and selection
- Answer what was counted, by whom, over what period, for any figure the system produces
Module 04
Sector Analysis
Apply the methods to the sector you report on, using the classification thresholds and case definitions your cluster already holds you to.
Nutrition Analysis: CMAM and SMART
Available nowIntermediate24 hAnthropometry, admission and outcome indicators, and a SMART survey analysed end to end against the WHO growth standards and the Sphere performance thresholds.
Nutrition
What it teaches
- Compute weight-for-height, height-for-age and weight-for-age z-scores against the WHO 2006 standards, from raw measurements
- Apply the SAM and MAM case definitions correctly, including the oedema rule that overrides anthropometry
- Say where MUAC and weight-for-height disagree, by how much, and which children each criterion finds
- Produce a SMART plausibility report and decide whether a survey should be accepted
- Estimate GAM and SAM prevalence with a design-adjusted interval and read it against the IPC acute malnutrition phases
- Compute CMAM performance on the denominator Sphere actually specifies, and find the site the district figure is hiding
- Explain why programme admissions over expected caseload is not coverage, and what estimating coverage requires
Public Health and Applied Epidemiology
Available nowIntermediate22 hIncidence, prevalence, cascades and coverage for HIV, TB, malaria and immunisation programmes, plus the outbreak curve you may have to draw at short notice.
Public Health
What it teaches
- Distinguish a rate, a ratio and a proportion, and say what person-time adds that a headcount denominator cannot
- Build a cascade as chained denominators and locate the step where the largest share is lost
- Draw an epidemic curve from a line list, and say what the missing onset dates do to its peak
- Compute attack rates and case fatality with their denominators stated, against the thresholds the response is judged on
- Age-standardise two districts and say how much of the apparent difference between them was structure
- Name the confounders in a routine-data comparison, and state plainly what an observational finding can and cannot claim
WASH Analysis
Available nowIntermediate16 hWater access, quality and water point functionality against the JMP service ladders and the Sphere indicators, including the chlorination residual nobody logs consistently.
WASH
What it teaches
- Place a household on all three JMP service ladders, and say why an improved source is not the same as basic service
- Compute quantity, collection time and queue against the Sphere minimum standards, with the unit errors those fields carry
- Report water quality from a tested subsample without letting it borrow the access denominator
- Handle a left-censored measurement as data rather than dropping it or coercing it to zero
- Produce three defensible functionality rates from one monitoring register and state what each is about
- Separate a water point that fails every dry season from one that has been abandoned, using the visit sequence
Food Security Analysis and IPC
Available nowIntermediate18 hCompute FCS, rCSI, HHS and LCS correctly, then use them the way an IPC analysis workshop does — as converging evidence, not as a single score.
Food Security · Livelihoods
What it teaches
- Compute the Food Consumption Score from its raw components, and state which threshold set you applied and why
- Score the Household Hunger Scale and reduced Coping Strategy Index with the exclusion rules each one requires
- Classify a household on the Livelihood Coping Strategies module by its most severe strategy rather than by a count
- Read a price series through its seasonality, and detect a market panel that changed composition
- Compute terms of trade and explain what they show that neither price shows alone
- Assemble an evidence table and say what a Phase 3 classification does and does not assert
Protection and GBV Data
Available nowAdvanced16 hAnalyse referral, case management and incident data under the safety and confidentiality rules the sector imposes — including the analyses you must decline to publish.
Protection
What it teaches
- State what a protection dataset must not contain, and justify each omission by what the analysis actually needs
- Assess disclosure risk in a disaggregated table and apply a suppression rule before the table leaves the building
- Build a consent-gated referral pathway and locate the node where the largest share is lost
- Compute caseload per caseworker and relate it to the quality measures that fall as it rises
- Handle a censored case register without biasing time to closure downward
- Say in writing that a case curve measures reporting rather than prevalence, and show the evidence for it
Education Programme Analysis
Available nowIntermediate14 hEnrolment, attendance, retention and learning outcomes, with the school-year calendar and the enrolment-versus-attendance distinction that trips up every dashboard.
Education
What it teaches
- Compute gross and net enrolment ratios and explain why one of them exceeds 100% without any child being counted twice
- Separate average daily attendance from the proportion of students regularly attending, and say which a programme is judged on
- Follow a cohort through promotion, repetition and dropout, and compute survival to the final grade
- Read a learning assessment across two rounds whose instruments differ, and say what is comparable
- Detect a non-random assessment subsample and bound the bias it introduces
- Disaggregate by sex, disability and displacement, and state the sample each cut demands
Module 05
Statistics and Modelling
Say how confident you are, compare groups honestly, and know which questions your design can and cannot answer.
Applied Statistics for Programmes
Available nowIntermediate24 hUncertainty, comparison and significance, taught around the claims a programme report makes — not around a textbook sequence of tests.
Public Health · Nutrition · WASH · Education · Protection
What it teaches
- Read the distribution of an indicator before computing anything on it, and say what its mean is hiding
- Put a confidence interval on a proportion and write the result as an interval in a report sentence
- Compare two groups with the right test, state its assumptions, and check them against the data
- Separate statistical significance from operational relevance, and report an effect size beside every p-value
- Recognise when the unit of analysis is not the row, and correct the sample size accordingly
- Run a family of comparisons without manufacturing the false positives it invites
Regression for Programme Data
Available nowAdvanced20 hLinear, logistic and multilevel models fitted to survey and routine data, with the interpretation written the way a non-statistician programme manager needs to read it.
Education · Protection · Nutrition · Food Security
What it teaches
- Read a regression coefficient as the comparison of means it is, and say which comparison
- Distinguish adjustment, which moves the estimate, from clustering, which moves the standard error
- Fit a logistic model and report it as a risk difference rather than as an odds ratio a reader will misread
- Decide which covariates belong in a model and which ones destroy the answer by being there
- Fit a random intercept where the design assigned above the level of the row
- Weight a model to its sampling design, and report a model that does not fit rather than dropping it
Impact Evaluation Methods
Available nowAdvanced24 hCounterfactual thinking and the designs that support it — randomisation, difference-in-differences, matching and regression discontinuity — plus how to say what a before-after comparison cannot.
Education · Nutrition · Public Health
What it teaches
- State the counterfactual a claim requires, and say why a before-after change is not one
- Read a balance table and judge whether a comparison group is one
- Fit a difference-in-differences estimate and argue for the assumption it rests on
- Match on a propensity score and report the units matching discarded
- Recognise an eligibility threshold as a design, and check the three things it needs
- Compute a minimum detectable effect before the evaluation, and say what an underpowered study may conclude
Module 06
Communication and Delivery
Put the number in front of the person who has to decide, in a form they can act on and someone else can reproduce.
Data Visualisation for Programmes
Available nowIntermediate18 hCharts that survive a printer, a projector and a sceptical reviewer, built in matplotlib and ggplot2 against the conventions each cluster already reads fluently.
Nutrition · Public Health · Food Security · Protection · WASH
What it teaches
- Choose the mark from the comparison the chart is making, before opening a plotting library
- Put uncertainty on a chart in a form a programme audience reads correctly
- Use the sector's own colour conventions, and recognise the palettes that must not be repurposed
- Judge when a map is worse than a sorted bar chart, and use small multiples instead
- Produce a chart that survives greyscale, a projector and a colour-blind reader
- Label a figure so it stays correct when someone lifts it into another document
Dashboards and Reporting
Available nowIntermediate18 hBuild a dashboard someone opens twice, and write the donor report around it — including the refresh, the caveats and the definition panel that stops the monthly argument.
WASH · Nutrition · Protection · Public Health · Food Security
What it teaches
- Decide what a dashboard is for, and refuse the twenty-tile request with something better
- Lay out a page so the three numbers that drive a decision are read first
- Carry provenance on every figure — the as-of date, the source file, the refresh cadence
- Write an indicator definition panel so a number and its definition travel together
- Write a narrative report whose findings, limitations and recommendation are separable
- Present a finding to a steering committee when it is not the finding they wanted
Reproducible Analysis Workflows
Available nowIntermediate18 hMake the analysis rerunnable by the person who replaces you — version control, pinned environments, parameterised reports and a project layout that survives a handover.
Public Health · Nutrition · Protection · Education · WASH
What it teaches
- Lay out a project so raw data is read-only, derived data is disposable and code is the only thing edited
- Use git on analysis work, and keep beneficiary data out of a repository permanently
- Pin an environment so a colleague's laptop produces your numbers
- Find and remove the things that make a rerun differ — the clock, the seed, the locale, the file order
- Produce twelve district reports from one parameterised template
- Write a handover a successor can act on, and a check that fails loudly when the upstream export breaks