Dataset
SMART nutrition survey — anthropometry, 2024
A 30-cluster SMART survey of 930 children aged 6-59 months, shipped as raw weight and height so z-scores must be computed, and carrying the specific defects a SMART plausibility report is designed to catch.
- Rows
- 930
- Variables
- 9
- Period
- 2024-11
- Licence
- CC BY 4.0
- Completeness
- 96%
Standards and methodologies
Files
Files are versioned by filename. A corrected release ships as .v2.csv rather than replacing the file in place, so an analysis pinned to v1 keeps reproducing.
Data dictionary
| Variable | Type | Description | Allowed values |
|---|---|---|---|
cluster | integer | Survey cluster, 1 to 30. Children within a cluster are more alike than children across clusters, so a naive confidence interval will be too narrow. | — |
team | integer | Measurement team, 1 to 4. Required for the plausibility checks; two teams have distinguishable measurement problems. | — |
child_id | string | Pseudonymous child identifier. | — |
age_monthsmonths | integer | Age in completed months, 6 to 59. Heaped on whole years where no birth record existed. | — |
sex | categorical | Sex of the child. The sex ratio is one of the standard plausibility checks. | f, m |
weight_kgkg | float | Weight to the nearest 0.1 kg. | — |
height_cmcm | float | Length or height as recorded, to the nearest 0.1 cm. Not adjusted for measurement position. | — |
measured_lying | boolean | Whether the child was measured lying down. Length reads about 0.7 cm higher than height for the same child, so this must be subtracted before computing z-scores. | true, false |
oedema | boolean | Bilateral pitting oedema. A child with oedema is severely acutely malnourished regardless of weight-for-height. | true, false |
Provenance
Data quality
- Fully generated. No real child is described and the results must not be cited as a real nutrition situation.
- Z-scores are deliberately not shipped. Computing weight-for-height z-scores against the WHO 2006 growth standards is the exercise, and reading a precomputed column teaches nothing.
- Measurement position must be handled first. Children under 87 cm were measured lying, and the recorded value carries the roughly 0.7 cm length-height difference. Skipping that adjustment biases every z-score for the youngest half of the sample.
- Correctly analysed, this survey gives global acute malnutrition near 10.3% and severe acute malnutrition near 1.1% — a serious situation on WHO thresholds, short of the 15% emergency level.
- Oedema overrides anthropometry. A child with bilateral pitting oedema is severely acutely malnourished whatever their weight-for-height, so the SAM numerator is not simply the count below -3 z-scores.
Known issues
- Fifteen records hold impossible measurements: weights out by a factor of ten in both directions, and heights entered in metres. These must be excluded by a range check before any flagging rule is applied.
- SMART flags exclude observations more than 3 SD from the survey mean; WHO flags use fixed bounds of -5 to +5. The two rules exclude different children and give slightly different rates, which is why a plausibility report states which was used.
- Team 3 measures systematically low. Its clusters show global acute malnutrition near 15.5% against 7 to 11% for the other teams, with a mean z-score about 0.4 lower — a measurement artefact, not a real difference in nutrition status.
- Team 2 shows heavy digit preference: about 69% of its height readings end in .0 or .5, against roughly 20% for the other teams.
- Ages heap on whole years. There are 66 children recorded at exactly 24 months against 15 and 19 at 23 and 25, and 80 at 36 months against 28 and 17 either side.
- Twenty-two children are missing an age and seven are missing a weight.
Worked examples
Python
Computing prevalence with WHO growth standards
Adjusts for measurement position, computes weight-for-height z-scores, applies SMART and WHO flagging in turn, and reports GAM and SAM with a design effect for the cluster sample.
Described here; the notebook is still being written.
SMART plausibility report
Reproduces the standard quality checks — flagged records, digit preference by team, age heaping, sex ratio and team bias — and states whether the survey would be accepted.
Described here; the notebook is still being written.
R
Computing prevalence with WHO growth standards
The same prevalence estimation in R, using a growth-standards package rather than reimplementing the LMS calculation.
Described here; the notebook is still being written.