The algorithm uses a very large amount of data. Think of weather data, proprietary data, grid data behavioural data in combination with historic consumption and production data from the customer.
We then process that data to improve the quality of it.
In a next step we look at which data is available and which features can be engineered that most accurately model the real world.
In a last step, we chose the best model; this is often a combination of multiple parametric models with machine learning models such as a multi-linear regression, boosting or deep learning.