GridKern didn't start as a software company. It started as a post-mortem after an avoidable curtailment event.
In August 2021, Nikolai Petrov was the on-call system dispatcher for a Texas municipal utility during a heat wave. The utility's existing load forecasting tool — a vendor product running polynomial regression on 24-hour lagged data — predicted peak demand would cap at 312 MW. Actual peak hit 341 MW, a 9.3% underforecast.
The utility called two peaker units it shouldn't have needed. One failed to start. The other was running below minimum generation threshold. The balancing authority charged $218,000 in deviation penalties for that single 2-hour event.
The next morning, Nikolai pulled the raw 15-minute interval data and ran a quick gradient-boosted model in Python. Using weather data from the closest NWS station, it would have predicted 334 MW — still a gap, but inside reserve margins. The peaker calls wouldn't have been needed.
That model became the first version of GridKern's forecast engine. Not because we planned to build a company, but because the existing tools weren't using data that was already available.
Every forecast comes with confidence intervals and an explanation of which input variables drove it. We don't give operators a single number to act on without telling them the uncertainty around it.
We've watched too many grid software deployments fail because the tool required operators to change their workflow. GridKern publishes data into existing EMS interfaces. The operator's job doesn't change — it gets easier.
We track MAPE, MAE, and bias drift per feeder zone and publish monthly accuracy reports to every customer. If accuracy degrades, we tell you before you notice it in your balancing costs.
The utility operations community is skeptical of black-box models for good reason. When a forecast is wrong at 2 PM on a hot Friday afternoon, a dispatcher needs to understand why — not stare at a transformer attention map.
Gradient-boosted tree ensembles give us interpretable feature importance scores: "this forecast is driven by WBT at 14:45, lagged load from last Tuesday, and solar output dropping 23% from cloud cover." A dispatcher can check those inputs in the SCADA historian and validate or override the model's assumption.
We'll adopt neural approaches the moment they provide equivalent interpretability at equivalent accuracy. Until then, we explain every forecast in terms an operator can verify.
Nikolai and the technical team take calls with prospective customers directly. We're faster to evaluate if you talk to the people who built it.
Get in Touch