Main
DashboardWhat's NewRoadmapAPI DocsData SourcesAbout
Economy
GDP GrowthInflationInterest Rate
Currency
Exchange RateMulti-CurrencyNFEM RatesCurrency Converter
CBN Data
FX ReservesCurrency CirculationAssets & LiabilitiesFinancial Statement
Analytics
OverviewCompare IndicatorsReform ImpactBriefing StudioPipeline Playground

About This System

A Nigerian Public Economic Data Aggregation and Analytics Platform with Open API Access

Mission

"This platform aggregates 12,100 records across 122 indicators from the CBN, NBS and World Bank into a single interactive dashboard, with a separate free Open API for programmatic access — making Nigeria's public economic data accessible to researchers, developers, students and the general public."

System Overview

This platform aggregates 122 indicators across eight data groups from three official public sources — the Central Bank of Nigeria (CBN), the National Bureau of Statistics (NBS), and the World Bank. The primary case study period is 2020 to 2026; select groups (the CBN Five-Year Financial Statement, Currency in Circulation, and Real GDP by Sector) extend further back, to 1960. The dashboard presents the data through interactive Chart.js charts, sortable data tables, and a live analytics page, running directly against a public Supabase PostgreSQL database — no custom backend mediates the dashboard's own data access. A separate, independently-deployed Python FastAPI Open API at npedata-api.onrender.com/api/v1 provides free, documented, third-party programmatic access to the same dataset.

This project was developed as a Final Year Project at Caleb University, Imota, Lagos, in the Department of Computer Science. Its contribution is a free, open-source, and academically documented implementation built on a teachable technology stack. The database contains 12,100 records across 122 indicators, covering GDP sectoral breakdown (47 sectors, 1981–2024), multi-currency CBN rates (11 currencies), FX reserves, the CBN balance sheet, NFEM daily rates, and the core macroeconomic indicators.

Data Sources

For the full per-agency breakdown — descriptions, update frequency and data quality notes — see the dedicated Data Sources page.

InstitutionIndicatorFrequencyCoverage
Central Bank of Nigeria (CBN)Exchange Rate (NGN/USD)Daily → monthly avg2020–2026
Central Bank of Nigeria (CBN)Monetary Policy Rate (MPR)Per MPC meeting2020–2026
Central Bank of Nigeria (CBN)FX Reserves (gross, liquid, blocked)Monthly2020–2026
Central Bank of Nigeria (CBN)11-currency buying/central/selling ratesMonthly2020–2026 (AED: Jan–Apr 2026 only)
Central Bank of Nigeria (CBN)NFEM daily ratesDailyDec 2024–Apr 2026
Central Bank of Nigeria (CBN)CBN Balance Sheet (6 items)Monthly2005–2023
Central Bank of Nigeria (CBN)Annual Financial StatementAnnual1960–2012
Central Bank of Nigeria (CBN)Currency in CirculationMonthly2002–2024
National Bureau of Statistics (NBS)Headline Inflation RateMonthly2003–2026
National Bureau of Statistics (NBS)GDP Growth Rate (%)Quarterly2020–2026
National Bureau of Statistics (NBS)Real GDP — 47 SectorsQuarterly/Annual1981–2024
World Bank Open DataNominal GDP (USD Billions)Annual2020–2024
Technology Stack
LayerTechnologyPurpose
Backend LanguagePython 3.11Server logic and data processing
Open API FrameworkFastAPIStandalone REST API with automatic Swagger documentation — independent of the dashboard's own direct Supabase access
DatabaseSupabase (PostgreSQL)Stores all aggregated economic data
Data ProcessingPython PandasETL — clean and transform Excel/CSV files
Frontend StructureHTML5Web page structure
Frontend StylingCSS3 (custom design system)Lagos Noir × Data Observatory aesthetic
Frontend LogicVanilla JavaScript (ES6+)Supabase direct fetch, charts, analytics
Data VisualisationChart.js v4Interactive line, bar and small-multiple charts (single-axis; no misleading dual axes)
TypographyPlayfair Display · IBM Plex Mono · SoraDisplay / data / body fonts via Google Fonts
HostingRender.com + GitHub Pages + Cloudflare PagesOpen API + two independently-deployed static frontend mirrors for redundancy
Analytics — Methodology & Limitations

