I was lucky enough to catch a great presentation at Automate 2019 by Ruth Luscombe who is a Senior Data Scientist at Kelvin Inc.
In the presentation she went through managing data science teams and workflows. What struck me was a great chart that she presented from the following Medium article highlighting the difference between Robotic Process Automation and AI, and where an organisation sits on its journey to becoming truly data driven.
Now I have to confess I only became aware of RPA as a thing about 6 months ago, but I was blown away at its potential, and with my work with Blackbook.ai seeing just how RPA fits in the spectrum of Intelligent Automation has been truly illuminating.
What is RPA?
In the same way we can record movements and manipulations of a Spreadsheet with an Excel Macro, so too can we record things like extracting information from a PDF in an email, sending the information to a database, calculating serviceability for a loan etc using RPA software. The software I have become most familiar with is UiPath.
For those who don’t know about Excel Macros please see the following:
RPA software sits on top of .Net and can automate things like mouse clicks, screen scraping, entering data into forms and the kinds of repetitive manual processing that happens everywhere, every day for many organisations. If you give people a repetitive, painful task they will make mistakes (which is what happens) and they wouldn’t have tremendous job satisfaction.
What kind of jobs are good candidates for RPA? Well, anything that has a fair volume, is rule-based and is essentially the same prescriptive treatment:
What we have done in the last in the age of computers is to turn humans into computers and have them do repetitive tasks that a computer could do much better, cheaper and easier. AI is still pretty far away from competing with human abstract reasoning and judgement. Therefore I think we should leave these kinds of tasks to the computers.
Here is an example of RPA software in action:
As you can see the software is low-code or no code and replicates business rules and business processes. It is cheaper by far than a dev team writing bespoke Python code for instance. Plus there is some AI services such as OCR (Optical Character Recognition) built into UiPath.
The Journey of Intelligent Automation
What is RPA with Manual Intervention?
This is the first step on the journey towards intelligent automation. Essentially what we have is a semi-automated process, that may require interaction with humans to kick it off, or may require a human to enter details or to make some final decision.
This approach automates some parts of a task but not all parts and runs as software on the user’s screen.
In loan applications for example an attended bot may require the user to log in, may then automate the data collection of PDFs, website forms etc and may then present the information back to the user. However the user reads and interprets the info and then approves or declines the loan.
Attended RPA is less risky. It includes human involvement/ checking of data and information, so it is not really full automation solution, however it is a good solution for some use cases.
What is unattended RPA?
These bots are set up mainly for batch processing which runs in the background not on a user’s screen. It involves zero human interaction in the task and may be kicked off at a certain time or after a certain trigger event, such as an email hitting an inbox.
For example the batch payment of all invoices in the background while the user is working on a different task.
There is more of a business risk and the potential for mistakes if something in the system changes. Therefore better monitoring and reporting is needed for these bots.
What is machine learning?
I’m not sure if “machine learning” is the right term to use here on the evolution of automation, I would have preferred instead to use the term “decision science” meaning something like analytics that doesn’t involve plugging a predictive model into a production database.
So, in this sense RPA can be about collecting the data as data. It breaks my heart when I ask someone to see their data and they point me to a folder for “Client A” which contains the following:
A few PDF documents
A few spreadsheets
Q: “Can you build us an AI Nic?”
A: “Can you drive a car that doesn’t have any wheels?”
RPA can help to get these disparate bits of information into a relational database. This is an enabler for decision science and machine learning.Not having your data stored as data prevents intelligent automation.
So, what is “decision science”?
Decision science is predictive modelling and analysis that doesn’t make it to the production environment:
Predictive modelling such as targets for an email campaign that may be emailed to a marketing team
Cluster analysis for a powerpoint presentation
Ad hoc requests for analysis
Machine learning (productionised predictive modelling)
I think you have to think of machine learning as making automated decisions by plugging a model into a production system.
So there is a parallel between attended bots and unattended bots vs decision science and machine learning.
So we use historical data to train a model, then once the model is developed we either take the model object and often through an API call expose the model to new (unseen) data to predict on. This model is incorporated in a production environment. Training of the model my or may not update periodically automatically.
The canonical example is something like a Netflix movie recommender, this model may be trained overnight. When a user opens the app their data at that point in time would hit the API and the model would rank the movies in terms of people who looked like them who liked similar movies to them. The recommendations would be stored in a database and this database would serve recommendations to users.