Methodology & provenance
How PowerAtlas calculates electricity prices
Understand exactly what a PowerAtlas price represents before comparing places or periods.
Source and responsibility
CENACE is the primary publisher and market operator. PowerAtlas is an independent analytical resource: it preserves, aggregates and visualises those public observations. Cite CENACE as the source and PowerAtlas for the transformation. CENACE can republish or correct prices.
One unit: MXN/MWh
Values are nominal Mexican pesos per megawatt-hour. Divide by 1,000 to express the energy price in MXN/kWh. These are wholesale prices, not a household bill or a CFE retail tariff; no inflation adjustment or currency conversion is applied.
Geographic history
The map and daily/monthly geographic history use the arithmetic mean of observed node-hours, aggregated through municipality summaries. System and control-region assignment uses the established municipality mapping. Load zones can also show CENACE’s published demand-weighted PND, averaged across days. PND and PML are different series.
Typical-day profiles
For each operating-hour label, add stored price sums and divide by the number of observed node-hours. We do not average node averages or weight these profiles by electricity demand. Only whole calendar months inside the selected dates are used. All geographic profiles use current catalogue nodes with a municipality mapping; unmapped IDs and identifiers absent from the current catalogue are excluded; absence does not prove retirement. National, system, state and control-region profiles therefore share the same eligible population. System and control-region areas follow the same municipality assignments as geographic history and the map. A few nodes have a different native catalogue system or region; geographical profiles use the area assignment. Price means reconcile within 0.01 MXN/MWh due to existing municipality rounding.
Operating hours and missing data
A CENACE operating slot is a date plus an hour label, not a UTC timestamp. Hour 25 is retained where present. Each hour uses its actual observation count, so uncommon hours can have small samples. National profiles combine the same hour label across systems and are not simultaneous national prices. Missing observations are never filled with zero. A closed calendar month and the latest reporting date do not certify complete coverage.
Exact hourly analysis and comparison
The node explorer offers exact recent hourly observations over at most 31 dates per request. The page shows actual availability for each node and market. MDA–MTR comparisons use matching operating date/hour slots only. Long-term hour-of-day profiles are averages from monthly summaries, not reconstructed exact historical hours.
Updates and citation
The ingestion pipeline checks for published reports every six hours. Source publication and summary refresh can lag; use the dates shown with the dataset, not today’s date, as evidence of its coverage. A useful citation includes the node or geography, MDA or MTR, date range, aggregation, unit, access date and a stable page URL. Report suspected data issues with those same details.