<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Predictive Maintenance – Next Best Action Recommendations Using SAS Decision Builder in SAS Decision Builder Discussion</title>
    <link>https://communities.sas.com/t5/SAS-Decision-Builder-Discussion/Predictive-Maintenance-Next-Best-Action-Recommendations-Using/m-p/975587#M18</link>
    <description>&lt;H3&gt;&lt;STRONG&gt;&lt;span class="lia-unicode-emoji" title=":factory:"&gt;🏭&lt;/span&gt;&lt;/STRONG&gt;&lt;STRONG&gt; Manufacturing Use Case: Predictive Maintenance &amp;amp; Next-Best-Action&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Decision Question&lt;/STRONG&gt;&lt;/U&gt;&lt;BR /&gt;Based on live sensor data from a factory machine, what is the best maintenance action to take right now?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Use Case Scenario&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A manufacturing company monitors three production lines: &lt;STRONG&gt;A, B, and C&lt;/STRONG&gt;.&amp;nbsp;Each line can have a status of &lt;STRONG&gt;Up, Down, or Idle&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;A &lt;STRONG&gt;Random Forest model&lt;/STRONG&gt; was developed in a Python Notebook (MS Fabric) using example data from Microsoft documentation. This example data was &lt;STRONG&gt;enhanced with synthetic AI-generated data&lt;/STRONG&gt; to better reflect predictive maintenance scenarios.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;How It Works&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Data streams from IoT sensors are fed into a &lt;STRONG&gt;machine learning model&lt;/STRONG&gt; that predicts the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Remaining useful life, or&lt;/LI&gt;
