How to create predictive maintenance software for wind turbines using machine learning algorithms placeholder

How to create predictive maintenance software for wind turbines using machine learning algorithms

The Boldare Machine Learning team delivered a web application for predictive maintenance of five wind turbine components in less than 48 hours. Using a variety of algorithms and their knowledge of application development, they created a web app that not only forecasts failures but also allows the user to take action and plan maintenance logistics.

Hack The Wind 2018 Hackathon

Hack the Wind Hackathon 2018

Machine learning competition for software engineers

Client review

Thanks for your impressive participation!! Active on all fronts and at any time!! Congrats for work!

Emilien Simonot, Renewable Energy Technology Officer at KIC InnoEnergy


During this year’s Hack the Wind hackathon, organised by Wind Europe, EDP Energy and InnoEnergy, the Boldare Machine Learning team delivered a web application for predictive maintenance of wind turbines based on machine learning algorithms. Predictive maintenance (accurate forecasting of component failures before they occur based on historical data) is widely seen as a critical service for the future of the wind energy industry. It can help wind farm operators to cut maintenance costs, minimize downtime and optimize energy production.

Despite their lack of prior knowledge of the wind energy industry and wind turbines, the Boldare team quickly examined and understood the problem and data at hand and delivered working software in less than 48 hours by leveraging their expertise in machine learning, as well as their knowledge of creating user-centered web applications. The software they developed was able to detect the failure of wind turbine components up to 60 days in advance by employing an array of algorithms, including a recurrent neural network, random forest, gradient boosting and decision trees. After consultations with the target group (wind farm operators) the Boldare product designer and frontend developer prepared a web application prototype that not only reported forthcoming wind turbine failures but also allowed the user to take action and plan the maintenance logistics. The software was very well received by the wind operators present at the Global Wind Summit 2018 and thus Boldare decided to develop the web application further.


Predictive maintenance software


custom software development, machine learning algorithms, UX, UI, working prototype


48 hours


Pro bono

Our main goal

We set out to build a working prototype of predictive maintenance software for the industry we knew nothing about. We've achieved success in less than 48 hours.

Tomasz Bąk, Machine Learning Engineer at Boldare

Client: EDP Renewables, InnoEnergy, WindEurope

EDP Energy is one of Europe’s leading energy operators and one of the major operators of wind farms in Spain. Its sister company EDP Renewables specializes in the generation and distribution of electricity from renewable energy sources. The company is an operator of wind farms across Europe, North America, and South America and the fourth largest wind energy producer in the world. EDP Renewables’ exponential growth (ranked in the top three globally) is pushing the company in the direction of digital transformation. It constantly invests in software and information technology to stabilize energy production and optimize costs.

On the other hand, InnoEnergy, is a company promoting innovation, entrepreneurship and education in the sustainable energy sector. They focus on education, research and business services and work towards providing the European market with an educated workforce as well as innovative technological solutions and services to support the growth of the renewable energy market.

The innovation culture ingrained into both companies’ DNA pushes them toward new frontiers and thus EDP Renewables and InnoEnergy decided to open up a coding challenge to the wider tech community by organizing the second edition of Hack the Wind during the Global Wind Summit 2018, hosted by Wind Europe.

How to create predictive maintenance software for wind turbines using machine learning algorithms - Boldare in Media

Problem: predicting wind turbine failures

The wind energy industry has recently set its sight on the benefits of predictive maintenance. Predicting component failures in wind turbines can help to shorten downtime and reduce maintenance costs, as well as cut disruptions to energy production to an absolute minimum.

There are four major problems that predictive maintenance can help to solve:

  1. Every year, wind farm operators have to declare their total energy production, including monthly and even daily quotas. Failure to deliver these quotas results in financial penalties. Predictive maintenance can help to optimize energy production up to 60 days beforehand and thus help the operator plan production almost two months ahead.

  2. Unexpected wind turbine failures can lead to downtimes in energy supply. Predictive maintenance can help to minimize the risk of downtime by alerting wind farm operators way ahead of the failure, giving them time to send an inspection crew, fix a broken part or replace it before an unplanned stoppage occurs.

  3. Sometimes a small and relatively inexpensive repair, or replacement of a minor part, can dramatically extend the life-span of the entire wind turbine. Predictive maintenance helps to identify the weak spots before they occur and thus enhance the overall durability of parts.

  4. Costs related to broken part replacement can be twenty times higher than the cost of inspection or five times higher than the cost of repair. So-called preventive maintenance (inspecting and replacing parts in regular intervals) is relatively costly, however, it is still less expensive than taking action after failure. Predictive maintenance allows the wind operator to take repair action ahead of major failures just-in-time as opposed to preventive maintenance.

However, creating a predictive maintenance solution based on machine learning is problematic for the industry due to some major obstacles:

  1. There is a wealth of data, however, there is not much historical data, which is needed to create a well-performing machine learning model.

  2. Data collected across various wind farms is not unified - clean, unified data is the cornerstone of any machine learning model.

  3. Not all failures can be predicted.

  4. Producers of various parts rarely share information on those parts’ durability, which could be an important data set for the machine learning models.

The teams taking part in the Hack the Wind 2018 challenge were given access to one year of failure data from a wind farm operated by EDP Renewables. The data sheet covered breakage reports of five major components for five turbines. The winning team had to provide the most accurate machine learning algorithm that would predict a breakdown up to 60 days before the incident and thus make the greatest savings for the operator.

How to create predictive maintenance software for wind turbines using machine learning algorithms - Boldare Team


After receiving a briefing from the hackathon organizers, the Boldare team decided to follow their usual process - they held a quick product workshop and focused on analyzing and defining the problem, identifying the goals for the software (both technological and business goals) and the end user.

