Predictive maintenance for wind farm management with SAS: From real-time sensor data to maintenance alerts

Authors: Jagdishwar Mankala and Bahar Biller

In this post, we introduce a conceptual, plug-and-play predictive maintenance framework for wind farm management that builds on a technical paper published in SAS Communities. For utility companies, reducing unplanned downtime remains a key operational challenge, making predictive maintenance a critical capability. By using SAS software, real-time monitoring, machine learning, and SAS Event Stream Processing, the framework shows how sensor measurements can be analyzed in real time to monitor turbine performance, generate explainable maintenance alerts, help reduce downtime, and improve operational efficiency. Although this discussion focuses on wind farms, organizations can extend the same framework to real-time monitoring and predictive maintenance for other industrial assets. To place the wind-farm application in context, we first consider the current landscape and the key challenges faced by wind farm operators.

Current landscape and key challenges in the wind industry

Wind energy has rapidly become the largest source of renewable electricity in the United States. According to the US Department of Energy report, over 10% of the electricity generated by utilities today comes from wind power. Looking ahead, this share will grow significantly, reaching 20% by 2030 and potentially 35% by 2050. The U.S. wind turbine data base reports nearly 76,000 turbines installed across the country. This reflects the scale and momentum of wind energy adoption.

Figure 1: The U.S. wind production data base

Despite such a promising outlook, wind farm operators continue to face several critical operational challenges that impact both efficiency and reliability:

Unplanned Downtime: Minimizing unexpected turbine failures remains the most pressing issue in wind farm management. Failure to prevent unplanned downtime can severely affect energy output and increase maintenance costs.

Navigating Real-Time Data: Wind turbines generate vast volumes of data in real time. Analyzing these data sets and quickly transforming the results into actionable insights remain major challenges.

Monitoring Performance at Scale: Many utility companies operate hundreds of turbines across vast geographic areas. Identifying underperforming turbines and diagnosing issues quickly are essential to minimizing energy losses and maintaining operational efficiency.

Advanced Predictive Modeling Needs: Developing accurate predictive models to anticipate failures or inefficiencies requires advanced analytics techniques. These models must not only detect anomalies but also provide actionable insights into specific turbine sub-components that might be at risk.

These challenges highlight the need for a more proactive, data-driven approach to wind farm maintenance. To address them, this post presents a conceptual framework for wind farm analytics and predictive maintenance by using SAS software. The framework shows how advanced analytics, SAS Event Stream Processing, and machine learning could help operators. This includes:

Identifying potential issues earlier

Guiding field technicians toward relevant turbines and their components

Focusing maintenance efforts where they are needed most.

What makes the SAS predictive maintenance framework useful for wind turbines

The SAS predictive maintenance conceptual framework is designed to show how predictive model development by using historical turbine data can be combined with real-time monitoring capabilities to support turbine performance, reliability, and operational efficiency.

Historical Wind Farm Data Analysis: Historical wind farm data is analyzed through a robust offline training process to develop predictive models for anomaly detection and power prediction. By leveraging advanced analytics and ML, the framework illustrates three things:

How hidden patterns in historical data can be uncovered

How model performance can be assessed

How insights can be generated through visualizations. These insights form the foundation for accurate and reliable real-time monitoring.

Real-Time Monitoring with Power Curve Insights: Building on the trained models, the framework demonstrates how real-time monitoring can be achieved by continuously streaming data from a wide array of turbine sensors and introducing real-time power curve monitoring. This capability enables operators to continuously track turbine performance and detect deviations from expected output. This helps them identify units that underperform or behave abnormally.

Accurate Power Prediction and Performance Explanation: The framework illustrates how predictive models can be used to predict wind power generation. It also helps explain performance variations. By highlighting the most influential factors affecting turbine output, it enables operators to understand the underlying drivers behind observed trends. In turn, they can now make informed operational decisions.

Proactive Maintenance Alerts: The framework describes how maintenance alerts with contextual explanations and email notifications can guide field technicians toward issues that might require attention. This proactive approach could help reduce downtime and extend equipment life.

