nameplate.
English
Log inContact us

Forecast

Where energy will go unused, before it does.

The model reads the ONS curtailment history and projects the next 72 hours, half-hour by half-hour. No number lands here without its own error beside it — the yardstick and the method live in the methodology, and the hit rate is measured in public on the accuracy page.

At this page's build, the first day's typical error was 2,537 MW — measured over the last four weeks, the same way operations forecast.

The three days, as a curve

The model's forecast (the line) and the band where 80% of realized values tend to fall (the shaded area) — day 1 rests only on real data, days 2 and 3 are recursive. Hover the line to see each half-hour's value.

05,00010,00015,00020,000 00:00 — 762 MW (P10 0–P90 3,082) 00:30 — 762 MW (P10 0–P90 2,963) 01:00 — 762 MW (P10 0–P90 2,957) 01:30 — 796 MW (P10 0–P90 2,915) 02:00 — 741 MW (P10 0–P90 2,932) 02:30 — 751 MW (P10 0–P90 2,924) 03:00 — 751 MW (P10 0–P90 2,925) 03:30 — 718 MW (P10 0–P90 2,969) 04:00 — 718 MW (P10 0–P90 2,956) 04:30 — 716 MW (P10 0–P90 3,003) 05:00 — 722 MW (P10 0–P90 3,053) 05:30 — 807 MW (P10 0–P90 3,054) 06:00 — 1,053 MW (P10 0–P90 3,832) 06:30 — 4,462 MW (P10 0–P90 6,722) 07:00 — 6,048 MW (P10 0–P90 8,024) 07:30 — 7,623 MW (P10 0–P90 8,150) 08:00 — 7,911 MW (P10 0–P90 8,880) 08:30 — 8,037 MW (P10 0–P90 9,369) 09:00 — 8,479 MW (P10 0–P90 9,321) 09:30 — 8,794 MW (P10 0–P90 9,409) 10:00 — 8,872 MW (P10 0–P90 9,338) 10:30 — 9,135 MW (P10 0–P90 9,454) 11:00 — 9,287 MW (P10 0–P90 9,596) 11:30 — 9,270 MW (P10 0–P90 9,589) 12:00 — 9,315 MW (P10 0–P90 9,492) 12:30 — 9,290 MW (P10 0–P90 9,476) 13:00 — 9,543 MW (P10 0–P90 9,492) 13:30 — 9,669 MW (P10 0–P90 9,262) 14:00 — 9,333 MW (P10 0–P90 9,243) 14:30 — 8,227 MW (P10 0–P90 9,182) 15:00 — 7,830 MW (P10 0–P90 9,055) 15:30 — 6,260 MW (P10 0–P90 8,221) 16:00 — 5,206 MW (P10 0–P90 8,051) 16:30 — 2,360 MW (P10 0–P90 5,391) 17:00 — 1,943 MW (P10 0–P90 4,737) 17:30 — 1,784 MW (P10 0–P90 4,527) 18:00 — 1,937 MW (P10 0–P90 4,644) 18:30 — 2,285 MW (P10 0–P90 4,572) 19:00 — 2,356 MW (P10 0–P90 4,722) 19:30 — 2,586 MW (P10 0–P90 4,801) 20:00 — 2,849 MW (P10 0–P90 5,056) 20:30 — 2,849 MW (P10 0–P90 5,105) 21:00 — 2,847 MW (P10 0–P90 5,116) 21:30 — 2,847 MW (P10 0–P90 5,116) 22:00 — 2,847 MW (P10 0–P90 5,116) 22:30 — 2,847 MW (P10 0–P90 5,432) 23:00 — 2,880 MW (P10 0–P90 5,106) 23:30 — 2,695 MW (P10 0–P90 5,088) 00:00 — 2,595 MW (P10 0–P90 6,536) 00:30 — 2,595 MW (P10 0–P90 6,442) 01:00 — 2,595 MW (P10 0–P90 6,450) 01:30 — 2,764 MW (P10 0–P90 6,495) 02:00 — 2,735 MW (P10 0–P90 6,432) 02:30 — 2,704 MW (P10 0–P90 6,467) 03:00 — 2,704 MW (P10 0–P90 6,368) 03:30 — 2,671 MW (P10 0–P90 6,335) 04:00 — 2,671 MW (P10 0–P90 6,365) 04:30 — 2,669 MW (P10 0–P90 6,328) 05:00 — 2,675 MW (P10 0–P90 6,530) 05:30 — 2,835 MW (P10 0–P90 6,623) 06:00 — 2,675 MW (P10 0–P90 5,930) 06:30 — 4,831 MW (P10 0–P90 10,937) 07:00 — 6,616 MW (P10 0–P90 12,160) 07:30 — 9,537 MW (P10 849–P90 13,570) 08:00 — 9,932 MW (P10 742–P90 14,272) 08:30 — 11,153 MW (P10 1,023–P90 14,601) 09:00 — 11,722 MW (P10 1,299–P90 14,907) 09:30 — 12,116 MW (P10 1,650–P90 15,240) 10:00 — 12,309 MW (P10 1,433–P90 15,303) 10:30 — 12,279 MW (P10 1,832–P90 15,805) 11:00 — 12,137 MW (P10 1,883–P90 15,749) 11:30 — 12,304 MW (P10 1,921–P90 15,481) 12:00 — 12,339 MW (P10 1,900–P90 15,510) 12:30 — 12,868 MW (P10 1,947–P90 15,511) 13:00 — 12,408 MW (P10 2,109–P90 15,651) 13:30 — 11,916 MW (P10 3,109–P90 15,537) 14:00 — 10,883 MW (P10 3,096–P90 13,681) 14:30 — 9,895 MW (P10 2,379–P90 12,673) 15:00 — 9,051 MW (P10 1,886–P90 12,001) 15:30 — 6,405 MW (P10 664–P90 10,754) 16:00 — 5,245 MW (P10 152–P90 9,858) 16:30 — 3,350 MW (P10 0–P90 6,913) 17:00 — 2,678 MW (P10 0–P90 6,357) 17:30 — 2,517 MW (P10 0–P90 5,668) 18:00 — 2,653 MW (P10 0–P90 5,946) 18:30 — 2,816 MW (P10 0–P90 6,346) 19:00 — 2,926 MW (P10 0–P90 6,531) 19:30 — 2,983 MW (P10 0–P90 6,774) 20:00 — 3,072 MW (P10 0–P90 6,898) 20:30 — 3,072 MW (P10 0–P90 7,104) 21:00 — 3,070 MW (P10 0–P90 7,108) 21:30 — 3,070 MW (P10 0–P90 7,112) 22:00 — 3,070 MW (P10 0–P90 7,112) 22:30 — 3,070 MW (P10 0–P90 7,134) 23:00 — 3,122 MW (P10 0–P90 7,167) 23:30 — 3,023 MW (P10 0–P90 6,795) 00:00 — 3,449 MW (P10 0–P90 6,274) 00:30 — 3,475 MW (P10 0–P90 6,258) 01:00 — 3,460 MW (P10 0–P90 6,230) 01:30 — 3,462 MW (P10 0–P90 6,188) 02:00 — 3,285 MW (P10 0–P90 6,280) 02:30 — 3,396 MW (P10 0–P90 6,226) 03:00 — 3,321 MW (P10 0–P90 6,120) 03:30 — 2,646 MW (P10 0–P90 6,109) 04:00 — 2,646 MW (P10 0–P90 6,080) 04:30 — 2,645 MW (P10 0–P90 6,098) 05:00 — 2,650 MW (P10 0–P90 6,126) 05:30 — 2,702 MW (P10 0–P90 6,243) 06:00 — 2,981 MW (P10 0–P90 6,576) 06:30 — 5,233 MW (P10 119–P90 9,049) 07:00 — 9,457 MW (P10 1,035–P90 14,210) 07:30 — 12,641 MW (P10 3,001–P90 17,905) 08:00 — 14,188 MW (P10 3,001–P90 18,499) 08:30 — 15,011 MW (P10 4,148–P90 19,844) 09:00 — 15,623 MW (P10 4,254–P90 20,719) 09:30 — 16,918 MW (P10 4,605–P90 21,440) 10:00 — 15,951 MW (P10 4,822–P90 21,538) 10:30 — 15,660 MW (P10 4,832–P90 21,244) 11:00 — 13,481 MW (P10 4,681–P90 18,467) 11:30 — 13,271 MW (P10 4,812–P90 18,172) 12:00 — 13,499 MW (P10 4,835–P90 18,226) 12:30 — 13,548 MW (P10 4,898–P90 18,642) 13:00 — 13,159 MW (P10 4,862–P90 18,158) 13:30 — 12,074 MW (P10 4,316–P90 17,373) 14:00 — 11,725 MW (P10 3,724–P90 16,242) 14:30 — 10,850 MW (P10 3,001–P90 14,911) 15:00 — 10,014 MW (P10 2,694–P90 14,017) 15:30 — 7,897 MW (P10 1,242–P90 10,431) 16:00 — 6,759 MW (P10 809–P90 9,383) 16:30 — 3,617 MW (P10 0–P90 7,125) 17:00 — 2,909 MW (P10 0–P90 6,138) 17:30 — 2,704 MW (P10 0–P90 5,895) 18:00 — 2,749 MW (P10 0–P90 5,945) 18:30 — 2,993 MW (P10 0–P90 6,032) 19:00 — 3,815 MW (P10 0–P90 6,244) 19:30 — 3,123 MW (P10 0–P90 6,311) 20:00 — 3,132 MW (P10 0–P90 6,389) 20:30 — 3,132 MW (P10 0–P90 6,418) 21:00 — 3,130 MW (P10 0–P90 6,416) 21:30 — 3,130 MW (P10 0–P90 6,415) 22:00 — 3,130 MW (P10 0–P90 6,415) 22:30 — 3,130 MW (P10 0–P90 6,430) 23:00 — 3,123 MW (P10 0–P90 6,479) 23:30 — 3,129 MW (P10 0–P90 6,389) Sun, Sep 27Mon, Sep 28Tue, Sep 29
Model forecastP10–P90 band (80%)