&lt;LI&gt;Probability of failure within the next 24 hours.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The &lt;STRONG&gt;Decision Flow&lt;/STRONG&gt; in SAS Decision Builder takes this prediction and applies &lt;STRONG&gt;rulesets&lt;/STRONG&gt; to determine the next best action:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If &lt;STRONG&gt;failure probability &amp;gt; 80%&lt;/STRONG&gt; and the &lt;STRONG&gt;production line is idle&lt;/STRONG&gt; → &lt;EM&gt;automatically schedule emergency maintenance&lt;/EM&gt;.&lt;/LI&gt;
&lt;LI&gt;If &lt;STRONG&gt;probability is 40–80%&lt;/STRONG&gt; → &lt;EM&gt;create a standard work order for the next planned downtime&lt;/EM&gt;.&lt;/LI&gt;
&lt;LI&gt;Other tool wear and power events are considered using rules.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Completed Decision Flow&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_13-1757968352164.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109994i3F657F91ACC6990E/image-size/large?v=v2&amp;amp;px=999" role="button" title="chcrai_13-1757968352164.png" alt="chcrai_13-1757968352164.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;&lt;STRONG&gt;Input/Output Variables&lt;/STRONG&gt;&lt;/U&gt;&lt;/H5&gt;
&lt;P&gt;Random Forest Model (Training &amp;amp; Prediction)&lt;/P&gt;
&lt;P&gt;The model consumes multiple IoT sensor readings and outputs a prediction (0 or 1).&lt;/P&gt;
&lt;P&gt;Input/Output Variables for the Python Random Forest model training and prediction in MS Fabric&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_0-1757951637290.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109980i46224AC93734336A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_0-1757951637290.png" alt="chcrai_0-1757951637290.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Decision Flow Inputs&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Air_temperature_K&lt;/LI&gt;
&lt;LI&gt;Line_status&lt;/LI&gt;
&lt;LI&gt;Process_temperature_K&lt;/LI&gt;
&lt;LI&gt;Product_ID&lt;/LI&gt;
&lt;LI&gt;Production_line&lt;/LI&gt;
&lt;LI&gt;Rotational_speed_rpm&lt;/LI&gt;
&lt;LI&gt;Tool_wear_level&lt;/LI&gt;
&lt;LI&gt;Tool_wear_minutes&lt;/LI&gt;
&lt;LI&gt;Torque_Nm&lt;/LI&gt;
&lt;LI&gt;UDI&lt;CODE&gt;&lt;/CODE&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;On the Decision Flow variables tab,&amp;nbsp; many outputs can be generated based on prediction model and rules. The user controls output variables.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_1-1757951731008.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109981iB5BD41AE233FEAE5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_1-1757951731008.png" alt="chcrai_1-1757951731008.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Branching&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;From the Random Forest model, output for prediction that is either 1 or 0. We can use this information in a logic branch to refine subsequent decision logic.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_7-1757433626195.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109809i5EEE32C87AD6C489/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_7-1757433626195.png" alt="chcrai_7-1757433626195.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are other branches in the decision logic using line status to determine whether a given line in up, down or idle. Here is the “Line is Down” branch is used to branch on a yes/no path.&amp;nbsp; On the No path, another branch called “Line Status” is used to check if idle. The user may vary the branching logic for their prediction maintenance logic.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_14-1757968995894.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109995i60DD25FD3C75489F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_14-1757968995894.png" alt="chcrai_14-1757968995894.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Business Rulesets and Rules&lt;/U&gt;&amp;nbsp;(A ruleset contains one or more rules. )&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A business ruleset named production_line_idle is used to determine the status of production line A, B and C. Line A is shown below and rules for production lines B and C are the same respectively in this ruleset. It is considered a best practice to give rulesets and rules meaningful names.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_2-1757951993480.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109982iBBCB9C0AC52599C2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_2-1757951993480.png" alt="chcrai_2-1757951993480.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Rules checking for tool wear failure.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_8-1757966419735.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109989i36B82A2ECC897DCE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_8-1757966419735.png" alt="chcrai_8-1757966419735.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Emergency maintenance rule. Use the model probability of failure combined with the line being idle.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_9-1757966503040.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109990iED3E7FA4AC3AB47D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_9-1757966503040.png" alt="chcrai_9-1757966503040.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt; &lt;STRONG&gt;Best Practice:&lt;/STRONG&gt; Always use meaningful names for rulesets and rules for clarity and maintainability.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Run the decision flow in SAS Decision Builder&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_3-1757952104104.png" style="width: 298px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109983i84B20FB33979B88D/image-dimensions/298x66?v=v2" width="298" height="66" role="button" title="chcrai_3-1757952104104.png" alt="chcrai_3-1757952104104.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_10-1757434054687.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109812iA04BF336F2EFD392/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_10-1757434054687.png" alt="chcrai_10-1757434054687.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;View table (partial view here) in OneLake (this is where MS Fabric writes all your data)&lt;/P&gt;
&lt;P&gt;From the model, when prediction = 1 =&amp;gt; failure&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_11-1757434355471.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109813iE0D2E8B8BC813414/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_11-1757434355471.png" alt="chcrai_11-1757434355471.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We can see in the result table, tool wear failure is captured using business rules. This is only an example and a customer can create whatever business logic is necessary for production.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_5-1757952270801.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109985i021F6D4096A17E3D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_5-1757952270801.png" alt="chcrai_5-1757952270801.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;We can also see that one of the production lines is ready for Scheduled standard maintenance.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_6-1757952313468.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109986iC71744D732098B4A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_6-1757952313468.png" alt="chcrai_6-1757952313468.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;There are also cases of power failure based on rule logic and an alert to review power failure and maintenance.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_7-1757952343302.png" style="width: 795px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109987i9DF3073908402023/image-dimensions/795x22?v=v2" width="795" height="22" role="button" title="chcrai_7-1757952343302.png" alt="chcrai_7-1757952343302.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The &lt;STRONG&gt;Predictive Maintenance – Next Best Action Flow&lt;/STRONG&gt; demonstrates how manufacturers can combine &lt;STRONG&gt;machine learning&lt;/STRONG&gt; with &lt;STRONG&gt;decision rules&lt;/STRONG&gt; to automate maintenance scheduling.&lt;/P&gt;
&lt;P&gt;Key takeaways:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ML predictions provide powerful insights, but &lt;STRONG&gt;rules capture operational nuances&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Decision flows can be &lt;STRONG&gt;customized per customer&lt;/STRONG&gt;, aligning with production priorities.&lt;/LI&gt;
&lt;LI&gt;This approach helps manufacturers &lt;STRONG&gt;minimize unplanned downtime&lt;/STRONG&gt; while ensuring maintenance is scheduled effectively.&lt;/LI&gt;
&lt;LI&gt;Any&amp;nbsp;decision flow can be designed specifically and uniquely for any customer.&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Tue, 23 Sep 2025 15:12:27 GMT</pubDate>
    <dc:creator>chcrai</dc:creator>
    <dc:date>2025-09-23T15:12:27Z</dc:date>
    <item>
      <title>Predictive Maintenance – Next Best Action Recommendations Using SAS Decision Builder</title>
      <link>https://communities.sas.com/t5/SAS-Decision-Builder-Discussion/Predictive-Maintenance-Next-Best-Action-Recommendations-Using/m-p/975587#M18</link>
      <description>&lt;H3&gt;&lt;STRONG&gt;&lt;span class="lia-unicode-emoji" title=":factory:"&gt;🏭&lt;/span&gt;&lt;/STRONG&gt;&lt;STRONG&gt; Manufacturing Use Case: Predictive Maintenance &amp;amp; Next-Best-Action&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Decision Question&lt;/STRONG&gt;&lt;/U&gt;&lt;BR /&gt;Based on live sensor data from a factory machine, what is the best maintenance action to take right now?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Use Case Scenario&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A manufacturing company monitors three production lines: &lt;STRONG&gt;A, B, and C&lt;/STRONG&gt;.&amp;nbsp;Each line can have a status of &lt;STRONG&gt;Up, Down, or Idle&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;A &lt;STRONG&gt;Random Forest model&lt;/STRONG&gt; was developed in a Python Notebook (MS Fabric) using example data from Microsoft documentation. This example data was &lt;STRONG&gt;enhanced with synthetic AI-generated data&lt;/STRONG&gt; to better reflect predictive maintenance scenarios.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;How It Works&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Data streams from IoT sensors are fed into a &lt;STRONG&gt;machine learning model&lt;/STRONG&gt; that predicts the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Remaining useful life, or&lt;/LI&gt;