Lightweight and Scalable Deployment: Within the proposed framework,
SAS Viya or SAS Viya Workbench can support model training. An ESP-based workflow can integrate predictive capabilities into wind farm operations through 24/7 anomaly detection, power prediction, and alert generation. In practice, such a workflow could help wind farms minimize unplanned downtime and maintain operational continuity.

Having outlined the framework's key capabilities, we will now provide a high-level overview of how the proposed workflow implements them.

Framework overview

At a high level, the proposed framework operationalizes its predictive maintenance capabilities through two main stages. They are learning from historical data and monitoring turbine performance in real time. Model training and deployment & monitoring are shown in Figure 2.

Figure 2: SAS predictive maintenance model components

In the first stage, historical data is used to develop predictive models for anomaly detection, power prediction, and local sensitivity analysis. In the second stage, these models are applied to streaming data to support ongoing monitoring and alert generation. Although model training comes first in the workflow, we discuss real-time monitoring first because it shows how the trained models are ultimately used in practice to generate alerts and support maintenance decisions.

Real-time monitoring

Building on the two-stage workflow described in Figure 2, the real-time monitoring phase illustrates how continuous analysis of turbine performance could be performed by using live data streams. In this stage, the trained models and their configuration files are packaged into a containerized deployment by using Docker. The entire pipeline, including the SAS Event Stream Processing workflow, is embedded within the container. In a real-world implementation, such capabilities would help operators identify issues earlier, respond more quickly, and focus maintenance efforts more effectively.

Figure 3: Real-time monitoring components

Figure 3 illustrates an overview of the real-time monitoring architecture. At its core, a real-time data pipeline built with SAS SAS Event Stream Processing continuously ingests streaming data from wind turbines and processes it as it arrives. As the data flows through the pipeline, it undergoes preprocessing, model scoring using ASTORE files, and post-processing to generate actionable outputs. Here, ASTORE refers to a binary analytical store that packages a trained model for use by the real-time monitoring workflow in scoring incoming turbine data.

During the proposed real-time monitoring workflow, the framework illustrates several operational capabilities that could support a real-world implementation:

Alert Management: Shows how anomalies and performance deviations could be detected in real time and how alerts could be triggered when potential issues are identified.

Explainability through Local Sensitivity Analysis: Illustrates how insights into the key factors contributing to each alert could help operators understand the underlying causes of performance issues.

Automated Notifications: Demonstrates how real-time email alerts could be generated for field technicians to support faster response and targeted maintenance actions.

Real-Time Data Summarization: Shows how incoming data could be continuously aggregated and summarized to support monitoring dashboards and reporting needs.

During real-time monitoring, the framework demonstrates how maintenance alerts can be generated through two primary mechanisms:

Anomaly Detection: By applying a trained anomaly detection algorithm, the framework identifies turbines exhibiting unusual or abnormal behavior based on deviations from learned patterns.

Power Prediction: ML models are used to predict expected wind power output and detect turbines generating below expected levels. Comparing actual and predicted values further supports a model performance monitoring concept that illustrates how the accuracy of a deployed power prediction model can be tracked over time and how performance degradation can be detected. When a decline is identified, an alert can be generated to recommend retraining the model, ensuring predictive capabilities remain accurate and reliable.

To support timely response and effective field operations, the framework demonstrates how the resulting alerts can be delivered through automated email notifications. These notifications are generated based on model outputs and predefined alert rules. They are sent directly to field technicians and operators. Each notification provides a consolidated view of the alert types triggered for a specific turbine on a given day. Also included are the corresponding values that exceed predefined threshold limits, enabling quick and informed decision-making.

Alert types in real-time monitoring

By applying anomaly detection and power prediction models to real-time data, the framework demonstrates how automated alerts and notifications can be generated. Figure 3 includes an example email notification on the lower right-hand side. The notification captures anomalous behavior, low power generation, and model performance alerts together. This example summarizes the three alert types supported within the framework:

