Capacity Planning: Actual Load vs. Contracted Demand
A charge point operator (CPO) partner operating a multi-hub charging network with contracted electricity demand agreements.
Where things stood
CPOs typically pay for electrical capacity under a contracted demand agreement, but whether that capacity matches real-world usage is often invisible without dedicated monitoring.
Both failure modes are costly: paying for unused contracted capacity, or exceeding contracted demand and risking penalties or supply interruptions.
What we built
High-resolution (15-minute interval) power-meter readings (Timescale) across every connector, spanning dozens of hub locations, join connector/station metadata (PostgreSQL) and contracted demand reference data (BigQuery).
A Python aggregation pipeline explicitly zero-fills usage gaps so peak-usage analysis isn't skewed by missing data, then joins actual peak power draw per hub per interval against each hub's contracted electricity demand.
Output refreshes daily into a BigQuery dashboard table via Apache Airflow.
How it works
TopN Analytics built a pipeline that pulls high-resolution power-meter readings and compares actual peak power draw per hub against contracted capacity, giving CPOs a defensible, granular basis for renegotiating contracted demand agreements.
What we delivered and learned
The zero-filling design decision matters: an analysis built only from intervals with recorded usage would understate how often a hub is actually idle, distorting conclusions about whether contracted capacity is over- or under-sized.
What it's built on
Want the full picture?
We're happy to walk through the details, numbers, and trade-offs directly.