Machine Learning inside Decision-Making Applications: Practical Use Cases

Machine Learning (ML) tools have been successfully used for decision-making applications for many years. Despite many success stories, ML popularity in enterprise-level software for years remained incomparable with commonly used Rule Engines or even with Optimization tools. Why? Until recently some application developers considered ML to be “too scientific” or unstable with rarely guaranteed results, others complained that it required too much data for practical applications. Nowadays, when Generative AI dominates most technological news and many populists use the terms “AI” and “ML” almost as synonyms, the situation is changing. Vendors and practitioners, who professionally develop decision intelligence software, see a growing interest in ML tools as enterprise developers want to add AI to their existing decision-making applications.

What kind of ML tools have been used in practical decision-making applications in various business domains? We may hope that in the future AI-based tools will be able to generate reliable ready-to-be-executed decision engines and to explain decisions they will recommend. However, after 1.5 years GenAI tools still don’t have much to boast in the area where Rule Engines for years successfully execute business decision models created and maintained by subject matter experts. So, it is only natural that enterprise developers concentrate on ML tools with already proven records.

I’ll demonstrate this trend based on OpenRules’ experience over the last 15 years. OpenRules offers Decision Intelligence software including:

  • Rule Engine: a powerful rule engine capable of efficiently executing the most complex decision models,
  • Rule Learner: a machine learning tool for the discovery of business rules in historical data,
  • Rule Solver: an optimization tool that utilizes the power of constraint and linear solvers.

All OpenRules tools are well-integrated and oriented to subject matter experts being accessible through a user-friendly graphical Decision Modeling IDE.

You can see how Rule Learner works on the cloud and even apply it to generate business rules from your historical data without any installation. Rule Learner supports the ever-learning decisioning systems described in the following architectural schema:

Rule Learner + Rule Engine + Rule Solver

This schema was applied to implement the following real-world use cases:

  • Finding Suspicious Tax Returns
  • Field Service Scheduling
  • Flash Sale Price Optimization
  • Movie Production Planning.

Use Case 1: “Finding Suspicious Tax Returns” (2009-2012)

In 2009-2012 we successfully applied this integrated Machine Learning + Business Rules approach to the government contract “Automating Business Rules Creation Using Machine Learning Models” issued by the National Headquarters Office of Research, Internal Revenue Service (IRS).  The objective of this project was to discover suspicious tax returns and integrate machine learning results into a standard business rules environment in a way that allows IRS subject matter experts to easily identify any gaps between the rules developed by its experts to detect potential non-compliance and the rules automatically developed by the machine learning system. 

By analyzing a large volume of historical data (~50K generalized tax returns with already known audit results), Rule Learner was able to successfully generate business rules that model the issue selection domain.  We tried more than 20 different ML algorithms and selected two of them (RIPPER and C4.5) that produced the most compact, human-understandable, and easily modifiable business rules. The learned rules were automatically converted to the format executable by OpenRules Rule Engine. The achieved tax return classification results were compared with results previously achieved by manual tax return audit selection. The comparison produced the very positive estimate: if the generated rules were applied to the same data instead of the manually elicited rules, the overall saving could be from 2.5% to 3%. The applied approach demonstrated a generic, yet fully automated integration of the learned rules into a Business Rules Management System. 

Here is a quote from the IRS project manager: “We wanted to automatically discover rules that were meaningful to our business analysts and at the same time could be run on Enterprise BRMS.  We accomplished all of these objectives. The IRS domain experts reviewed the automatically learned rules and suggested them to be useful, comprehensible, and intuitive.”  More importantly, the implemented system proved that automatically discovered rules could improve the agency’s capabilities to keep up with a constantly changing environment.

Use Case 2: “Field Service Scheduling” (2013)

In 2013 a vendor of a popular field scheduling product faced a serious issue: each custom installation of their product required a lengthy process of setting up “who can do what and where” for thousands of people with different skills serving different geographical areas. So, they approached OpenRules to see if our Rule Learner can be used to automatically extract this information from the historical work assignments. After considering different ML algorithms, we ended up defining intuitive business rules (mainly decision tables) that analyzed work assignments and automatically generated the proper configuration information. For example, such decision tables defined skill levels and geographical preferences for field workers who do certain equipment installations based on the actual number of their installation assignments. Those decision tables defined skills, service territories, and other capabilities and preferences for each worker, and fed this information to the scheduling system customized for every client (a field service provider). 

Such rules-based machine learning approach allowed this vendor to decrease its product installation time at each client from several months to 1 week. More importantly, client’s subject matter experts could adjust learning rules and scheduling parameters based on the ongoing changes in actual work assignments. These capabilities effectively put their product into the “Ever-Learning Loop”.  You may find more details about this system here.

Use Case 3: “Flash Sale Price Optimization” (2016)

In 2016 OpenRules helped a customer to build a dynamic pricing system using a smart combination of Machine Learning, Business Rules, and Optimization tools. The customer was a well-known online retailer selling curated collections of fashion products via flash sales. They wanted to utilize sales history to predict demand for ever-changing assortments of thousands of products. The pricing system was oriented to business domain experts allowing them to quickly generate optimal prices that can immediately go live on site.

The system used R to predict demand for every product in each sale for all possible prices. The generated predictions were fed to a decision model which was supposed to find product prices that optimize a combination of three major factors: expected revenue, margin, and sell-through. We represented the problem using OpenRules Decision Models and applied Rule Solver as a decision engine for solving this complex optimization problem. However, the generated optimization problem contained hundreds of thousands of records and was too large to be solved in a reasonable time even when we tried the most powerful underlying Constraint or Linear solvers.

So, we decided to use business rules to automatically split one large problem into multiple smaller sub-problems for different selected sets of related products.  This approach allows us to quickly solve each sub-problem with Rule Solver. Then our rule engine analyzed all found solutions for sub-problems and produced a constraint satisfaction problem of reasonable size to cover all products. This approach allowed the pricing system to come up with a solution that optimized a weighted combination of Revenue, Margin, and Sell-Through. You may find more details about this system here.

Use Case 4: “Movie Production Planning” (2024)

In 2024 OpenRules was asked by a film production company if our software can optimize the scheduling process. This company has already successfully applied one of Generative AI tools to analyze movie scripts in plain English and automatically extract key movie production variables from them. Such variables include scenes with estimated durations, shooting locations, shifts, all characters, production units, etc. These variables along with cast members and their availability plus other related information were fed to a movie production planner. The objective of the planner is to schedule a production process over a certain period of time subject to time constraints, actor’s preferences, location availability, union requirements, and various soft and hard constraints.

As we did have experience of solving similar scheduling and resource allocation problems in the past, we applied an integrated business rules (Rule Engine) and optimization (Rule Solver) approach to quickly build a working prototype. We knew that such systems should be very flexible to frequent changes in resource availability, user preferences, satisfaction of manual assignments, and finding the reasonable compromises between contradictory optimization objectives. Re-scheduling while minimizing the changes in previously produced schedules is an important requirement for the practical use of this system.

As a result, we managed to quickly create an initial version of the Movie Production Planner as a decision service deployed on cloud and capable of producing optimal schedules with respect to available time: the more time we give to the Planner the better results we may receive. This is still a work in progress, but it already demonstrated the productivity of the generic approach when Machine Learning is being used in concert with Rule Engines and Optimization solvers.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.