← All work

Energy Market Intelligence Dashboard

Four Statistics Canada energy indicators in one Power BI model, with a monthly executive summary written automatically for each province.

Power BI · API pipeline
Energy Market Intelligence Dashboard
Role
Pipeline, model and report
Stack
Python, Statistics Canada API, Power BI, DAX
Data
Electricity price index, natural gas distribution, generation by technology, CPI energy
Refresh
Automated, monthly
Context

Why it mattered

Electricity prices, natural gas demand, the generation mix and energy inflation move together, but Statistics Canada publishes them as separate tables with different units and release timing. Reading them side by side for one province meant opening four tables and doing the arithmetic by hand.

This dashboard pulls all four through the Statistics Canada API into one model, switches between Canada and the provinces in a click, splits large and small electricity consumers, and writes a short executive summary of what changed this month.

The question
For a chosen province and month, what changed in power prices, gas demand, low-emission supply and energy inflation, and what does it mean?
  • Are electricity prices rising for large or small consumers?
  • Is natural gas demand spiking, and why?
  • Is low-emission generation gaining share?
Approach

How I solved it

01 · Ingest

Four tables through one API.

A Python pipeline requests each table from the Statistics Canada REST endpoints, so a new release needs no downloads.

Electricity price indexNatural gas distributionGeneration by technologyCPI energy componentsAPI pipelineStatistics CanadaREST endpoints
02 · Align

Put four tables on one calendar.

Dates, units and geography are harmonised so an index, gigajoules and a percentage share can sit on the same monthly axis.

Calendarone monthlydateUnitsindex, GJ, %GeographyCanada,provincesModelshareddimensions
03 · Model

Shared dimensions, four measures.

Every indicator joins to the same date and geography tables, plus consumer class for prices and technology for generation.

dim_datedim_geographydim_consumer_classdim_technologyenergy facts4 monthly indicators
04 · Measure

One glance per province.

Each KPI shows the latest month, the previous month and the change, with a trend behind it. These are Alberta's values from the demo.

ALBERTA ENERGY MARKET INTELLIGENCEPRICE INDEX162.92014 = 100GAS DISTRIBUTION48.5K GJLOW-EMISSION10.9%share of generationENERGY CPI177.35
05 · Explain

Numbers in, sentences out.

Measures read the direction and size of each change and write four short notes: market insight, demand signal, supply outlook and economic impact.

GAS DISTRIBUTION+56.1% MoMENERGY CPI+0.9% MoMPRICE INDEXstable MoMRULESdirection and size,choose the verb,add the likely causeGENERATED TEXTNatural gasdistribution rosesharply 56.1% MoM. Theincrease likelyreflects strongerseasonal winterheating demand.MarketDemandSupplyEconomy
06 · Refresh

New release, new report.

The pull, clean and load steps run on a schedule, and the report refreshes when the data does.

SCHEDULED REFRESHmonthlypullAPIclean andalignloadmodelrefreshreport
Outcome

What it delivers

4Statistics Canada indicators in one model
Canada + provincesswitch geography and consumer class in one click
4 lensesmarket, demand, supply and economic impact, written each month
No downloadsAPI pull and refresh are automated
Demo

See it for yourself

A short screen recording of the finished work. It only plays when you press the button.

Energy Market Intelligence Dashboard preview