Decision Automation

What is decision automation?

Decision automation is infrastructure for modeling, implementing, testing, and managing decisions as code

Decision automation transforms manual decision-making into an automated, scalable process that returns optimized solutions for a variety of problems across an organization in a codified manner. When you treat decisions as code, automated decision-making becomes more broadly accessible to more people.

Waves of data trends like digitization, data storage, business intelligence, and data science have driven the need for decision automation and decision intelligence. Decision automation codifies the principles of decision intelligence, exposing technologies like optimization with a set of standard primitives. It then gives engineers the infrastructure to implement and manage powerful decision making components.

What are examples of decision automation?

Common use cases for decision automation are routing, scheduling, and packing.

The algorithms used in decision automation solve problems like the vehicle routing problem (VRP), capacitated vehicle routing problem (CVRP), traveling salesman problem (TSP), knapsack problem, k-means, n-queens, bin packing problem (BPP), minimum sum of squares clustering (MSSC), flexible job scheduling problem (FJSP).

These modeling problems surface in the real world in company operations from last-mile delivery to retail staffing and even marketing budget management. Oftentimes, the question (or decision to be made) for a routing problem is “What are the best routes for my fleet to take to service these stops?” For scheduling, the root question might be, “How do I effectively schedule shifts to meet the demands of the market?”

From there, the questions grow more complex as business rules are added. For routing, vehicle capacity and time windows are commonly applied (resulting in a CVRPTW). For scheduling, worker skill sets and shift minimums and maximums are used as constraints.

Why is decision automation important?

Decision automation makes the decision-making process for business operations more transparent, efficient, and scalable.

Many businesses start out with manual decision-making workflows. This makes sense since they are in a phase where they are learning about their users and refining business logic. But manual workflows can eventually become inefficient. Often (and usually sooner than expected), scaling becomes challenging and manual decision-making becomes cumbersome.

Decision automation streamlines these manual processes. At the same time, it also elevates the staff previously tasked with manual decision-making by amplifying their impact across more regions or expanding their responsibilities into more strategic areas such as customer success.

Decision automation finds optimized solutions quickly. Finding and testing optimized decisions manually get increasingly more complex as new markets or constraints are added. Automating this process means finding feasible solutions whenever possible while also mirroring business logic.

How does decision automation work?

Decision automation uses engines built on solvers (sets of algorithms) to find optimized solutions in a process that’s codified from end to end.

From a high level, there are 3 main approaches to using a solver for decision automation

  • Option 1: Build around open source or commercial solvers
  • Option 2: Piece together decision-specific APIs
  • Option 3: Build a home-grown solver

A fourth, more modern option is to use a decision automation platform. Historically, decision algorithms have lived in the operations research space, primarily accessible only to PhDs and those with specific decision modeling expertise. Now, through decision automation, decision algorithms can look like any other software and are accessible to all engineers.

What is a decision automation platform?

A decision automation platform is a software stack that provides a set of tools that can be used to automate the decision making process for any use case.

A decision automation platform provides an accessible launch point – making it simpler to test, modify, customize, and deploy a decision framework. With the ability to completely customize your model, any optimization problem can be solved without diving into linear or mixed integer programming.

As a result, translating business logic feels a lot less like math. Engineers can use a decision automation platform the same way they’d use any other software, including the ability to integrate it into an existing tech stack.

Why would I want a decision automation platform?

A decision automation platform allows engineers who don’t have a background in operations research to build, test, and deploy decision engines at scale.

This type of decision automation platform allows teams to work with decisions as code across domains, breaking down internal silos. Using a common framework brings teams together, reduces friction, and builds trust between developers and operators.

Teams using legacy OR tools often require months to build, test, and deploy a decision flow. When new business logic needs to be accounted for in their model, the process starts from the beginning again. Treating decisions as code in a platform approach allows OR specialists and engineers alike to pivot quickly in a matter of minutes.

With a decision automation platform, all operational decisions look the same –  from vehicle routing and staff scheduling problems to an allocation problem for cloud resources. Algorithms become easier to create and deploy, allowing teams to save time as they scale.