+234 Design System

Data page

Price and market pages. The official figure and the reported figure come from different months, and the distance between them is the story rather than an inconvenience.

The thing this page must get right

NBS data lags roughly four months. That is structural, not a gap in our ingest. Live reporting does not lag. So the page has two true figures that disagree, and the only dishonest option is to show one without saying which.

Presented properly, that gap is the single most defensible thing on the site: the competition for "price of petrol in Nigeria" is thin pages with hand-typed guesses, and NBS's own output is unusable PDFs.

Both figures, both dated

Petrol, Lagos · NBS official, May 2026 ₦1,077
Petrol, Lagos · reported, this week ₦1,345 25% above official

The official series is published quarterly and runs about four months behind. The reported figure is drawn from this week's coverage across six outlets. Both are accurate for their period, and the gap is what a driver actually experiences.

HTML
<div style="display:grid;gap:var(--p234-space-6);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin-bottom:var(--p234-space-7)">
  <div class="p234-tile">
    <span class="p234-tile__label">Petrol, Lagos &middot; NBS official, May 2026</span>
    <span class="p234-tile__figure">&#8358;1,077</span>
  </div>
  <div class="p234-tile">
    <span class="p234-tile__label">Petrol, Lagos &middot; reported, this week</span>
    <span class="p234-tile__figure">&#8358;1,345</span>
    <span class="p234-delta" data-direction="up">25% above official</span>
  </div>
</div>
<div class="p234-prose">
  <p>The official series is published quarterly and runs about four months behind. The reported figure is drawn from this week's coverage across six outlets. Both are accurate for their period, and the gap is what a driver actually experiences.</p>
</div>

The order

kicker and headline
the figures         tiles, each one dated and attributed
what the gap means  prose, two or three sentences
the series          table or chart, by state or by month
method              where each number comes from, plainly
next step           the related price pages

By state

A series table

StateOfficial, MayReported, this week
Lagos1,077.001,345.00
Abuja1,092.001,310.00
Kano1,105.001,290.00
Rivers1,068.001,270.00
HTML
<table class="p234-table">
  <thead><tr><th>State</th><th>Official, May</th><th>Reported, this week</th></tr></thead>
  <tbody>
    <tr><td>Lagos</td><td>1,077.00</td><td><span class="p234-delta" data-direction="up">1,345.00</span></td></tr>
    <tr><td>Abuja</td><td>1,092.00</td><td><span class="p234-delta" data-direction="up">1,310.00</span></td></tr>
    <tr><td>Kano</td><td>1,105.00</td><td><span class="p234-delta" data-direction="up">1,290.00</span></td></tr>
    <tr><td>Rivers</td><td>1,068.00</td><td><span class="p234-delta" data-direction="up">1,270.00</span></td></tr>
  </tbody>
</table>

Rules

Five tokens used across the current price pages are declared nowhere, which is why those pages render with unstyled text today. Migrating this pattern fixes that as a side effect.