One of the smartest technology evolutions in the recent past has been the concept of Robotic Process Automation, popularly referred to by its acronym RPA. The age-old technique of screen scraping or User Interface (UI)-based test automation approach is very effectively extended in RPA to automate business processes that are carried out by human users using computers, resulting in an industry segment of its own.
If the concept behind RPA needs to be over simplified, it can be stated as a simple “record and play back” technique where the robot (which actually is a software installed on a desktop) is taught how a software is used to carry out some tasks and the robot does it recurrently, making it a simple yet effective way of automation. For instance, an invoice verification process could involve a human user downloading invoices from three different vendor portals, uploading them into an ERP system and verifying the values with the corresponding purchase orders, and eventually approving or rejecting them on the system. This process can be very easily incorporated in an RPA software with some amount of scripting.
Impact: The process would no longer need a human user to execute it, as it gets automated.
On the other hand, if the same process needs to be automated through a traditional approach, it would involve integration with three different vendor systems, which again has to be integrated with the ERP system with some verification logic. Same impact would be achieved, but with the added tasks of software development, working with the IT team to open ports on firewalls, having servers dedicated to run the software, and some maintenance effort. Now compare this with a day’s scripting work on an RPA software which runs on a desktop but without the need for any port opening, software development, integrations, IT involvement, etc. The same RPA software can be used to automate numerous other processes as well, as it can run 24 x 7, and most likely the invoice verification only needs to be processed for a few hours every week.
While RPA provides a very quick non-intrusive means of automation, quite literally like employing a virtual human user, it has its own limitations. It is applicable for processes that are based on well-defined Standard Operating Procedures (SOPs) where the rules for decision-making are very clearly parameterized. In any RPA-based automation strategy, it is important to split the larger process into “automatable” and “human intervention” areas and update the process to enable maximum automation. However, it may not be practical to automate it completely. For instance, a process may contain a set of processes that are fairly procedural and some areas may involve applying one’s knowledge and making judgments – in cases where vast amount of knowledge cannot be effectively codified into algorithms, RPA will not be able to automate that part and it will need to be routed to a human user. Hence, for areas where human judgement needs to be applied, needless to say, RPA is not effective.
The automatable part of the process that is driven by RPA thereby becomes completely rules and algorithm-driven and it is hard to make them “smart” or “intelligent”. In certain cases, this can shrink the automatable part of the process to a level where it becomes non-feasible to apply RPA as the returns may not justify the RPA investments.
Let’s take the example of automation of the L1 process that involves routing problem tickets to the appropriate resolver groups. If the routing is based on ticket category and certain fields of the issued ticket, RPA can certainly solve the automation problem. On the other hand, if it involves reading the content of the ticket description and applying human knowledge to make a decision on the resolver group, then suddenly automating the process looks non-feasible by RPA alone.
Machine Learning (ML) is an emerging technology that is already maturing to a level where it can be applied to solve real-life problems. ML essentially works on the principle of encapsulating a large amount of data (or knowledge) into some form of mathematical model. The model can be utilized to apply the knowledge it contains for solving problems.
For example, if we develop an ML model with one year’s worth of ticket descriptions and its corresponding routing information, it can be used to predict the routing information for a new ticket. In other words, the ML model is like an intelligent person who has learnt how tickets were routed in the past year and applies that knowledge to make a decision on where the new ticket needs to be routed.
ML can be applied to a multitude of problems where there’s access to large volumes of historical data which can be used to predict or make decisions on certain areas. It should be noted that it is unlike developing an algorithm; instead it is based on building a knowledge base. If we take the ticket routing problem , it will be extremely hard to develop an algorithm keeping into account each and every ticket that has been raised in the past one year (which could amount to, for instance, many thousands of ticket descriptions and these descriptions are not structured information). However, the ML approach can address such scenarios very effectively.
The strength of RPA is the ease with which a process can be automated. However, its limitation is that it cannot be automated if it involves decision making backed by application of knowledge. This is where ML comes into the picture; it helps build a knowledge base based on historical data, and uses it for decision making and prediction.
If we take the same example of an L1 process of ticket routing, it now appears completely feasible, with the RPA process taking the ticket description and making a call to the ML prediction service to fetch the routing information to continue the automation process. It is like introducing a smart agent into the otherwise procedural RPA process. It is also feasible to keep enriching the ML model by re-training it periodically and keeping it powered with the latest knowledge.
In summary, combining the power of ML with RPA can create powerful automation solutions. Many RPA software providers are attempting to add this capability to the tool itself to expand its capability. However, ML being an emerging field, requires the expertise of engineers who have deep knowledge and skills to develop accurate ML models. Hence, it is an expert-driven area, where in many cases, RPA is designed for the end user. With the right expertise, enterprises can realize truly intelligent automation solutions that will lead towards ROIs. That said, it is not typically realizable with RPA alone.