Deliver real-life use cases with SAP BTP – Intelligent Ticket System
This blog post is part of a series of technical enablements on SAP BTP for Industries.
Check the full calendar here to watch the recordings of past sessions and register for the upcoming ones!
In this first session of the series my colleagues Alessandro Biagi, Eddy Neveux and I will present a simple but powerful approach to addressing some issues in the Service Industry using SAP Business Technology Platform services.
We will start with an introduction to the Service Industry, will discuss its challenges and pain points, and the solutions that we can offer to tackle them. We will also discuss the impact of bad customer experience on the industry and its businesses. After that, we will transition to a proposed Solution Architecture, where we will see how to design a cloud solution that might address some of the challenges discussed before.
We will then move from theory & design, to practice & runtime, so that we can show you how each of the components are implemented. We finally offer an end-to-end demo of the prototype.
These demos will give you a hands-on experience of the drafted prototype. You will learn not only how to design but also how to bring a solution into a proof-of-concept and how it can help businesses in the service industry to improve customer experience.
This doesn’t aim to be a Master Class on all of the pieces and parts of a solution, but rather highlighting how to go from the analysis of challenges for an specific industry to the implementation of a solution, through the design of good cloud native architecture.
We hope that by the end of this session, you will have a better understanding of the Service Industry, its challenges and solutions, and how to craft solutions on top of the SAP Business Technology Platform to help customer in their industry out there.
We hope to get you inspired!
So, let’s get started!
What is the Service Industry?
The service industry is basically the part of the economy that provides services to people and businesses – and this includes things like banks, hospitals, shops, hotels, and airlines. Instead of making physical things, these companies offer services that you can’t touch or move around like a product.
A lot of companies that sell physical stuff also offer extra services like helping you install or repair the product, or giving you customer support.
This makes the whole experience better for you as a customer, and makes the company stand out from other similar companies.
The biggest sectors of the service industry are different depending on where you are in the world. Some of the main ones globally are retail (like shopping and online marketplaces), financial services (like banking and insurance), transportation (like air, sea, and ground travel), hospitality (like hotels and restaurants), and healthcare (like hospitals and medical centers).
Of course, there are many more services out there, and what’s most popular can vary from place to place.
One of the biggest challenges that companies face is to deliver top-notch services that are tailored to their customers’ needs. It’s not easy, as customers are always looking for more, and meeting their demands while still turning a profit can be quite a challenge.
Let’s not forget that businesses in the service industry must keep up with evolving customer preferences and expectations while stay current with new trends and technologies – and this requires companies to be adaptable and flexible to stay ahead of the competition.
The Pain Points
To succeed in the challenge, it is imperative to address the main pain points that impact customer experience.
These issues include lack of communication, long wait times, inconsistent service, unresolved issues, and hidden fees.
The lack of communication is one of the most significant in the service industry. We often feel frustrated when we are not kept informed about the status of a ticket or when we have trouble getting in touch with a representative, especially when we are trying to resolve a problem. That can be improved by responding quickly to customer inquiries and reporting updates as soon as they happen. When customers feel like their concerns are being addressed and that the business is proactively reaching out to them, it can help to build confidence in the service provider.
What about the wait time? Something that can improve it is to implement multichannel support, providing customers with multiple ways to contact a business and receive support, such as through phone, email, chat, or social media. It can have a positive impact as having a variety of channels available can demonstrate flexibility to reach a business in a way that works best for the customer, improving the overall reputation.
Now, looking at the service standards, customers may have different experiences with different employees, or different channels, at different locations, leading to confusion and dissatisfaction. Companies can ensure consistent service by providing clear quality standards and guidelines for employees, and on top of that, using chatbots or virtual assistants to provide consistent, 24/7 support. Important here is to ensure the digital service follows the same guidelines providing a seamless and positive customer experience, regardless of the channel used, leading to increased customer satisfaction and loyalty.
Coming to the unresolved issues – when customers have a problem or issue, they want to know that it will be resolved quickly and effectively. If theirs issues or complaints are not addressed in a timely and satisfactory manner, it can lead to dissatisfaction and mistrust. This can be resolved by creating and implementing a process for handling escalation requests, training employees on how to handle such complaints, and following up with customers to ensure that their issues have been resolved. Implementing this process can play a key role providing customers with the assurance that their issue will be resolved and demonstrates a commitment to customer service, leading to increased trust and satisfaction.
Last, but not least, the “Hidden fees or charges”: customers may feel cheated or misled when they are not informed of all the charges associated with a service. Including this information in the service agreement or contract is mandatory, but not enough. Being transparent by providing clear and detailed information about fees and charges, and warning about additional costs before executing services is paramount for keeping a good relationship with customers
Important Note: of course, and again, we do not aim to attack all of those pain points at once here, not even to cover one of them entirely, because as we have seen this cannot be addressed with just software. The idea here is to focus on couple of them and show you how you can assist companies in the service industry with a good solution architecture and implementation.
The Financial Impact of a Bad Experience
Before coming to the solution architecture, let’s look at this interesting survey the Qualtrics Institute ran last year that shows the financial impact when companies neglect working on those pain points.
You see here a compelling picture of the state of customer experience across a variety of industries. It presents an analysis of the consumers who have interacted with companies in each industry and reported a NEGATIVE experience. It comprises the responses of consumers from 29 countries around the globe.
The results are eye-opening: it shows that organizations consistently fall short in delivering exceptional experiences, with a shocking 16% of interactions being rated as “very poor.” This number takes on even greater significance when viewed in the context of a particular industry.
Take a look at the very first one in the chart: government agencies. They are struggling to meet customer expectations, with a disturbingly high 33% of interactions resulting in negative experiences – that’s not a surprise for most of us, but this is a rate more than four times higher than that of supermarkets, streaming services, and department stores combined.
Now, what is really interesting to see, is how a negative encounter with an organization affects consumer behavior, specifically with regards to their spending patterns.
The results are clear and concerning. Consumers are most likely to reduce or stop spending with organizations after a negative experience in the fast food or online retail sectors, with a substantial percentage of consumers cutting spending entirely after a poor encounter with a credit card provider. The data shows that at least 36% of consumers, will reduce spending following a bad experience.
We can also see that there are some industries that are less likely to be affected by reduced consumer spending.
The study shows that public utilities and universities are among the industries that are least at risk of consumer spending decreases, following a negative experience.
While these findings are certainly cause for concern, there are a lot of opportunities for improvement, and for better solution implementations.
In this final chart we see the Sales at Risk Index for each industry, providing a clear measure of the revenue organizations risk losing as a result of poor customer experiences.
The findings are striking. On average, organizations face the risk of losing 8% of their revenue due to negative customer experiences. This number takes on even greater significance when viewed in the context of specific industries.
The data shows that government agencies have the highest Sales at Risk Index, at a staggering 16.3%, closely followed by credit card providers at 10.8%. Meanwhile, streaming services and department stores have the lowest Sales at Risk Index, at 3.4% and 4.3% respectively.
These findings make it clear that delivering exceptional customer experiences is not only a moral imperative, it is also essential to the financial health of businesses. Organizations that consistently provide negative customer experiences risk losing substantial revenue and putting their very future in jeopardy.
How Can You Help, as an SAP Partner?
As an SAP Partner you can help our customers minimizing this impact, increasing customer loyalty, and driving long-term business growth by attacking the pain points we’ve just seen. We do not aim to solve all the issues at once, but show how you can assist companies in the service industry with a good solution architecture and implementation, addressing some of them:
And what would be a great solution architecture for a multichannel support, that would help with regular follow ups and improving escalation processes? An example of solution is what you can call an “Intelligent Ticket System”.
Note: this is not a product, it’s just a demonstration on how you can go from analyzing a challenge, understanding the problem, address them into a software architecture, and finally landing the design into a proof of concept running in the cloud, extending a core SAP solution.
For that, we are going to design an extension for an existing customer and service support management software, using the side-by-side approach.
We want to automate and streamline the process of managing customer requests, complaints and compliments. We believe that with this, we can tackle some of the basic issues we have discussed above. With some advanced features, it provides an efficient and effective way of communicating with customers, resolving issues, and ensuring high-quality service.
The Proposed Solution Architecture
On one end we have the service provider’s business partners, or customers if you will, interacting with the company through a variety of channels, such as e-mail, social media, instant messaging, web sites, etc.
On the other end we have the customer experience analyst, who’s in charge of providing the best possible experience to those business partners.
In between them there’s the public cloud with the SAP Business Technology Platform.
The SAP Field Service Management is available in the public cloud to serve as one possible service tracking back-end solution (there could be others).
SAP BTP provides its own flavor of the Cloud Foundry environment and the SAP Build Process Automation solution, which contains the Business Rules Services, among others.
The business rules service will be responsible for determining the route that each business partner’s interaction should follow. So, if the interaction is a Complaint or a Request, then a service call must be created in the backend system with the appropriate priority. Otherwise, if it’s just a Compliment, then an auto-reply message is sent back to the message’s sender.
On Cloud Foundry we deploy a custom text classification service, which leverages a Natural Language Processing (in short NLP) pre-trained Machine Learning Model, written in Python. This service will be responsible for analyzing the text coming from the messages submitted to the multiple interaction channels and eventually categorize it either as a “Complaint”, “Compliment” or simply “Request”.
To orchestrate the flow going from the text analysis all the way to the final outcome – which could be a service call in the backend system or an auto-reply – we develop and deploy a Cloud Application Programming Model (in short CAP) micro-service. This micro-service endpoint will actually represent the single entry point for the whole process flow end-to-end.
So, messages coming from the multiple channels are posted to the CAP micro-service, which then, leveraging the destination service, submits them to the custom text classification service.
And the output – Complaint, Compliment or Request – is then, sent to the Business Rules service that determines the appropriate message routing.
Messages classified as Complaint or Request are routed to create service call in the backend system.
Finally, the customer experience analyst can view the prioritized service calls and quickly take the appropriate actions.
In the webinar presentation (February 28th and March 2nd) we show alternatives to this current architecture approach, and discuss in detail why we’ve chosen those components to build the solution, instead of other resources available in the very same SAP Business Technology Platform. I highly recommend you watch the session!
Custom Text Classification
It is time to dive deep on each of the elements we’ve chosen and how we have deployed it – we are going to start here with the custom text classification service based on an existing sentiment analysis library: the vaderSentiment. This is a powerful tool that allows us to analyze and classify text data based on its sentiment.
Essentially, it can tell us whether a given piece of text is positive, negative, or neutral in tone. We are then going to customize the API to respond as “compliment“, “complaint“, and “request“, instead of “positive“, “negative“, and “neutral“:
This normalization of terms will help us to have better semantics for the Business Users when dealing with the business rules.
If you are not a data scientist, you will need a solution that is ready to be deployed and utilized without a lot of additional work. And this is the main reason we chose an open source community library, like vaderSentiment.
Just to note, the vaderSentiment uses a combination of rule-based lexicon for the most obvious sentences and machine learning techniques to accurately classify challenging text data like sarcasm and irony.
Ok, so this approach was the best in terms of quick-time to develop the whole solution, and uses the MIT license which makes it relatively simple for developers to reuse the code in a variety of ways without hard restrictions or obligations, as long as they include the original copyright notice and disclaimer.
To allow the main orchestrator app to consume this library, we created a restful python application, using Flask framework to expose few endpoints. Deploying this component to Cloud Foundry is also a smart move, as we can quickly and easily deploy and manage our custom text classification service, ensuring that it is always available and running smoothly.
This 3-minute video shows how to quickly deploy it on SAP BTP Cloud Foundry:
And here is how we’ve changed the endpoint to return the overall classification, which is going to be consumed by the orchestrator app:
Ok, so with this, the orchestrator service will now be able now to consume the APIs we have exposed and classify the customer’s incoming texts properly.
Then we need to know what to do with that, that is, what is the proper action to take in case we have a complaint, a compliment or a customer request. And this is why we need the Business Rules services.
SAP Business Rules
SAP Business Rules are deployed as part of the SAP Build Process Automation solution. It enables a cloud application developer to embed decoupled decisions into their applications. Using SAP Business Rules we can simply make changes one time, in one place and then multiple applications/solutions can call the service thereby reducing time and effort as changes occur.
In our use case it will be used to look at the classification calculated by the Custom Text Classification Service and based on that decide the action to take to respond to the customer. We want to give flexibility to the company to change the routing without having to change the code.
SAP Business Rules exposes it’s services through API’s that can be consumed by external applications. That is how the orchestrator app will know what to do for each customer’s text handled:
So far we have two services: one to get the customer’s text classified, and the other to decide the routing.
It provides a “golden path” for agile development of true cloud native applications, fully base on business domain models, relying on proven best practices for cost effective software development and business value achievement.
The framework is available for NodeJS and Java languages, natively serving Fiori UIs through semantic annotations – other UI frameworks supporting generic annotations can be used as well.
It is database agnostic, with native support to SAP HANA and SQLite, serving HTTP requests out-of-the-box based on the OData v4 protocol by combining SAP and open source technologies.
So, based on domain-driven data models, CAP serves a variety of service consumers via the OData protocol in a resilient and secure approach. The only thing developers should care about is the business domain and take advantage of CAP’s “grow-as-you-go” approach to iteratively and incrementally enhance their CAP services.
The backbone of CAP is the so-called “Core Data Services” (in short CDS). So, leveraging the “code first” approach, you start by defining your domain model, which is then reflected in a database. Then, on top of it you create service definitions and add business logic as service handlers, which are easily interpreted by the CAP runtime. You can also add UI annotations to your service entities to be interpreted by some UI framework such as Fiori Elements.
This is the main reason why we have chosen CAP to build the orchestrator microservice: because it can be easily extended to accommodate its own domain model.
You have reached the final step, where we show you the implementation of the orchestrator along with an end-to-end demonstration of the prototype running. It’s a 29-minute video which is worth to watch. Enjoy!
Stay tuned and check the full calendar here to register for the upcoming sessions!