September 18, 2021

Machine Learning at Stekker.app

For the environment, and your electricity bill, it matters a great deal when your Electric Vehicle (EV) charges.

Without Stekker.app, your car will simply charge as soon as it’s plugged in and until it finishes. This is not optimal at all, because most people plug in during the evening peak and it finishes before the peak ends. This is bad for the grid, for electricity costs and for becoming less dependent on fossil fuel derived electricity. It would be much smarter to charge when a lot of solar or wind energy is available. In order to do this, we need to know quite a few things:

  • how fast the charger can charge,
  • the total battery capacity of the vehicle,
  • how much energy the vehicle can charge until the battery is at the desired level,
  • what charging current your car accepts,
  • when the car is needed again,
  • how much needs to  be charged before it’s used again and
  • what electricity prices will be in the near future.

Most of this information comes from our connections with automotive platforms and the software systems that manage Electric Vehicle Chargers. Other information is provided by the user (e.g. desired departure time) through our app:


One thing may still be missing, price information. The price is not always known far enough into the future.

At Stekker.app BV we have developed StekkerML. ML stands for Machine Learning, which is a type of Artificial Intelligence. We use it to predict time series data, such as the future prices on the electricity market, or perform a forecast of the load on the grid.

StekkerML, among other things, automatically predicts the day-ahead electricity prices for several countries. We publish this as the EPEX-price forecast. We’re proud that the average error is close to 1 cent per kWh, even though prices are highly variable.

Below is a simple depiction of the architecture:

To prevent a charging session from starting too soon because prices are not known yet, we can forecast these prices. In our App, the forecast is show as a dotted line:


The green bar shows when charging is planned to occur. The blue line is the desired departure time, we will always try to finish charging before that (if at all possible).

The result of the forecast, as seen in the image above, leads Stekker.app to suspend charging for a longer period so we can make use of even lower (expected) prices.

Prediction is easy, but perfect prediction is impossible. So, there will always be some error. When the “actuals” arrive, they replace our predictions and the planning of all electric vehicles that use our service is optimized once again. However, because of our low error, it usually means that we charge at the lowest prices possible.

We offer a separate, zoomable graph of the EPEX price forecast for the Netherlands here. It looks like this:

We continue to display older predictions that were made a day before they were known, so you can see the accuracy of the recent forecasts compared to the actuals. When the dotted blue line and the green line are close to each other, the prediction was a good one.

Do low prices also mean low emissions? Absolutely, and increasingly so. No need to take our word for it, this is a conclusion from the independent and well respected energy research institute, CE Delft. This is explained in the article “Why smart charging is cheaper and cleaner at the same time”.


Follow us

Subscribe to our newsletter

Receive the latest updates about new features and services, no more than once a month.

Follow @stekker

Let's talk about smart charging :)