Alert Type 1 – Unusual Turbine Behavior: This alert is generated when a turbine behaves differently from what is expected while it is operating. This alert is based on an anomaly score that measures how unusual the turbine’s current behavior is, relative to its expected operating pattern (a higher score indicates deviation from normal behavior). In Figure 3, Turbine 2 is flagged on day 8 because its anomaly score exceeded a threshold derived under the assumption that only 1% of observations are anomalous. The anomaly score remained above this threshold for three continuous hours, spanning 18 consecutive 10-minute intervals. The unusual pattern begins about 10 hours and 40 minutes into the notification period, which suggests that the event is more than a brief, one-time spike. This tells operators that Turbine 2 might need attention because its behavior remained unusual for an extended period.

Alert Type 2 – Low Power Generation: This type of alert is used when a turbine is producing less power than expected while it is running. In this context, low power generation means that the turbine’s actual power output is below the level expected for its operating conditions. In Figure 3, low-power generation is also detected for Turbine 2 on day 8. This is due to its output dropping below the expected level and staying low for three continuous hours, spanning 18 consecutive 10-minute intervals. The lower output begins about 3 hours and 20 minutes into the notification period. This indicates a sustained reduction rather than a short-lived dip. This suggests that Turbine 2 might require investigation because it is not generating as much power as expected.

Alert Type 3 – Low Prediction Performance: This alert is generated when the predicted power output and the actual power output no longer match closely enough over time. In this context, prediction performance describes how well the model’s expected power output matches what the turbine produces. Lower performance means the model’s predictions are becoming less reliable. In the example, the prediction error rises above the expected limit and remains high for 23 continuous hours, spanning 138 consecutive 10-minute intervals. This points to a persistent mismatch rather than a brief one-time difference. The notification also notes when the power prediction model was last trained. Together, these details suggest that the model might no longer reflect current turbine behavior well and might need to be reviewed or retrained.

Explainability for field teams

When an alert is triggered, local sensitivity analysis can identify the key factors that contribute to the detected issue. These insights are further summarized into component-level tag groups. They include Environment, Blade, Hub, Rotor, Nacelle, Main Bearing, Gearbox, Generator, Transformer, Hydraulic Unit, and Tower. By aggregating model explanations into these component categories, the framework shows how operators could obtain a clearer view of the relative impact of each turbine subsystem.

Figure 4 illustrates an example of a low-power generation alert. This is where the component-level impacts are derived from a PROC GRADBOOST model that estimates expected turbine power and uses TreeSHAP values to quantify the contribution of each input variable to an individual prediction. In this example, the gearbox is identified as the component contributing most significantly to the alert with a total percentage impact (totalPercentImpact) of 89.112367. This indicates that approximately 89% of the explained contribution to the low-power generation alert is associated with gearbox-related sensor tags.

In practical terms, this does not prove that the gearbox is the root cause of the issue. Rather, it indicates that gearbox-related measurements account for the largest share of the model’s explanation for why Turbine 7 is producing less power than expected. This helps field technicians prioritize gearbox-related measurements or operating conditions when beginning their investigation. Such insights could help field technicians focus their investigation on the most relevant components, thereby improving maintenance efficiency.

Figure 4: Explanation for the detected alert

The effectiveness of the monitoring workflow, including its anomaly detection and power prediction capabilities, depends on the ML models developed during the training phase,

Model training

In this phase of the predictive maintenance framework, historical wind farm data is analyzed to develop ML models and derive actionable insights. First, we access SAS Viya (cloud or on-premises) or SAS Viya Workbench (cloud). Once access is established, the system makes the SAS wind farm predictive maintenance macro catalog available within the environment. This catalog contains the pre-defined components required for the ML workflow, including data preprocessing, model training, and post-processing steps. Following this, the data sets are uploaded and preprocessed according to the required data template. These data sets typically capture a wide range of information. This would include turbine power generation, environmental conditions such as wind speed and ambient temperature, and sensor readings related to key turbine components like pressure and temperature.

