cassionData Analysis

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.

PythonYour own machine180 min

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.