Expanding SAP Systems with AWS - Part V
Previously we have discussed:
In this week’s blog let’s look at Amazon Machine Learning services and how we at SeaPark used one of these services to analyse and enrich data extracted from SAP.
Amazon Machine Learning (ML) Services
AWS is home to a vast number of ML services. Each of these services is unique with one strong underlying ethos in common. That is to help customers get more from their data and lower costs in the process. To date, there are 100,000+ customers using AWS to run their machine learning workloads. These customers have seen up to 10x improvement in data scientist productivity.
AWS ML services can help improve traditional machine learning methods which lack agility and cannot capture the increasing number of demand signals. These services can also help increase key principal involvement and remove the lengthy process of developing new models and uncovering new patterns in your data. Market leaders investing in ML-driven services to meet demand tend to see a 20% accuracy improvement, a 3% increase in revenue and are 20x more likely to acquire new customers.
So, what kind of ML services does AWS offer its customers:
Amazon Rekognition: offers pre-trained and customisable computer vision (CV) capabilities to extract information and insights from your images and videos.
Amazon Translate: is a neural machine translation service that delivers fast, high-quality, affordable, and customizable language translation.
Amazon Forecast: is a time-series forecasting service based on machine learning (ML) and built for business metrics analysis.
Amazon Textract: is a machine learning (ML) service that automatically extracts text, handwriting, and data from scanned documents. It goes beyond simple optical character recognition (OCR) to identify, understand, and extract data from forms and tables.
These are only a few of the most popular services offered by AWS. More information about these services and the other ML services offered by AWS can be found here.
Today I want to focus on Amazon Forecast and how SeaPark used this tool to predict sales demand based on data extracted from a test SAP tenant.
Amazon Forecast is a fully managed service, removing the need for you or your teams to manage infrastructure. In just a few clicks you can produce an accurate forecast, even without prior ML experience. This is thanks to Forecasts auto ML features and its no-code approach. You simply upload your data along with any relevant metadata and Forecast handles the rest. This process can even be automated to meet your schedule (daily, weekly, etc.).
While you are busy looking to the future of your business, Forecast automatically tracks the accuracy of your model over time as new data is added. This allows you to quickly respond to external factors such as consumer behaviour and make well-informed decisions such as whether to retrain or rebuild your predictors.
Amazon Forecast also helps you explain to key parties within your organisation what predictors are driving your forecasts such as product price, holidays or weather. You can then tailor your business operations to leverage these predictors.
Lastly, Amazon Forecast can generate probabilistic forecasts. These forecasts can be produced with three different quantiles (10%, 50% or 90%). You can then select a forecast that suits the needs of your business. For example, is the cost of capital (over forecasting) or missing customer demand (under forecasting) of the most importance?
To begin we simply selected the time series data we wish to model from our S3 bucket. Optionally you can upload “Item metadata data”. This dataset would include metadata information about the items in the target time series or related time series datasets. For example, if you are forecasting item demand, an item metadata dataset might include colour or brand. A “related time series dataset” could also be uploaded this should not include the target field. For example, a related time series dataset might include the price as a field.
Next, we can create a predictor by giving it a name and setting the forecast frequency. This is setting the frequency at which your forecasts will be generated. In the screenshot below you can see I want to generate an hourly forecast. However, the frequency ranges from minutes to years. Then you can select which Forecast quantiles will be produced depending on your needs (over/under forecasting).
We can then tell Amazon Forecast which optimization metric we would like to use to optimise our predictor i.e., which accuracy metric is most important to you. Amazon Forecast will then use these accuracy metrics to tune hyper-parameters during backtesting. At this stage, we can also activate explainability and predictor monitoring. Explainability allows you to determine the factors/predictors that are driving your model. Predictor monitoring allows you to track the accuracy of your predictor as time progresses.
Optionally, we can also choose to include weather and holiday data to help improve the accuracy of our model.
Your predictor will then take some time to train. In our case, it took approximately two hours. Once trained you can then use it to generate a forecast. To create a forecast simply give it a name, select the previously created predictor, and enter the quantiles you wish to view. Lastly, you can select whether you want Forecast to generate a forecast for all the items in the dataset or selected items – this depends on your business case.
Finally, you can query your forecast allowing you to see Amazon Forecasts predictions for the days, weeks, and months ahead. This data can then be consumed by your reporting tool of choice. We selected three tools to consume our forecast data (SAP SAC, Amazon QuickSight and Tableau). Note, in the screenshot below we generated a forecast based on historical data (2014) to determine the accuracy of this service. The blue, navy and orange lines are Amazon Forecasts predictions (P10, P50, P90). While the green line is the actual sales for November 2014.
We hope you have enjoyed the fifth blog in this series and follow along as we continue the process of helping you add value to your data housed in SAP.
If you or your colleagues have further questions or queries, please do not hesitate to contact us at firstname.lastname@example.org