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.
- Rows
- 2,273
- Variables
- 8
- Period
- 2023-01 to 2024-12
- Licence
- CC BY 4.0
- Completeness
- 100%
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 |
|---|---|---|---|
market_id | string | Pseudonymous market identifier. Twelve markets, three per district. | — |
district | categorical | District the market serves. Shares its names with the household food security survey, so the two files join on district. | Nord-Ouest, Artibonite, Centre, Sud |
commodity | categorical | What 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 |
unit | categorical | Unit 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 |
period | string | Month of observation, as YYYY-MM. Twenty-four months from January 2023. | — |
price_htgHTG | float | Price in Haitian gourdes, except where a form was filled in dollars. Median across the traders quoted. | — |
currency | categorical | Currency the price is recorded in. Always HTG, including on the eight rows where the price is plainly a dollar figure. | HTG |
trader_quotes | integer | Number of traders the price was taken from. A price resting on one quote is not a market price. | — |
Provenance
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.