
PJM Generation Mix by Fuel
What is physically generating in PJM, in megawatts by fuel, one row per interval.
Native record
one row per interval, wide by fuel
Evidence
Observed market data
Time basis
Point-in-time records
Overview
93,886 intervals, 2016-01 to now. Columns: coal_mw, gas_mw, oil_mw, nuclear_mw, hydro_mw, wind_mw, solar_mw, storage_mw, multiple_fuels_mw, other_renewables_mw. Wide rather than long: a whole interval's mix is one row, so shares are computed across columns in that row and the timestamp does not repeat once per fuel. "Which fuel is largest" is greatest() across the columns, or simply reading the row.
Query contract
Analysis rules
Interpretation
Schema12
Column
Type
event_timeDateTime64(6, 'UTC')coal_mwNullable(Float64)gas_mwNullable(Float64)oil_mwNullable(Float64)nuclear_mwNullable(Float64)hydro_mwNullable(Float64)wind_mwNullable(Float64)solar_mwNullable(Float64)storage_mwNullable(Float64)multiple_fuels_mwNullable(Float64)other_renewables_mwNullable(Float64)sourceLowCardinality(String)Sample data
| event_time | coal_mw | gas_mw | oil_mw | nuclear_mw | hydro_mw | wind_mw | solar_mw | storage_mw | multiple_fuels_mw | other_renewables_mw | source |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-19 17:00:00.000000 | 14994 | 43596 | 785 | 30086 | 916 | 935 | 9639 | 0 | 2156 | 460 | live |
| 2026-09-19 16:00:00.000000 | 14493 | 41130 | 216 | 29970 | 954 | 1106 | 10128 | 1 | 2061 | 467 | live |
| 2026-09-19 15:00:00.000000 | 14399 | 40323 | 214 | 29957 | 674 | 1548 | 9188 | 0 | 2149 | 465 | live |
| 2026-09-19 14:00:00.000000 | 14098 | 38292 | 215 | 29954 | 633 | 2125 | 8311 | 0 | 2206 | 470 | live |
| 2026-09-19 13:00:00.000000 | 14972 | 38501 | 215 | 29955 | 659 | 1799 | 6195 | 0 | 1716 | 432 | live |
| 2026-09-19 12:00:00.000000 | 15811 | 37384 | 225 | 29960 | 630 | 2566 | 3089 | 0 | 1696 | 418 | live |
| 2026-09-19 11:00:00.000000 | 15860 | 38193 | 228 | 29876 | 641 | 2594 | 297 | 0 | 1820 | 421 | live |
| 2026-09-19 10:00:00.000000 | 14750 | 37784 | 231 | 29770 | 655 | 3160 | 19 | 0 | 1717 | 425 | live |
| 2026-09-19 09:00:00.000000 | 14481 | 37768 | 234 | 29700 | 551 | 3486 | 19 | 0 | 1599 | 427 | live |
| 2026-09-19 08:00:00.000000 | 14408 | 37120 | 233 | 29668 | 545 | 3791 | 19 | 0 | 1645 | 428 | live |
| 2026-09-19 07:00:00.000000 | 15131 | 37766 | 229 | 29606 | 534 | 3623 | 19 | 0 | 1747 | 422 | live |
| 2026-09-19 06:00:00.000000 | 15507 | 39569 | 229 | 29698 | 543 | 3566 | 19 | 0 | 1817 | 439 | live |
| 2026-09-19 05:00:00.000000 | 15371 | 40743 | 226 | 29953 | 542 | 3520 | 61 | 0 | 1782 | 443 | live |
| 2026-09-19 04:00:00.000000 | 15621 | 42715 | 223 | 30189 | 538 | 3601 | 61 | 0 | 2204 | 444 | live |
| 2026-09-19 03:00:00.000000 | 16992 | 46264 | 360 | 30423 | 635 | 3229 | 61 | 0 | 2545 | 442 | live |
| 2026-09-19 02:00:00.000000 | 18218 | 50612 | 1430 | 30547 | 629 | 3090 | 61 | 1 | 2687 | 443 | live |
| 2026-09-19 01:00:00.000000 | 19095 | 54120 | 1872 | 30603 | 974 | 2532 | 61 | 1 | 2839 | 443 | live |
| 2026-09-19 00:00:00.000000 | 19184 | 57984 | 2030 | 30581 | 3035 | 1791 | 61 | 26 | 2669 | 438 | live |
| 2026-09-18 23:00:00.000000 | 18935 | 58440 | 2075 | 30565 | 4570 | 1812 | 285 | 164 | 2675 | 431 | live |
| 2026-09-18 22:00:00.000000 | 18898 | 59809 | 2078 | 30544 | 4195 | 1932 | 2335 | 165 | 2715 | 434 | live |
| 2026-09-18 21:00:00.000000 | 18774 | 59382 | 2026 | 30535 | 4491 | 2400 | 5430 | 165 | 2762 | 439 | live |
| 2026-09-18 20:00:00.000000 | 18664 | 57462 | 2005 | 30535 | 3898 | 2680 | 7625 | 133 | 2831 | 452 | live |
| 2026-09-18 19:00:00.000000 | 18312 | 56782 | 1878 | 30535 | 3526 | 1997 | 9233 | 0 | 2902 | 455 | live |
| 2026-09-18 18:00:00.000000 | 18007 | 56261 | 1893 | 30541 | 3277 | 1700 | 9225 | 0 | 2850 | 458 | live |
| 2026-09-18 17:00:00.000000 | 17972 | 56010 | 1985 | 30555 | 1159 | 1483 | 9537 | 0 | 2799 | 457 | live |
Coverage
100.0% complete0 gap days3,915 days with data
Show coverage history
Coverage: 100.0%Days with data: 3,915Gaps: 0
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
gaplessmore