Need for UX driven Conversational AI
The general notion that people have when they hear about Artificial Intelligence is either a cool tech gimmick or to the more informed person (and as Britannica quotes) the possibility of providing machines with ability to reason, discover meaning, generalize, or learn from past experience by leveraging Machine Learning (ML) and Natural Language Processing (NLP). But to the generic (non-technical) end-user does it really matter? Maybe, maybe not. Today, data is the new fuel. And the ability to transform data into information complements with idea of achieving process efficiency and making better decisions. The characteristic that puts people in awe when using an AI powered assistant is less of the ‘cool’ tech that runs in the background and more of what that tech provides them with. It’s the experience. But how do we transform that experience in an enterprise-only landscape? What separates an actually usable AI assistant from others is the context. Your customer probably doesn’t need to check the weather or have the AI read out the news for them, what they might really like though, is if they can somehow leverage the same AI to get their tasks done and make their lives a tad bit easier. So let’s say we build a bot that can carry out transaction(s) for them. Simple, right? But is it that simple?
One bot fits all
Easier said than done. While it may still hold true for the general “non-enterprise” user, it’s rarely something a business user might be able to leverage, for their day to day operations. In an enterprise use case, every company; correction…, every business unit might have use cases different than the other. And with that as a premise, one might think the implementation team might get away with delivering a generic chatbot that does X number of tasks. Perhaps; but then I’d have to ask you to take a look at their daily active user count especially after the initial exploration ‘fun’ phases out. It’s likely that it will then be treated as a fancy past-time than something that can actually increase efficiency.
Fixating on adaptability
Anyone using an SAP system already knows that when we talk about extracting information, say in this case, getting order details (may that be Sales/ Purchase/ Freight order), order number is a pre-requisite, which is fair, but bear in mind for most organizations, these are completely internal and perhaps have no significance outside the scope of the system. May be an equivalent Waybill or House Bill number might be the closest, one may associate to. But then again as a user, you are talking (typing) numbers and sequences to get information. In a typical Transportation Management use case, we generally have Freight Orders planned out of Freight Units that are related to Sales Orders in ERP which have a Business Partner (BP) that have an Email Addresses. Confusing already? This is exactly the kind of problem we are trying to solve using CAI. As a chatbot user, take a Customer Service Representative for instance, is more likely to have an email address at their disposal (whether their own [as ticket owners] or the customer’s) to get data out of the system.
For the most part, this approach seemed like the perfect way to query data through the chatbot until the time another customer comes up with a requirement to also allow (say) a vehicle registration number parameter to query order data. As an implementation team, one might think – is there virtually no end to this? Every customer/ stakeholder has different requirements and they are all legit requirements that decide the usability of the product especially a personal assistant. The challenge is to keep all stakeholders content and yet be able leverage faster implementation times by sticking with the architecture they started with. It’s not any different from a custom implementation if each new requirement feels like a new mini project.
Thanks to SAP Conversational AI platform, we were able to quickly add UI changes for an additional query parameter and since we did estimate frequent enhancements to the solution, especially at the early stage of marketing, we fixated on CDS based OData service consumption for talking to business data sitting at the backend.
We came up with a few use-cases that we can (perhaps arguably) claim – redefined the way transactions take place in a typical TM user scenario. My colleague Nilay Mehta’s blog post gives a holistic view of some of the use cases we developed, but I thought it’s important to elaborate on some of the process challenges we had to face and how we simplified/ automated them.
Take a typical process of manually assigning carriers to a freight order in a TM Landscape. A typical user might have to take the following steps to achieve that:
We set out with a vision to achieve the same end result but with just one input from the user and at minimum 2-3 clicks. The end result being:
Tell the chatbot how many days it should filter orders for, from today i.e. <current_date> and enter an email address tagged to the order.
Ship Icon Reference: Link
The bot brings you a list of orders set for delivery in the future. On selection of the order, it will pull up a list of carriers that can be assigned to it. And on selection, you have assigned a carrier to a Freight Order.
Ship Icon Reference: Link
Say your shipment has departed, if you are someone who needs to be on the floor monitoring each of the outgoing orders, it might be a task to have to come back to your desk, open the document, navigate a couple of tabs, select and report the event or have someone to rely on to do it for you. In any case, a typical process on system would have been:
We automated this process with one data entry from the user and just a couple of clicks:
The user enters an order number they want to report an event against. Chatbot brings events that are yet to be assigned for the order.
Ship Icon Reference: Link
On selection of the event, order is updated and data is propagated to the designated systems (if SAP EM is in scope as well).
Ship Icon Reference: Link
Btw, if you are thinking, you have to be on your computer to carry out all this interaction with your bot, you are probably unaware of the platform’s ability to integrate with multiple messaging channels.
Get Order Details
This is the same example I picked above for what might seem like a simple requirement to query basic data out of the system. Below is an explanation of why we felt the need to pivot away from keeping order number as the primary source of entry to the user story and instead focused on intuitive information that is likely available such as an Email ID or a Vehicle Number.
Below screenshot also shows, how flexible we kept the solution design for this process which allowed us to add customer specific requirements to the end-product (in this case, a Vehicle Registration Number).
Not ignoring the super-user persona, we kept excel download of the entire result set still an option for those set of users who are more savvy and probably need to take a deep dive into the statistics of the data to get to their insight. For the data driven folk, a quick chart visualization supplement only enriches the overall result set.
On the next step, either you can enter an order number (if you have it ready) or select one from the list of most recent orders the bot brought back to you and get further information on the status of your order.
Chart Reference: Link
Open any Document
Another use case is simple yet a powerful one. We took a page from SAP’s book of F4 Search Helps to make the experience more consistent with GUI users.
Take opening up of documents for example. For this, a typical user might have to take the following approach in the system:
Now, instead of moving away from the screen and having to open a new GUI/ browser session, we thought we can also simplify this process of opening documents on the fly.
To open a document, let’s say a Freight Order in this case, the user may or may not remember the complete order number, with that as a premise, we added the ability to search using ‘*’ and leaving the rest to the bot to figure out as it queries the backend system; in this case, an SAP S/4 HANA on-premise to bring you orders that match the search pattern entered:
Truck Icon Reference: Link
We’ve all been there where you open a document to only realize it wasn’t the one you were looking for. Hence, we also added minute but helpful subtexts such as Source and Destination (as an example of metadata, which could literally be anything else that may help your users) to make visual filtering of documents easier.
Certain arguments can always be made with the whole conversational AI setup, its actual use case(s), and it’s prospective ROI. The most common ones I have already encountered and responded are:
- Is the effort really worth the time and energy spent.
Response: It’s your business decision, would you rather spend time training non-ERP/ one-time users to use your apps, then probably not. Also depends if end-user efficiency is important to you or not.
- Has the UX really improved?
Response: Remember, with the above couple of use-cases leveraging Conversational AI, not once did you have to switch screens to get your task done, we carried out close to 4 operations with minimal keyboard inputs and button clicks all in the same chat session (check the video at the bottom of this post to confirm).
- One can easily develop an SE38 report and get even more information. This seems like a lot of effort.
Response: Again. Depends. If all your business users are super-users then no, probably not. But think of someone running late to a meeting and not having metrics on the latest sales report. They can simply pull out their phone and leave the rest to the bot. Yes, integration with corporate messaging apps makes things even more convenient. Here’s a screenshot from the Microsoft Teams integration we did with SAP CAI.
Map Icon Reference: Link
Moreover, such a transformation aligns with SAP’s vision of an Intelligent Enterprise and this is just the start of redefining the way transactions have been carried out from a traditional ERP landscape. If anything, this process is bound to get more efficient and smart with time.
To conclude, I’d like to quote:
“If you have to explain someone how to use your AI product, maybe it’s not that good a product at all”.
I don’t claim the rights to this quote if this was posted before today, but this thought is something that resonated well with me and therefore my team. I feel that we should only leverage this paradigm of conversational AI if we really think there is potential to add value to today’s business processes and not just brute force them into your stack just because the whole world is using it or you might fall behind if you don’t include the buzz words in your business portfolio.
I’d be happy to know if you’ve implemented Conversational AI in your organization or if not, are you planning to? And also if there’s anything you’d have done differently and why. So please feel free to drop in you comments in the form of feedback/ suggestions.
If you are just getting started with CAI, check out Daniel’s Tutorial to get your feet moving. That’s how I did ?
I am also embedding a video of the what the solution feels like in the flesh.