The next three days

  1. Sunday, September 27

    Mean forecast curtailment
    4,387 MW
    Forecast peak
    9,669 MW at 13:30
    Energy over the day
    105,281 MWh
    Horizon's typical error
    ±2,537 MW
    Uncertainty band (P10–P90)
    0–9,596 MW
  2. Monday, September 28

    Mean forecast curtailment
    5,944 MW
    Forecast peak
    12,868 MW at 12:30
    Energy over the day
    142,663 MWh
    Horizon's typical error
    ±3,001 MW
    Uncertainty band (P10–P90)
    0–15,805 MW
  3. Tuesday, September 29

    Mean forecast curtailment
    6,959 MW
    Forecast peak
    16,918 MW at 09:30
    Energy over the day
    167,012 MWh
    Horizon's typical error
    ±3,111 MW
    Uncertainty band (P10–P90)
    0–21,538 MW

The first day is forecast with real data only. The second and third are recursive — the model rests its lags on what it said the day before — which is why the typical error grows with the horizon. Uncertainty is not a footnote: it travels inside the file itself. The P10–P90 band is the range where 80% of the realized value tends to fall — two extra models, tuned to forecast the quantile instead of the mean, with a correction that guarantees that coverage (the math is on the accuracy page).

Field by field

The forecast is public at the same address this page reads: nameplate.com.br/previsao.json. The field contract is locked by tests on both sides of the bridge:

snapshot_at
When this forecast was generated.
dado_ate
The newest instant of real data used — everything after it is model.
modelo
The variant in production. A new variant gets a new name — and a methodology note.
fator_nivel
The scale recalibration applied, measured on the last four weeks' error.
mae_30d_mw
Each horizon's typical error (1, 2 and 3 days), measured the way operations forecast.
mae_30d_regua_mw
The same error, for the yardstick (repeating the last observed day), on the same instants — the model's edge, checkable.
vies_30d_mw
Each horizon's signed error: positive is overestimating, negative is underestimating.
cobertura_80_pct
The fraction of realized values that fell inside the published P10–P90 band, measured on the same trials. Nominal is 80%.
margem_p80_mw
The correction that widens the two quantile models' raw band until coverage hits 80% — the cost of promising it right.
previsao
The 144 half-hours of the next three days: previsto_mw and each one's p10_mw–p90_mw band.

These numbers are baked when the site is generated; the always-current value lives in previsao.json itself. The curtailment math and the model's premises are in the methodology.

The project

Real-time monitoring of energy curtailment.

Professor

Students