Analytics / Grid

Puerto Rico Power Outages

A live view of service interruptions, affected clients, regional concentration, and grid availability.

Monitor
Live public feed
Refresh
Automatic
Source
LUMA Energy
Clients without power Connecting to live feed Current island-wide reading
Connecting…

Grid Supply Adequacy live · N−1 criterion · a described position, not a forecast

Connecting to live feed…

 

Load now
Available capacity
Headroom
capacity − load
Largest online unit
 
N−1 capacity cushion
operating reserve − largest unit
N−1 spinning cushion
spinning reserve − largest unit
Operator next-hour load
 
Clients out now
LUMA feed, timed separately
 
Historical co-occurrence: reserves and large outages  

 

Share of days that saw a 50,000+ client unplanned outage whiskers = 95% CI
Lowest hourly-average reserve shareDaysDays w/ 50k+Share (95% CI)
 
Outage early-warning research open question · nothing here is issued as a forecast
 

Grid Status History 90 days — based on unplanned outages

Recent Notable Outages worst days in the last 90 — by weighted downtime

Date Peak unplanned Avg unplanned Major Partial Degraded Weighted downtime

Clients Without Power

Service Availability

Share of clients with power at each snapshot (100% − unplanned outage %). Unweighted — the 90-day figures in Grid Status History are time-weighted by severity.

Region Breakdown

Region Clients Without Power % Distribution Unplanned Planned % Unplanned % Total

Methodology

Unplanned outages — Calculated as total clients without service minus clients affected by planned outages. Only unplanned outages factor into status classification.

Status levels — Based on the percentage of clients affected by unplanned outages:

StatusThreshold
Operational< 1%
Degraded Performance1% – 3%
Partial Outage3% – 10%
Major Outage≥ 10%

90-day grid history — Each day is colored by weighted downtime: minutes spent at each severity level are weighted (Major × 1.0, Partial × 0.5, Degraded × 0.1) and mapped to a color gradient from green to red. Days with no recorded snapshots appear gray.

Uptime % (Grid Status History) — Each row's 90-day figure is the weighted average across days with data: 100% minus the ratio of weighted downtime to total monitored time. Days with no recorded snapshots are excluded from the average, so each row also shows how many of the 90 days had data (e.g. 84/90 days) — a high percentage built on few days is not the same as one built on ninety.

Service Availability — A separate, simpler chart: at each snapshot it plots the share of clients with power — 100% minus the unplanned-outage share — unweighted. It answers "how many clients are served right now," whereas the 90-day uptime above answers "how did the grid do over the day, weighted by severity."

Recent notable outages — The worst days of the last 90, ranked by weighted downtime (the same Major × 1.0 / Partial × 0.5 / Degraded × 0.1 minutes used to color the grid history). Peak and Avg unplanned are the highest and mean share of clients out over that day; the Major / Partial / Degraded columns are minutes spent at each severity. Quiet days (under a minute of weighted downtime) are omitted.

% Distribution — Shows each region's share of the total clients without power, indicating where outages are concentrated.

Time zone & freshness — All days and timestamps use Atlantic Standard Time (AST, UTC−4), Puerto Rico's local time. The page refreshes automatically every few minutes; if the newest snapshot is more than 30 minutes old a stale-data notice appears, since the upstream monitor may be paused.

Grid supply adequacy and the reserve–outage analysis

Two feeds, never merged — Outage figures come from LUMA's public feed; generation, capacity and reserve figures come from the Genera generation feed. Both are polled about every 10 minutes on independent schedules, so the two are timestamped separately everywhere they appear together and the page says how far apart they are. No displayed number is computed by multiplying one feed against the other at a single instant.

Supply adequacy (the live state) — The N−1 criterion: can the system absorb the loss of its single largest online unit? Four states, first match wins, evaluated purely from the operator's own published values:

StateCondition
Criticalload has reached available capacity (headroom ≤ 0)
Tightoperating reserve is below the largest online unit
Deterioratingspinning reserve is below it, now or after the expected next-hour ramp
Adequatenone of the above

Severity nests automatically because spinning reserve is a subset of operating reserve. The distinction matters on this grid: the reported operating reserve tracks available capacity minus generation almost exactly and sits near a third of load, which no real system carries as responsive reserve — it answers could we cover N−1 at all, while spinning reserve answers could we cover it this instant. The state is deterministic and instantaneous: a pure function of the current snapshot, with no smoothing and no memory of earlier polls. It is deliberately not tuned against outage outcomes — fitting these thresholds to observed outages would turn a described reserve position into an unvalidated predictor wearing the word "deterministic".

Reserve–outage co-occurrence (the historical table) — Both feeds are averaged into AST clock hours before anything is compared, so an hour that happened to be polled more often does not weigh more. An hour enters the analysis only when both feeds reported in it. Each day is then summarized twice: by its lowest hourly-average operating-reserve share of available capacity, which places it in one of three bands, and by its highest hourly-average unplanned clients without service, which marks it as a 50,000+ day or not. A day is classified only if at least 20 of its hours have both feeds — a day cannot exhibit its own minimum in a handful of hours, and short days bias toward the safe end of the scale. Excluded days are counted on the panel rather than dropped silently.

Why the intervals are wide — The independent unit is the day, not the 10-minute sample: samples taken during one outage are the same event recorded repeatedly, and treating them as independent observations would shrink the intervals by roughly the square root of the number of samples per event. Shares therefore carry Wilson 95% intervals on day-level counts. With only a few dozen days observed, a band showing 0% means "not seen yet in ten days", not "impossible" — its interval reaches well above zero and should be read alongside the point estimate.

Association, not causation, and not a forecast — A day's reserve minimum and its worst outage are not ordered in time; a day can hit its worst outage hours before its tightest reserve. Both can also follow a common cause — a storm raises outages and removes generation at once. The table therefore supports "these occur together" and nothing stronger. Separately, a lagged check does impose an order, pairing the reserve share in one hour against a 50,000+ outage beginning in the next and excluding hours already in one; that check finds onsets far more frequent below 10% reserve than at or above it. It is reported with both its numerators and its denominators because the rate contrast, not either count alone, is the finding — and with its total event count, because that count is what keeps it short of a publishable probability.

Threshold — "50,000+ clients" is a deliberately lower bar than this page's Major Outage status (≥10% of clients, ≈147k). It counts unplanned clients only: planned work is scheduled crew activity, not a grid failure.

Data source: LUMA Energy

This is an independent public-interest monitor and is not affiliated with, endorsed by, or operated by LUMA Energy. Figures are derived from LUMA's public outage data and may differ from official reports.