“Smarter” Applications with SAP Predictive Microservices
While Predictive Analytics encompasses a number of topics from statistics to artificial intelligence, today I’d like to focus on one in particular called machine learning which provides a way for software to learn from historical data, from experiences,nu and uses the output to predict outcomes on new scenarios without being explicitly programmed on how to do so. Machine Learning is increasingly enabling our partners to gain greater value and a competitive advantage from their application data by turning it into valuable and actionable information. Predictive insights can be gleamed from almost any dataset as long as there is enough history available to support the model training process.
Take for example a Manufacturing Execution System (MES) which is used to monitor all manufacturing processes on the shop floor in real time. Up until recent, these systems were created to be reactive, alerting folks to problems as they occur in order to minimize downtime and maximize productivity. These systems already have the data or can easily be configured to collect the data from all connected assets on the shop floor, which means they are ready to become “predictive execution systems”. Their value now becomes the ability to prevent failures in the first place while reaching for a goal of 100% uptime. That could translate into millions of dollars for any manufacturing business! McKinsey Global predicts that the Internet of Things will generate up to $11T in value to the global economy by 2025. For any ISV, that’s a lot of market share to tap into.
But machine learning isn’t just limited to IoT scenarios, it has broad applicability across virtually all verticals. If we look at an entirely different example within Financial Services, banks, today, are faced with huge challenges from digital disruption. Fintech’s (software companies that are disrupting traditional banking) are challenging the norm with mobile payments, instant loans, money transfers to friends and colleagues. And with millennials overtaking the baby boomers as America’s largest population, banks need to be prepared to engage with this group in a completely different way.
Millennials have very unique needs in that they choose to interact primarily through their mobile devices, yet they expect a high level of customization when it comes to product offers and their experience with their financial institution. Millennials are 2-3x more likely to completely close all accounts with their financial institution in order to switch to another for a better experience than any other age group. This translates into a high amount of churn that banks haven’t had to deal with in the past, at least not on this level. How can they meet these needs while continuing to grow and bring on new customers?
Banks sit on a treasure trove of data that most new Fintech’s don’t have. They’ve been collecting data on their customers for decades and know where they like to shop, where they pick up dinner on the way home, where they vacation, etc. And they also have visibility into your behaviors such as surveys, unsatisfactory calls with an agent and social media. When we marry all this data together and add machine learning to it, banks have a very powerful way to combat digital disruption by again, being proactive instead of reactive.
With this mountain of information, banks are looking for “smarter” CRM’s and core banking systems to help them provide customized services and product offers based on each individual’s needs as well as help them increase a customer’s lifetime value as it costs significantly more to bring on new customers than retain existing ones. These are just a couple among tens if not hundreds of uses machine learning can enable and provide immediate ROI within Financial Services.
Hopefully the examples in manufacturing and financial services have got you thinking about some of the new and interesting insights machine learning can draw from your own datasets. As an ISV, how do you begin to access and take advantage of the value that predictive can bring to your applications without the added burden of hiring data scientists and spending huge amounts of money on machine learning software licenses?
SAP has enabled this scenario by taking its patented automated machine learning product called SAP Predictive Analytics and delivering them through small, purpose built, microservices through the SAP Cloud Platform. The microservices are built on REST technology, meaning that any development language whether it be Java, .NET or PHP, can call the services to kick off a machine learning job and get back a result to handle in an actionable way.
To back up momentarily, if you haven’t heard of SAP Predictive Analytics, here’s a short intro; , in 2013, acquired a company called KXEN which took a different approach to Predictive Analytics than your traditional vendors such as SPSS and SAS. The technology behind KXEN’s solution was based on Vladimir Vapnik’s theory on structural risk minimization (SRM). This allows the technology to take in N variables and create models of increasing complexity on which one is selected based on quality (risk of over and underfitting of model) and the VC dimension (a measure of the capacity of the model to be applied to new data). In layman’s terms, it means that as an end user, you simply provide a training dataset and let the machine learning process provide you the best possible model to deploy. It doesn’t get any easier than that and it doesn’t require a mathematics degree either! This is the same great technology powering the SAP Predictive Services in the cloud and available through easy consumption using REST.
Getting access to these services is pretty straight forward. You’ll need an SAP Cloud Platform account with Predictive Services enabled in order to store the data that will be used for model generation. All of your data is stored in the underlying SAP HANA instance which allows you to take advantage of the inherent speed that comes along with storing data in-memory and the end result is drastically reduced times for model building.
The SAP Cloud Platform also offers many other services including UX, authentication, IoT, and more for you to utilize within your custom applications and you can get details on those here. There are many deployment models when it comes to microservices so you don’t have to necessarily re-platform if that’s not your direction but let’s point out some of these:
- Completely new application in SCP – this involves creating a new web application in the SAP Cloud written in Java/HTML5 that could present the results of the predictive models through the web interface and be a standalone application or an extension to an on-premise system
- Predictive Sidecar – You may already have a cloud application out on AWS or Azure but want to use the automated machine learning within SCP. Storing training data and the data you need scored within SCP and consuming the REST services from your application would allow for a cloud-to-cloud architecture.
- Predictive Business Process Driver – Sometimes predictive models don’t need to be analyzed by a human but rather an instant decision needs to be made to drive an action. Tesla’s autonomous capabilities for example utilize cloud algorithms where new information is sent and scored and that score is what the vehicle acts on. This same concept can be applied to your software solutions without having to deploy complex predictive software.
If any one of the architectures above seem like they would be a good fit, then this last section will fill in the missing piece and answer what exactly the Predictive Services can do for you. There are essentially 7 services available to you outlined below:
- Clustering: Segments your data into like clusters such as brand based clusters, product based clusters and behavioral clusters. An example of this could be where you want to identify similar customer populations in order to create or improve on targeted and relevant marketing campaigns.
- Outlier Detection: Identifies those data points that don’t fit in with the rest and are significantly different. Great example use cases of this can be tasks like insurance or bank fraud detection or network intrusion detection in the case of data center operations solutions.
- Time Series Forecasting: Allows you to create a forecast based on a time series. There are a lot of use cases for this but a great one that applies to all of us is being able to go to the store and find our products on the shelf instead of out of stock. In order to optimize inventory without over/understocking, the stores inventory systems should utilize predictive to look at past sales taking into account seasonality and suggest the right amount of stock to meet demand.
- Recommendations: Generates a recommendation list per customer or for a group of customers. You interact with this type of model each time you purchase on Amazon and the site suggests other items you may like. If you’re creating software for retail institutions, this would give the sales person the power to offer relevant products or services based on past purchases resulting in a greater chance of completing the transaction.
- Key Influencers: Allows you to provide N number of variables with a target variable and the model will provide a list, in order of impact, on the contribution to that target. For example, if you provided profit as your target and a number of other data points, the model would remove all variables that had no impact, and give you an ordered list of variables that directly impacted profit. This is extremely helpful in better understanding what drives that target and what you can do to increase/decrease it.
- What-if simulations: This model allows you to provide input and view the impact of that on an outcome. Similar to the above except you’re given the ability interact with the model for decision making. You can change inputs to revenues or costs and see what impact those changes would have to your end of year profits. This could be used to power an interactive dashboard for executives.
- Scoring: Allows you to generate models to score the likelihood of an event in your data. These models allow to model scenarios such as propensity to buy, customer or employee churn, loan defaults, and numerous other applications where you want to predict an outcome and use the generated percentage score to decide on an action.
Hopefully this blog has provided some useful information on the cool new Predictive microservices from SAP and inspired you into thinking of ways you can make your own apps a little more intelligent through machine learning. If you have a developer account on the SAP Cloud Platform, log onto your cloud cockpit and under Services, ensure you have the Predictive Service tile available (as shown below) and in the “enabled” state. Then start with the SAP Predictive Service user guide for instructions on how to assign datasets and call the modeling processes through the REST API’s.
If you have a full SAP Cloud Platform account and don’t see the Predictive Service tile or you’re new to SCP and would like to learn more about this service, please visit the SAP Cloud Platform Predictive Service Start Kit page for more information. When you’re ready to begin testing these services, please contact your SAP Embedded Channels representative today to have a chat and learn more!