&lt;LI&gt;Probability of failure within the next 24 hours.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The &lt;STRONG&gt;Decision Flow&lt;/STRONG&gt; in SAS Decision Builder takes this prediction and applies &lt;STRONG&gt;rulesets&lt;/STRONG&gt; to determine the next best action:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If &lt;STRONG&gt;failure probability &amp;gt; 80%&lt;/STRONG&gt; and the &lt;STRONG&gt;production line is idle&lt;/STRONG&gt; → &lt;EM&gt;automatically schedule emergency maintenance&lt;/EM&gt;.&lt;/LI&gt;
&lt;LI&gt;If &lt;STRONG&gt;probability is 40–80%&lt;/STRONG&gt; → &lt;EM&gt;create a standard work order for the next planned downtime&lt;/EM&gt;.&lt;/LI&gt;
&lt;LI&gt;Other tool wear and power events are considered using rules.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Completed Decision Flow&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_13-1757968352164.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109994i3F657F91ACC6990E/image-size/large?v=v2&amp;amp;px=999" role="button" title="chcrai_13-1757968352164.png" alt="chcrai_13-1757968352164.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;&lt;STRONG&gt;Input/Output Variables&lt;/STRONG&gt;&lt;/U&gt;&lt;/H5&gt;
&lt;P&gt;Random Forest Model (Training &amp;amp; Prediction)&lt;/P&gt;
&lt;P&gt;The model consumes multiple IoT sensor readings and outputs a prediction (0 or 1).&lt;/P&gt;
&lt;P&gt;Input/Output Variables for the Python Random Forest model training and prediction in MS Fabric&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_0-1757951637290.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109980i46224AC93734336A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_0-1757951637290.png" alt="chcrai_0-1757951637290.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Decision Flow Inputs&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Air_temperature_K&lt;/LI&gt;
&lt;LI&gt;Line_status&lt;/LI&gt;
&lt;LI&gt;Process_temperature_K&lt;/LI&gt;
&lt;LI&gt;Product_ID&lt;/LI&gt;
&lt;LI&gt;Production_line&lt;/LI&gt;
&lt;LI&gt;Rotational_speed_rpm&lt;/LI&gt;
&lt;LI&gt;Tool_wear_level&lt;/LI&gt;
&lt;LI&gt;Tool_wear_minutes&lt;/LI&gt;
&lt;LI&gt;Torque_Nm&lt;/LI&gt;
&lt;LI&gt;UDI&lt;CODE&gt;&lt;/CODE&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;On the Decision Flow variables tab,&amp;nbsp; many outputs can be generated based on prediction model and rules. The user controls output variables.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_1-1757951731008.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109981iB5BD41AE233FEAE5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_1-1757951731008.png" alt="chcrai_1-1757951731008.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Branching&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;From the Random Forest model, output for prediction that is either 1 or 0. We can use this information in a logic branch to refine subsequent decision logic.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_7-1757433626195.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109809i5EEE32C87AD6C489/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_7-1757433626195.png" alt="chcrai_7-1757433626195.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are other branches in the decision logic using line status to determine whether a given line in up, down or idle. Here is the “Line is Down” branch is used to branch on a yes/no path.&amp;nbsp; On the No path, another branch called “Line Status” is used to check if idle. The user may vary the branching logic for their prediction maintenance logic.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_14-1757968995894.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109995i60DD25FD3C75489F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_14-1757968995894.png" alt="chcrai_14-1757968995894.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Business Rulesets and Rules&lt;/U&gt;&amp;nbsp;(A ruleset contains one or more rules. )&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A business ruleset named production_line_idle is used to determine the status of production line A, B and C. Line A is shown below and rules for production lines B and C are the same respectively in this ruleset. It is considered a best practice to give rulesets and rules meaningful names.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_2-1757951993480.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109982iBBCB9C0AC52599C2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_2-1757951993480.png" alt="chcrai_2-1757951993480.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Rules checking for tool wear failure.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_8-1757966419735.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109989i36B82A2ECC897DCE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_8-1757966419735.png" alt="chcrai_8-1757966419735.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Emergency maintenance rule. Use the model probability of failure combined with the line being idle.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_9-1757966503040.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109990iED3E7FA4AC3AB47D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_9-1757966503040.png" alt="chcrai_9-1757966503040.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt; &lt;STRONG&gt;Best Practice:&lt;/STRONG&gt; Always use meaningful names for rulesets and rules for clarity and maintainability.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Run the decision flow in SAS Decision Builder&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_3-1757952104104.png" style="width: 298px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109983i84B20FB33979B88D/image-dimensions/298x66?v=v2" width="298" height="66" role="button" title="chcrai_3-1757952104104.png" alt="chcrai_3-1757952104104.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_10-1757434054687.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109812iA04BF336F2EFD392/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_10-1757434054687.png" alt="chcrai_10-1757434054687.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;View table (partial view here) in OneLake (this is where MS Fabric writes all your data)&lt;/P&gt;
&lt;P&gt;From the model, when prediction = 1 =&amp;gt; failure&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_11-1757434355471.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109813iE0D2E8B8BC813414/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_11-1757434355471.png" alt="chcrai_11-1757434355471.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We can see in the result table, tool wear failure is captured using business rules. This is only an example and a customer can create whatever business logic is necessary for production.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_5-1757952270801.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109985i021F6D4096A17E3D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_5-1757952270801.png" alt="chcrai_5-1757952270801.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;We can also see that one of the production lines is ready for Scheduled standard maintenance.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_6-1757952313468.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109986iC71744D732098B4A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="chcrai_6-1757952313468.png" alt="chcrai_6-1757952313468.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;There are also cases of power failure based on rule logic and an alert to review power failure and maintenance.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chcrai_7-1757952343302.png" style="width: 795px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/109987i9DF3073908402023/image-dimensions/795x22?v=v2" width="795" height="22" role="button" title="chcrai_7-1757952343302.png" alt="chcrai_7-1757952343302.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;The &lt;STRONG&gt;Predictive Maintenance – Next Best Action Flow&lt;/STRONG&gt; demonstrates how manufacturers can combine &lt;STRONG&gt;machine learning&lt;/STRONG&gt; with &lt;STRONG&gt;decision rules&lt;/STRONG&gt; to automate maintenance scheduling.&lt;/P&gt;
&lt;P&gt;Key takeaways:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ML predictions provide powerful insights, but &lt;STRONG&gt;rules capture operational nuances&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Decision flows can be &lt;STRONG&gt;customized per customer&lt;/STRONG&gt;, aligning with production priorities.&lt;/LI&gt;
&lt;LI&gt;This approach helps manufacturers &lt;STRONG&gt;minimize unplanned downtime&lt;/STRONG&gt; while ensuring maintenance is scheduled effectively.&lt;/LI&gt;
&lt;LI&gt;Any&amp;nbsp;decision flow can be designed specifically and uniquely for any customer.&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Tue, 23 Sep 2025 15:12:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Decision-Builder-Discussion/Predictive-Maintenance-Next-Best-Action-Recommendations-Using/m-p/975587#M18</guid>
      <dc:creator>chcrai</dc:creator>
      <dc:date>2025-09-23T15:12:27Z</dc:date>
    </item>
    <item>
      <title>Re: Predictive Maintenance – Next Best Action Recommendations Using SAS Decision Builder</title>
      <link>https://communities.sas.com/t5/SAS-Decision-Builder-Discussion/Predictive-Maintenance-Next-Best-Action-Recommendations-Using/m-p/976092#M21</link>
      <description>&lt;P&gt;Attached input data for predictive maintenance decision flow use case&lt;/P&gt;</description>
      <pubDate>Wed, 01 Oct 2025 02:29:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Decision-Builder-Discussion/Predictive-Maintenance-Next-Best-Action-Recommendations-Using/m-p/976092#M21</guid>
      <dc:creator>KumarT_SAS</dc:creator>
      <dc:date>2025-10-01T02:29:18Z</dc:date>
    </item>
  </channel>
</rss>

