cassionData Analysis

Dataset

Market price monitoring — 2023 and 2024

2,273 synthetic monthly price observations from twelve markets, covering seven commodities and a casual labour wage over twenty-four months — the series a terms-of-trade analysis needs and a single survey round cannot supply.

syntheticFood SecurityLivelihoodsKoboToolboxMarket assessmentIPC classificationLivelihood assessment
Rows
2,273
Variables
8
Period
2023-01 to 2024-12
Licence
CC BY 4.0
Completeness
100%

Standards and methodologies

Integrated Food Security Phase Classification (IPC)Sphere Standards

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

VariableTypeDescriptionAllowed values
market_idstringPseudonymous market identifier. Twelve markets, three per district.—
districtcategoricalDistrict the market serves. Shares its names with the household food security survey, so the two files join on district.Nord-Ouest, Artibonite, Centre, Sud
commoditycategoricalWhat was priced. The casual labour wage is in this column too, because terms of trade need both sides of the ratio in one series.maize, rice-imported, beans-black, cooking-oil, cassava, charcoal, goat, daily-wage-casual-labour
unitcategoricalUnit the price refers to. One market records maize by the local marmite and files it as a kilogram price anyway.kg, litre, sack, head, day
periodstringMonth of observation, as YYYY-MM. Twenty-four months from January 2023.—
price_htgHTGfloatPrice in Haitian gourdes, except where a form was filled in dollars. Median across the traders quoted.—
currencycategoricalCurrency the price is recorded in. Always HTG, including on the eight rows where the price is plainly a dollar figure.HTG
trader_quotesintegerNumber of traders the price was taken from. A price resting on one quote is not a market price.—

Provenance

Source
Synthetic, generated by scripts/generate/market_prices_2024.py
Collection method
Simulated monthly market price monitoring, median of trader quotes per commodity
Geography
Four anonymised districts, twelve markets
Period
2023-01 to 2024-12

Data quality

  • Fully generated. No real market is described, no price is a real price, and none of these figures should ever be cited as market data.
  • Seasonality is larger than most programme effects. Median maize runs about 75 gourdes per kg at the December harvest and about 130 at the July lean-season peak in 2023, and 81 against 159 in 2024. Two survey rounds taken at different points in that cycle measure the calendar.
  • A price is not access. The casual labour wage moves from 361 to 396 gourdes a day across the two years while maize doubles each lean season, so a day's work bought 4.82 kg of maize at the 2023 harvest, 2.84 kg at the 2023 peak and 2.48 kg at the 2024 peak.
  • Livestock moves the other way. Goat prices fall in the lean season as everyone sells at once, so a goat bought 69.4 kg of maize at the 2023 harvest and 26.7 kg at the 2024 peak — a 62% collapse, against a goat price that fell only 18%. Neither series shows that on its own.
  • Reference figures for a correct analysis: median maize 130.1 in 2023-07 and 159.3 in 2024-07, a 22% year-on-year rise at the same point in the season; wage-to-maize terms of trade 2.48 kg at the 2024 peak; goat-to-maize 26.7 kg.

Known issues

  • MK001 stops reporting for June to September 2024 when its road is cut, and the rows are absent rather than zero. It is the most expensive market in Nord-Ouest, so a district mean over whoever reported understates the lean season badly: Nord-Ouest maize reads 147.0 in May and 172.1 in June, a 17% rise, while the two markets that reported in both months went from 123.2 to 172.1, a 40% rise. Most of the difference is the panel changing, not the price.
  • MK005 records maize by the marmite, a local volume measure of about 2.7 kg, and files it in a column labelled per kilogram. Its median maize price is 263 gourdes against about 100 elsewhere. Any national mean including it is wrong and the row itself looks like a plausible price.
  • Eight prices were entered in US dollars with the currency column left at HTG. They read as values under 10 and would be dropped as data-entry noise by an outlier filter, when they are recoverable at about 132 gourdes to the dollar.
  • Thirteen observations rest on a single trader quote. They are not wrong, but a median of one is not a market price and should carry less weight or be excluded — say which.
  • One market-month is recorded twice, with a different trader count on the second row.

Worked examples

Python

Seasonality and the year-on-year comparison

Builds the monthly median series per commodity, compares each lean season with the one before it, and shows what the unbalanced panel does to a district mean.

Described here; the notebook is still being written.

R

Terms of trade

Computes wage-to-cereal and livestock-to-cereal terms of trade and contrasts their movement with the movement of either price alone.

Described here; the notebook is still being written.