Lab · Intermediate
Four answers to one question
Build all four food security indicators from raw components, put them on the same households, and find they disagree by a factor of seven. Then assemble the evidence table that reports the disagreement instead of resolving it.
The cluster wants one number: how many households are food insecure.
You have four instruments on the same households. They will give you 7.4%, 42.9%, 51.0% and 48.2%, and every one of them is a correct application of a published standard. The deliverable is not the number. It is the table that explains why there isn’t one.
The files
food-security-survey-2024.v1.csv — 2,112 household interviews carrying the raw
components of the Food Consumption Score, the Household Hunger Scale and the
reduced Coping Strategy Index.
livelihood-coping-2024.v1.csv — the Livelihood Coping Strategies module for the
same households, ten strategies pre-classified into three severity phases.
Both synthetic.
Set up first
A project directory, both files read-only, an outputs/ directory, and a script
that runs top to bottom from a clean kernel.
Part one: four indicators, four exclusion rules
Compute each from its raw components. Do not shortcut any of them.
Food Consumption Score. Range-check the eight groups against a seven-day recall before weighting; decide what to do with the twenty-three impossible values and say so. A household missing any group has no score — do not let a blank become a zero. Apply both threshold sets and report both.
Household Hunger Scale. Valid only when all three questions are answered. Report the prevalence on complete cases, then report what zero-filling would have done to it, and separately how many individual households it would have moved.
reduced Coping Strategy Index. Weights 1, 2, 1, 3, 1 — the 3 is not a typo. There is no universal threshold; set one from this population’s distribution and say how you set it.
Livelihood Coping Strategies. Classify by the most severe strategy used, not
by a count or a sum. not-applicable is a third answer and not a no.
Print a denominator table before any results: instrument, analysable n, excluded n, and the rule that excluded them. Four instruments, four different denominators, and none of them is 2,112.
Part two: put them on the same households
Join the module to the survey and count. Three things to handle on the join.
- Nine households are in the module and not in the survey. An inner join drops them silently; say what you did.
- Twelve households are in the survey twice under different identifiers. Decide before you join, not after.
- Fifty-eight households have the emergency questions blank, so they cannot be classified above crisis.
Then produce the overlap table: how many households are flagged by none, one, two, three and all four instruments.
Part three: the district cut, and the one that is wrong
Disaggregate each indicator by district. Then compute, for each district, the per-strategy prevalence of selling the last female breeding animals on two denominators — every household, and only the households the strategy applies to.
One district’s two columns are almost identical and the others’ are not. Find out why before drawing a conclusion about it, and say what the naive column would have led a programme to believe.
Part four: the evidence table
Build the six-row table in code, from the same script that computed the values. Each row carries the indicator, the value, the analysable n, the source, and a reliability sentence — not a score, a sentence stating the specific reason the row deserves the weight you give it.
Beneath it, three blocks:
- what the evidence supports;
- what it does not support, including a phase classification and why;
- what would settle it.
Check your numbers
| Expected | |
|---|---|
| FCS poor, 21/35 thresholds | about 0.9% |
| FCS poor, 28/42 thresholds | about 7.3% |
| HHS moderate or severe | about 42.9% |
| Livelihood crisis or emergency | about 48.5% |
| Households analysable on all four | about 1,955 |
| Flagged by at least one | about 76% |
| Flagged by all four | about 3% |
If your FCS poor share is near 7% on the 21/35 set, a blank has become a zero. If your livelihood classification counts strategies rather than taking a maximum, the crisis share will be far too low.
The questions to answer in prose
Three sentences each.
1. Your four indicators disagree by a factor of seven. Explain to a programme manager why that is a finding rather than a data quality problem, and what the pattern across the four says about where this population is in a deterioration.
2. Zero-filling the incomplete Household Hunger Scale moves the prevalence by three tenths of a point. Say when that is acceptable and when it is not, and tie your answer to what the analysis is going to be used for.
3. Your evidence table cannot support a phase classification. Name the two outcome indicators that are missing, say why their absence matters more than the imperfections in the four you have, and give the sentence you would put in the report instead.
What to hand in
A Python script or notebook producing:
- the denominator table, printed before any result
- all four indicators with both FCS threshold sets
- the overlap table and the by-district disaggregation
- the two-denominator comparison for the livestock strategy
- the six-row evidence table with reliability sentences
- the three prose answers
How to know you are done
Delete outputs/, restart the kernel, run once, everything regenerates
identically. Changing the FCS threshold set at the top of the script changes two
rows of the evidence table and nothing else — if a denominator moves, a threshold
has leaked into an exclusion rule.
What this lab is not
It is not an IPC analysis. A phase is assigned by a technical working group weighing this table against nutrition and mortality evidence you do not have. This lab is the analyst’s half of that process: build the indicators correctly, report the disagreement honestly, and hand over a table that makes the argument possible.