NaijaMarket Intel was built to solve a specific problem: Nigerian food prices are opaque, fragmented, and often misleading. A trader in Kano and a buyer in Lagos can be working from prices that are days old and sourced from a single reporter. So we label every price with where it comes from, and we never present an estimate as an observation.
Verification Pipeline
Trader-Reported Prices
Prices labelled "Trader-reported" come from this process. Approved traders submit prices directly from physical market stalls via WhatsApp. Each submission is geo-fenced: the trader's GPS coordinates must fall within 500 m of the declared market. Submissions outside this radius are automatically rejected before reaching the database. Each trader carries a reputation score (0–100) updated with every accepted or rejected submission — traders scoring ≥ 80 receive instant approval.
Review of Trader Reports
Every trader-submitted price is independently reviewed by three validators assigned to that market. Validators compare the submission against our rolling baseline (EWMA of verified historical prices) and vote approve or reject. A submission requires majority consensus (2 of 3) to be marked APPROVED. Price variance > ±30% from baseline triggers an automatic fraud flag and escalates to senior review regardless of validator votes.
Evidence Labels
Every price we show carries one of four labels. "Trader-reported": submitted by a registered trader and traceable to a reviewed submission. "Official source": an official or public statistic (National Bureau of Statistics, World Bank, WFP) or simple arithmetic on one, such as converting a 2 kg pack price to a 50 kg bag; it was not observed at the market shown. "Modelled estimate": produced by our price model, not observed at any market. "Unverified source": we cannot trace where the value came from. A confidence score is shown only for trader-reported prices.
Modelled Estimates (Scheduled)
To give a price for every item and market, a model generates estimates three times daily at 08:30, 11:30 and 14:30 WAT. Where an official/public price exists for an item, it is used as-is ("Official source"). Otherwise the model either moves the previous estimate toward the item's wholesale reference price with random variation (SIM_TRACKED), or applies market and regional factors with random variation to that reference price (SIM_BASELINE). Both are labelled "Modelled estimate". Today most prices on the platform are modelled estimates; trader reports cover a small number of markets.
NBS Data & NFPI
We keep a reference dataset from the National Bureau of Statistics (NBS) Selected Food Prices Watch. The NaijaFood Price Index (NFPI v2) is a Jevons (geometric mean) index over a fixed basket of 29 food items, base June 2018 = 100, computed monthly from NBS national average prices. Some basket items are derived from NBS figures (pack-size conversions, or a related item's trend where NBS stopped publishing an item); these derivations are recorded per item and month. The index is only extended when NBS publishes a new month.
Data Freshness
Modelled estimates are generated three times daily, one per item and market. The price_date of an estimate is the date it was generated, not a date a price was observed. Consumer-facing APIs always serve the most recent slot. Our Latest_Prices_Summary view is refreshed before each morning slot and after each generation run. That refresh does not create new prices: always read an estimate’s price_date, not the time a table was refreshed.
Coverage
Modelled estimates cover 600+ commodity items across 200+ markets in 36 states and the FCT. Trader-reported prices currently cover far fewer markets; each price is labelled so you can tell which is which. Market counts below are for estimates:
| Category | Sample Items | Markets |
|---|---|---|
| Grains & Cereals | Rice, Maize, Millet, Sorghum, Wheat flour | 226 |
| Tubers & Roots | Yam, Cassava, Sweet potato, Cocoyam | 267 |
| Vegetables & Tomatoes | Tomatoes, Onions, Pepper, Spinach | 254 |
| Proteins | Beans, Fish, Chicken, Beef, Eggs | 231 |
| Oils & Fats | Palm oil, Groundnut oil, Soya oil | 248 |
| Cash Crops | Groundnut, Sesame, Soybean, Cashew | 176 |
Data Availability by Subscription Tier
- Latest prices
- 7-day history
- All markets
- + NFPI access
- Basket tool
- Price alerts
- + Price forecast
- Market snapshot
- Full history
- + Cross-state arbitrage
- CSV/Excel export
- Full analytics
- + Multi-user access
- API access
- Confidence scores
- + Custom SLA
- White-label API
- Raw data feed
Historical Archive
Price history is available through the API: monthly NBS-based series via the price history endpoint (each point labelled as NBS-published or estimated), and daily records via /api/v1/historical, each with its provenance. Historical records use the same item and market IDs as current prices.
Known Limitations
Prices are indicative, not transactional. Trader-reported prices reflect the conditions at the time and location of submission. Modelled estimates are not observations of any market. Actual transaction prices may vary based on quantity, buyer relationship, and negotiation. Our data should not be used as the sole basis for procurement or trading decisions.
Every price is labelled on screen, in WhatsApp replies and in API responses (the provenance field) as trader-reported, official source, modelled estimate or unverified source. Do not treat a modelled estimate as a market quote.
Data Queries & Enterprise Access
For data licensing, API access, custom SLAs, or questions about our methodology, contact our data team:
- Data inquiries: data@naijamarketintel.ng
- Enterprise sales: enterprise@naijamarketintel.ng
- General support: support@naijamarketintel.ng
- WhatsApp: Chat with us on WhatsApp