During that phase they researched further questions with the mentors at hand. It is worth noting that the team did not have any prior knowledge of the subject matter - namely wind turbines and predictive maintenance. However, their skills, and the processes used at Boldare, allowed them to quickly gather enough information, understand the data sets and start working to deliver positive results in a very short period of time.

Following a brief workshop, they created a backlog of work and divided their group into two sub-teams to work more effectively. One team focused on product design and frontend development to present a dashboard with results, the other focused on creating the machine learning algorithms to predict the wind turbine failures.

Boldare Machine Learning Team During Hack The Wind Hackathon

Machine Learning solution to predictive maintenance problem

Boldare machine learning engineers proposed the following solution to the problem:

  1. Recurrent neural network (RNN) A recurrent neural network is a type of machine learning model which is dedicated to work on time-series data. The team used a recurrent neural network which was constructed mainly from GRU (Gated Recurrent Units) layers. The RNN was used as a tool to learn the Weibull distribution parameters. Weibull distribution has a broad area of applications, including survival analysis and predictive maintenance. Thanks to using the RNN on Weibull distribution the team could build a very detailed prediction. For example, the probability of failure for each subsequent day can be delivered. It is worth mentioning that this is a quite novel approach to predictive maintenance.
  2. Other machine learning algorithms During the Hackathon, the Boldare team did not have sufficient time to train the recurrent neural network for each of the components. They had just 48 hours to deliver the solution therefore the team used other machine learning algorithms, including ensemble methods like Random Forest and Gradient Boosting (XGBoost), but also Decision Trees which worked surprisingly well for wind turbine data.
  3. Preventive maintenance for one of the components\ The team also found that for one of the components it was more efficient to use a preventive rather than predictive approach. Again, time might have been a limitation - 48 hours was too short a time to find the right patterns in the data.
  4. Data augmentation The Boldare team did not focus on the raw data only. Before setting up the machine learning model, they processed the data, using data aggregation, data transformation and data augmentation (using statistical measures and transformations). It helped to increase the quality of the model’s predictions.
  5. Hyperparameter optimization Using appropriate tools (like hyperopt, RandomSearch, GridSearch) the team found the most effective parameters for each mode. The important advantage of this approach is that they did not use the default cost functions from those tools. Instead, they wrote their own cost function, which was based on the cost of wind turbine maintenance, delivered by the organizers. Thanks to that, the Boldare models were efficiently adjusted to the real costs of wind turbine maintenance.
  6. Google Machine Engine To speed up the algorithm training, the team decided to send some of the calculations to Google Machine Engine. This is a solution that allows you to free up your computing power by outsourcing the training job to Google.
Predictive Maintenance Software Based On Machine Learning Developed By Boldare

The predictive maintenance software

While the machine learning engineers worked on the algorithms, Boldare’s product designer, with skills in UX and UI, worked together with a frontend developer to create a prototype of a web application that could present the results in a meaningful way for the user.

The team followed the lean startup process used at Boldare. Its main principle - ideate, build, test, learn in a constant loop - was used to build the application. Following the briefing held by the hackathon organizers, the team made an assumption that the software should mainly focus on predicting failure and simply informing the user about the forthcoming malfunction of a wind turbine.

However, after creating the first version of the prototype, the Boldare team decided to validate that idea with the target group. They leveraged the opportunity created by the Wind Europe trade show, taking place in the same building as the hackathon, and decided to show the software prototype to the target users. They spoke to several representatives from wind farm operators and found that their web application solves the problem only partially.

The target users explained that following the information about the failure they need to take several actions, such as ordering a maintenance crew to visit, checking if the parts are in the warehouse, ordering any parts that are missing, etc. They needed an integrated solution that would allow them to detect the future malfunction but also take action to prevent it from happening.

Following the feedback, the team decided to pivot and included in the application prototype a solution to address the users’ needs. The software prototype would not only predict the breakdown but also plan logistically the entire process to prevent the failure from happening, increasing the savings and cutting the downtime.

Explore the application on the clickable prototype below


The team followed the processes which are ingrained into the Boldare way of software development:

  • they created a cross-functional team with all skills necessary to complete the job.
  • throughout the entire hackathon they worked as one team, constantly communicating with each other. This allowed them to work more effectively, avoiding misunderstandings and achieving their goals quicker.
  • they used the workshop to truly understand the job at hand, planning to effectively distribute the work.
  • they were agile, adjusting to the changing circumstances, and delivering iteratively (the results had to be submitted to the organizers three times a day).
  • they used the lean startup approach (ideate, build, test, learn), which allowed them to pivot and fulfill the end users’ needs.
  • they used pair programming, which helped them solve complex problems.

Results: a functional prototype

The team had just 48 hours to deliver the work and their software was the second most accurate solution among the 10 teams taking part. Additionally, they were the only team who presented a working software prototype that not only answered the problem presented by the organizers (a predictive maintenance algorithm for wind turbines) but also provided a solution to the real needs of end users (the ability to take action and plan the logistics following the warning).

Clients review

Now we're certain to that we can deliver valuable solutions to the wind energy industry.

Paweł Krynicki, Machine Learning Engineer at Boldare

Predicting Failures Of Wind Turbine Components With Machine Learning
Innoenergy And Boldare Machine Learning Team At Wind Europe

Real impact


hours delivery time

How did they achieve that, despite a lack of prior industry knowledge? Apart from the incredible skills of each team member, they followed the processes and values that work well at Boldare and lead our work on daily basis: agile, lean startup, development standards, cross-functional teams, collaboration and open communication.