In addition to operational data, the framework incorporates supporting inputs such as alert management rules and turbine specifications. These might include parameters such as blade length, rated power, rated wind speed, air density, and the operating wind speed range of each turbine. Together, these inputs provide important contextual information that enhances the quality and relevance of the analysis. Figure 5 provides an overview of the architecture of the model training components.

Figure 5: Model training components

At the end of the training phase, the framework produces a range of outputs that support both historical data analysis and real-time monitoring. These outputs fall into three broad categories.

Analysis Results

Several structured output files summarize different aspects of turbine performance and model behavior. They include:

anomaly scoring summaries

power prediction and anomaly detection results

model fit metrics

important input variables

turbine-level efficiency measures

power curve summaries

uncertainty estimates

risk profiles of turbine operation across wind speed regions.

The framework further captures filtered turbine data, relationships among variables, principal component analysis (PCA) results, and aggregate turbine statistics. Together, these outputs provide a detailed view of how turbines are operating, how well the predictive models are performing, and which variables or operating conditions might be contributing to unusual behavior or lower-than-expected power generation.

Visualizations

Charts and graphical outputs generated during the model training phase help interpret ML model behavior and turbine performance through plots such as turbine clustering, efficiency trends, and other analytical charts that explain how different variables contribute to performance. Figure 6 presents the power curve with uncertainty quantification. It provides the Box-and-Whisker plots summarizing power distribution for eight selected turbines in a wind farm. It also shows how the PCA loading plots could be useful for identifying clusters among the many turbines in large wind farms.

The PCA-based output shown in Figure 6 was generated by using PROC MVP, a SAS procedure for multivariate process monitoring. PROC MVP uses PCA, an unsupervised machine learning technique, to summarize correlated process variables into a smaller set of principal components. The resulting loading plot helps reveal how turbines relate to the dominant patterns in the data. Turbines that appear close together exhibit similar multivariate behavior. Those that are farther apart might represent distinct operating patterns or groups that warrant further investigation.

Figure 6: Understanding turbine performance and variability

Figure 7, on the other hand, shows scatter plots of true wind speed versus turbine power. The data points are classified as normal (blue) or anomalous (yellow) with color intensity indicating anomaly severity. For this anomaly visualization, we used PROC FOREST with the isolation forest option. This constructs a random forest for unsupervised anomaly detection rather than target prediction. The procedure generates anomaly scores, with larger values indicating observations that are more unusual relative to the observed data patterns. Figure 7 also provides a corresponding time-series plot. This further illustrates how anomaly scores vary over time and how they can help identify periods of abnormal turbine behavior.

Figure 7: Power curve monitoring and anomaly detection

Deployment-Oriented Assets

An ESP-based monitoring workflow can use packaged ASTORE files for trained turbine power prediction, anomaly score generation, and anomaly detection models. The package also contains configuration files that define asset and analytics parameters. During deployment and execution, the SAS Event Stream Processing runtime uses these files to run the application.

Software requirements

Implementing the SAS predictive maintenance framework for wind turbines requires several key components:

SAS Viya or SAS Viya Workbench: These platforms provide the analytical environment for working with historical wind farm data and developing ML models that form the foundation for predictive insights and real-time monitoring.

SAS Predictive Maintenance Compiled Macro Catalog: This includes a collection of pre-built macros that streamline the analytics workflow. It covers data preprocessing, model training, and post-processing steps. It helps standardize and accelerate the development process within the framework.

SAS Predictive Maintenance Event Stream Processing Container: This component supports real-time data ingestion, model scoring, and alert generation within the monitoring workflow. It would enable continuous monitoring of streaming turbine data, anomaly detection and power prediction by using trained models, and generation of alerts with explainable insights.

Summary

The SAS predictive maintenance conceptual framework presents a practical approach for connecting historical wind farm analysis with real-time monitoring. By combining ML, SAS SAS Event Stream Processing, and explainable alerting, the framework illustrates how operators could:

detect anomalies earlier

better understand asset performance

respond faster and more precisely to operational issues.

Although this example focuses on wind turbines, organizations can adopt the same approach to support predictive maintenance and real-time monitoring for other industrial assets.