Keelvar Blog

How to Develop an Intelligent Sourcing Bot that Will Change your Procurement Process Forever

June 19, 2019

How to Develop an Intelligent Sourcing Bot that Will Change your Procurement Process Forever

Introduction

Keelvar’s inaugural Konnect event took place on May 9th last in Amsterdam and focused on the future of Sourcing Automation. Keelvar showcased real examples of Sourcing Bots that were developed with participants in a “Build a Bot” workshop (if you are unsure as to what sourcing bots are, then check out our previous blog post: Sourcing Bots: What, why and how). The bots illustrated how we can automate repetitive manual tasks and also how bots can make smarter decisions by learning from historical data. Spend categories that were explored included MRO, Packaging, Logistics, Software Development Services and Raw Materials. It was clear that almost every category you can consider in procurement has challenges that are amenable to intelligent automation solutions.

Level 4 and Level 5 Automation

The prototype Sourcing Bots developed fell into two categories of automation (that are described in a white paper AI-enabled Sourcing Automation):

  • Six of the nine prototypes focused on Level 4 High Automation solutions that are deterministic agents that follow a decision process that is tightly specified for all input parameters.
  • Three of the remaining prototypes focused on Level 5 Autonomous Sourcing Bots that apply aspects of AI to continuously learn from experience and are provided with the freedom to evolve their sourcing strategy.

One of the prototype bots showcased – developed together with a well-known tech giant – automatically created and configured eAuctions for sourcing a specific commodity type. The bot learned from past experience how to best classify the best auction type, cost calculation and which suppliers to invite. Using TensorFlow (an open source library developed by Google), it then utilised  a trained neural network to make predictions as to which auction configuration (that is, dutch vs reverse english) would produce the most competitive bidding behaviour.

Figure 1: The eAuction bot in action.

An Example of a Level 5 Auction Bot

The L5 prototype in this example focused on eAuctions, and aimed to address a problem that most readers are very familiar with: the manual configuration of auctions currently consumes too much time. This means that not only is creating an auction is a time sink, but it can also be error-prone.

The solution was to try and identify the repetitive manual steps and to automate them by using best practices and rules of thumb as well as knowledge learned from historical data. The latter is especially interesting because by looking at the historical data, machines can identify certain patterns that humans may not be able to spot easily. For example, given a history of bidder information, bids, event types, spend and duration, we might be able to deduce that a certain event configuration produces better, more competitive bidding behaviour in a given context than another configuration. To use a fictional example: if we are sourcing temporary labour, on a Monday morning in a specific geographic market, with a limited set of bidders whose relative time zone difference is very little, then maybe a Dutch Auction produces more competitive bidding than a Reverse English Auction.

What Does The Sourcing Bot Do?

We set out to develop a bot prototype that learns from past experience and configures an auction in such a way in which it thinks it will produce an optimal bidding behaviour. In other words, the bot would use the knowledge that it gained from the past, together with simple rules of thumb that a programmer defined, to automate event configuration. We will dive into the technical details of how exactly this was achieved in the next section. For now, just know that we are using TensorFlow to construct a neural network representation of a classifier. The bot will use this neural network to then make decisions about how to configure the sourcing event.

Once deployed, the bot is available to users via the Keelvar platform. Upon logging in for the first time, the user will train the bot using a labelled training dataset (this training dataset is a structured and labelled record of past auctions). Through the process of training, the user will essentially “infuse” the bot with some domain-specific knowledge. The knowledge, in this case, refers to only whether or not a certain event configuration produces a competitive bidding behaviour, an uncompetitive bidding behaviour or neither. The characterization of competitive bidding behaviour in this example was by inspection of bid compression or the spread in competitive offers.

Other criteria for assessing the efficacy of an auction could also be applied if appropriate benchmark data is available. So this is just one example of an approach that could be tailored for other settings.

Figure 2: The user uses a historic dataset to train the bot’s neural network.

Once trained, the user can initiate the sourcing bot. The bot will ask a series of basic questions – in a conversational manner. By doing so, the bot gathers the pieces of information that it needs in order to determine things like:

  • The line items to use
  • The suppliers to invite
  • The cost model to use, etc