Every figure on the analytics pages is computed transparently in the browser, directly from the aggregated data. The methods are deliberately classical and explainable — no black-box models — so any result can be reproduced and checked. The platform is designed to be correct and honest over impressive: where a result is unreliable, it says so.

Methods used
TechniqueWhat it does
Descriptive statisticsLatest value, period & year-on-year change, min/max with dates, mean, standard deviation (volatility) and coefficient of variation.
Trend — OLS regressionOrdinary Least Squares straight-line fit; reports the slope, R² (goodness of fit) and the correlation of the series with time.
Correlation — Pearson rComputed on the two series' date-aligned observations, reported with R² (share of variance) and a two-tailed significance p-value from the Student-t distribution.
Standardisation — z-scoresSeries are expressed as standard deviations from their own mean so two different units share one honest axis, instead of a misleading dual axis.
Trend-robustness checkThe detrended (month-to-month change) correlation is compared with the level correlation to flag results driven mainly by a shared trend.
Forecast — OLS extrapolationThe trend line extended a few periods, shown illustratively only — it is not a prediction.
Reliability guardsAutomatic warnings for short overlaps (fewer than 8 shared observations) and for comparisons between series of different reporting frequency.
What it does not do
  • Not real-time. Figures are a manually-ingested snapshot; data is collected by hand from published CBN/NBS/World Bank reports, not through an automated live pipeline.
  • No seasonal adjustment. Monthly and quarterly series are shown exactly as reported, not deseasonalised.
  • The forecast is a straight line. It is a simple OLS extrapolation with no confidence interval — there is no ARIMA, exponential-smoothing or other time-series model.
  • Correlation is not causation. The platform measures association only; it does not test causality (no Granger causality, lead/lag or cross-correlation analysis).
  • Short or mixed-frequency comparisons are weaker. They are flagged, but a correlation over a handful of points, or between a daily and an annual series, should be treated with caution.
  • Coverage is bounded by the sources. Some series end earlier than others (e.g. the annual financial statement stops in 2012), so historical comparisons are limited to what each source publishes.
Quality Assurance & Testing

The platform was validated through automated tests, independent statistical checks, and a systematic data-truthfulness audit — not by inspection alone.

  • Automated unit tests. A 16-test pytest suite covers the Open API's endpoints and asserts the HATEOAS _links blocks; all pass.
  • Statistical validation. The correlation significance p-value and the scale-aware value formatter were unit-tested against known reference cases, and the analytics engine was exercised against awkward edge cases (daily, negative-valued, sparse, count and short-coverage series) to confirm correct output with no crashes.
  • Data-truthfulness audit. Every chart's figures, ranges and units were cross-checked against the stored data. This found and fixed real defects — a data-censoring routine, unit mislabels, a mistitled "inverse" relationship (actually a weak positive one), and a sector chart that compared different years.
  • Functional & visual verification. Every page was loaded against live data and screenshotted to confirm charts, filters, comparisons, sorting and downloads work across screen widths.
  • Accessibility. Colour contrast verified against WCAG 2.1 AA (≥ 4.5:1) using Lighthouse audits.
  • API testing. Endpoints exercised through the browser, the Swagger UI at /docs, and curl.
Disclaimer

This system is for informational and educational purposes only. Data is sourced from official institutions but cannot guarantee freedom from errors or omissions. This system does not constitute financial advice. For official economic data, refer directly to the CBN, NBS, and World Bank websites. A June 2026 data audit found 1,435 duplicate records across 1,232 indicator/date pairs introduced by repeated ETL runs (reducing the total from 13,535 to 12,100); all were reconciled against original CBN/NBS source files and resolved.

Author

Taoheed Abdulmanan Olaosebikan — Final Year Project, Department of Computer Science, Caleb University, Imota, Lagos · 2026.
github.com/ANTD-CR7/nigerian-dashboard