Robotic Process Automation
Guest Author: Santanu Dutta
A Data Scientist must understand the data in hand. Before diving deep into the oceans’ of predictive analysis, he/she have to pause and look at the enormous mass of messy data points (unstructured and structured) through the looking glass of analytic powers, domain knowledge, subjective understanding, skepticism of existing assumptions – to find solutions to business challenges. Data Scientists often spend lot of time wrangling, massaging the data and building various hypothesis.
Last summer while being on an assignment with a client in the Middle East, I confronted a mundane repetitive task. The lazy programmer within got better of me. Only a lazy programmer will avoid writing monotonous, repetitive tasks. The tools and processes inspired by laziness sped up production. A subsequent search for solution led to the term ‘RPA’.
Robotics Process Automation (RPA) has been creating a lot of buzz in business world. In an organization back-office operations have lot of repetitive, routine tasks. Work areas are burdened with repetitive and time consuming processes. Human errors creep in while completing a process. Organization look to reduce costs, improve delivery, and ensure consistent quality, as an example, the time taken to deliver key customer service reports can be reduced. RPA mimics the activity of a human worker and carry out tasks within process. It can do repetitive tasks quickly as well as efficiently. Idle time thus produced can be utilized by human in other key areas for judgement, reasoning, decision making, interacting with customers, understanding emotional part of relationship.
What is RPA?
Let’s understand each of the term in acronym RPA:
Let me explain with a real life example. A Financial Institution has implemented a Credit Card Fraud detection system. It uses some rules to check a transaction whether it is fraud or not. Points which the system check are:
- Last location of access
eg: Card is used far off from places where it usually use to be.
- Usual amount of transaction
eg: Value of transaction of a person much more than usual amount.
- Number of times wrong PIN entered
eg: Number of trials on PIN. It may be a case of someone who is not the legitimate user getting hold of the card & trying out PIN through trial and error.
- Frequency of usage
eg: Frequent use of card rather than usual, to use maximum limit.
One of the ways to check fraudulent transactions based on above rules is to use human manpower. Humans spend lot of time going through each transaction and based on their understanding subsequently categorize it as fraudulent or not. It’s a repetitive task, checking the same rules whereby human errors might creep in. Such things use to happen prior to arrival of process automation. Presently, 95% of such activities are done in an automated way and remaining 5% is termed as anomaly which need human judgement to categorize it as suspicious or not.
Another example is ‘mailing existing customers about a new product offering’.
There are various tools to implement process automation. Some of them are like:
- Automation anywhere
Most of them need license for using the tool. You may have to request the owner for getting a trial version.
Let’s visualize the RPA tools landscape –
Benefits of RPA:
RPA provides a competitive edge to business by reduce their operating margins through headcount saving, better turnaround, greater compliance & service quality. Some of the key benefits of using RPA are listed below:
Meeting the Compliance Requirement
The RPA is a process which follow the SOP. So the task are performed exactly the same way, each time. It generates audit trails that can be used as an extra level of assurance during testing and production.
High Accuracy with Quality
RPA removes human involvement in repetitive tasks, thereby removing possibility of human errors. There is a high level of accuracy that comes in. Robotic FTEs are deployed into existing transactional systems operating various processes in exactly the same way as human FTEs. Limitation regarding human FTE can be avoided through various ways.
RPA can be used 24/7, 365 days a year. There is no attrition. This leads to reduced cycle time and enhanced productivity.
Scalability and Flexibility
RPA can replicate robotic tools across geographic boundaries, SBUs and provide a new level of scalability and flexibility.
First we have to understand each component of a RPA tool. Components varies across tools, but the underlying concept is same.
The components may be broadly divided into four categories:
Here you do not create any flow charts. It allows users to record mouse movements and key board activities and automation scripts are produced.
Scraping means extracting data out of a desktop application or web and laying it out in a structured manner. There are screen scraping which is used for desktop application and data scraping used for web application.
- User Events
User Events are events produced by users. A keystroke, mouse movement are examples of user events.
Variables act as mediators between two activities. They help in data manipulation.
Hands on RPA
Let’s create a simple RPA project. Task can be like following:
Develop an automation process which read the subject line of a mail. Get all the names, prices, features of a product from a e-retailer site in a csv format and then mail to a email id.
Let’s understand what is happening here. There is a sequence pane which controls the flow of each sequence. We get the sequence component from Control Flow. Then the automated process is reading the top most unread message through Get IMAP mail message. IMAP is a component under mail activity which help in reading mails. Here it is reading the subject line of the topmost unread mail which is also the name of queried product. For each mail it is doing some activity. The activity it performs is Data Scraping. It opens the browser, extract the required data. Here it is extracting Name, URL, Price and Feature of queried product in the site across all relevant search pages. When it reaches the last page, “Sorry no search result found” is displayed and search activity is finished. Then the automated process is storing the scraped data in a csv file. This is performed by Write CSV component in activities pane. The csv file is mailed to a mail id. SMTP Mail message help in this activity.
We need to configure properties of Get IMAP like ports, Server, login credentials. Similarly, for SMTP we need to configure properties like Email, Host: port, Server, Login credentials, Receiver, Sender.
Let’s see it in action through a video:
First we have to mail with name of queried product in subject line eg, iPhone. The automated process will scrape data from a e-retailer website all the models of iPhone available, url, price etc. and store it in a csv. Then it will mail with a particular subject line and body the saved csv file as attachment. We can similarly do it for other products as well. You can try on your own and let me know if you face any challenges.
RPA saves time and accurately perform the activity of reading the subject line of mail, which is our queried product, scraping website across a number of pages, getting relevant data, saving in a csv file and mailing to relevant mail id.
The arena of Robotics Process Automation is quite fascinating. Artificial Intelligence and Robotic Automation is set to change the phase of our upcoming future world. The scope of future in this field is widespread and one can predict that within a very short of span of time RPA is going to crawl up into many sectors of industries, medicine, research and development, banking, IT sector and much more.
Kalyan Banga207 Posts
I am Kalyan Banga, a Post Graduate in Business Analytics from Indian Institute of Management (IIM) Calcutta, a premier management institute, ranked best B-School in Asia in FT Masters management global rankings. I have spent 14 years in field of Research & Analytics.