Once the basic parameters have been gathered, and the design has been determined, the bot passes the relevant information to the neural network classifier which determines the auction configuration that is most likely to lead to bidding behaviour. The bot then creates and configures the auction, inviting the purchaser to review and publish the event.

Once all bids have been gathered and the auction terminates, the event itself becomes available for addition to the training dataset to support continuous learning.

Machine Learning Foundations for Level 5 Automation

To understand how exactly the prototype sourcing bot does achieves this continuous improvement in what is still just a glimpse into the possibilities here, let us start by examining the foundations:

  1. The first building block is the data that needs to be structured and labelled .
  2. The second building block for our bot is the neural network. A neural network is basically a tool used in machine learning (if you are not familiar with machine learning, then just think of it as a mechanism that allows computers to learn from examples).
  3. The third component is the Keelvar Sourcing Optimizer which acts as the bedrock for everything else and the workhorse that serves as the actuator to drive information flows and control.
  4. The fourth foundational stone is the bot itself.  Think of the bot as the smart piece of glue between your rules of thumb, TensorFlow, all your knowledge and past data and the Sourcing Optimizer. Using the Sourcing Automation infrastructure, programmers can define instructions for the bot to follow.

The Data

The concept for this prototype was that some auction types might produce more competitive results than others, depending on different factors such as duration of the event, the time zone difference between bidders, and so on. For example, on a Monday morning with bidders that are close together, a Reverse english Auction might show to produce more competitive bidding behaviour that a Dutch Auction when sourcing IT contractors.

To this end, we used a sample of 1500 auctions – a mix between Dutch Auctions and Reverse English Auctions. The data itself (figure 3) is contained in a spreadsheet containing bidder information, event information, and spend data. We also have a benchmark rating that indicates whether the event is competitive or not (we can tell whether bidding is competitive or not by looking at the proximity across bids and by considering the minimum or maximum bid values, their standard deviation, etc).

Figure 3: A screenshot of our sample dataset.

We then took this spreadsheet and expressed the data (duration, average time zone differences across bidders, spend, auction type and label) in a format in which a computer can better understand it. For example, instead of using a text label “competitive”, we assigned the value 0, “uncompetitive” became 1, and so on.

Recognising Patterns with a Neural Network

Machine learning and neural networks are the subject of entire books, PhD thesis and articles in themselves. So here we won’t dwell on the topic too much. Procurement professionals need only understand that a neural network is a concept from machine learning that will allow our bot to recognize patterns (and hence learn) from our sample dataset. By training the neural network using past data, we can construct a model which the bot can then query in order to make a prediction about which auction configuration will produce the best rates.

Thanks to TensorFlow, we did not need to do much programming to implement this: the code came “out of the box”.

The Sourcing Optimizer and the Sourcing Bot

Optimization is defined as “the action of making the best use of a situation or resource”. Within the context of procurement, this means that sourcing optimization allows you to find the best value for money outcome with great flexibility to capture trade-offs between cost and non-cost objectives. The Keelvar Sourcing Optimizer is a platform built in order to allow you to build and manage auctions or tenders whilst offering you powerful reporting and analytics capabilities and acts as a powerful modern alternative to the more dated solutions on the market.

On top of the sourcing optimizer, we built the Sourcing Automation layer which permits custom-tailored sourcing bots to use the Optimizer in place of a human user. The bots automate steps in your sourcing process and/or integrate with third-party systems. In the case of the eAuction bot presented in this article, the bot uses TensorFlow, the historic data along with best practices expressed as simple, logical steps, in order to build and configure tenders that are executed using the Keelvar Sourcing Optimizer.

Figure 4: The Keelvar Sourcing Optimizer in action.

Conclusion

In this article, we detailed how we can construct a sourcing bot using existing and proven technologies and concepts. Using Keelvar’s Automation framework, we can not only automate tedious manual steps and reduce the probability of errors (the focus of Level 4 Automation), but we can also get the sourcing bot to make smart decisions by using structured, labelled, historic data that we gathered in the past. With Level 5 Intelligent Automation, we can build bots that predicts optimal sourcing event configurations to deliver speed and savings.

Figure 5: The eAuction Sourcing Bot collecting different input parameters.

Want to Build Your Own Sourcing Bot?

Join us at Keelvar Konnect Zurich in October 2019.