Dynamics NAV/365BC & built-in Machine Learning applications – Let’s have a look inside!

Machine Learning is everywhere. It does promise a bright future with auto-pilots and self-driving cars. And it brings nightmares with facial recognition and self-fulfilling prophecies. But because Dynamics NAV and Business Central are straight business, let’s keep things easy and have a look at Machine Learning applications, which Microsoft integrates into NAV 2017, NAV 2018 and Business Central.

Microsoft offers with the Azure Machine Learning Studio a visual platform to process any kind of Machine Learning (ML) applications. With NAV 2017, Microsoft integrated a connector, which makes it possible to send and receive data to and from the Azure ML studio. The NAV Team published an explanation how to integrate a custom Azure ML-solution into Dynamics NAV and Business Central here. In case you are interested in general information about Machine Learning, please have a look at my blog post A short introduction into Dynamics NAV and Machine Learning.

Microsoft combined different kinds of ML-application into services. The “Cortana Intelligence”-service is driven by table-structured data (like Customer Ledger Entries, Item Sales etc.), whereby the “Computer Vision”-service is used for any kind of image/video-analyzing applications. Both services are combined into the suite “Cognitive Services”. Microsoft did create the Cognitive Services-suite to be able to offer the benefits of Machine Learning to businesses and developers who do not have a background in Machine Learning.

Now, with the introduction done, let’s have a look into the applications which Microsoft thinks are useful for the everyday business. Microsoft integrates 4 basic ML-applications which differ by NAV/365BC version. The following list will contain information about which version comes with which ML-application.

Cash Flow Forecast

VersionNAV 2017, NAV 2018, Business Central on-premise, Business Central Cloud
Azure ML subscriptionYes, necessary
Further informationhttps://docs.microsoft.com/en-gb/dynamics-nav-app/finance-setup-cash-flow-analyses

The ML-integration analyses the Cash Flow based on the existing transactions and provides a suggestions for the upcoming months. For example, the existing receivables (invoices, manual revenue etc.) are analyzed by date and amount. Based on this information, the ML-model tries to find a pattern and estimates the amounts of the next periods. When ML is enabled, the Cash Flow Forecast automatically predicts receivables, payables and taxes. The predictions are distinguishable from the other, “real” Cash Flow entries. A Cash Flow Forecast supported by ML can be useful to consider the payment-behavior of customers into the Cash Flow – not all customers pay always on time!

Unfortunately, this ML-application does not help with the setup of the Cash Flow Forecast, nor does it help with Manual Revenue and Manual Expenses. It is still necessary to setup the Chart of Cash Flow Accounts in a manner that suits the business. Manual Revenue and Manual Expenses are – as it the name suggest – manual. So, no help here.

Cash Flow Forecast Chart with Cortana Intelligence (ML)

Sales and Inventory Forecast

VersionNAV 2018, Business Central on-premise, Business Central Cloud
Azure ML subscriptionYes, it’s necessary
Further informationhttps://docs.microsoft.com/en-gb/dynamics365/business-central/ui-extensions-sales-forecast

This integration predicts the sales and the inventory based on Item Ledger Entries. After setting up the Azure ML subscription, it is possible to upload historic item transactions and process them for predictions. Actually, the Sales and Inventory Forecast does use the same ML-model as the Cash Flow Forecast. Both forecasts are a time series forecast. A time series forecast predicts the future using series of data points indexed in time order – so yes, both forecasts can use the same ML-model.

In my personal opinion, the Sales and Inventory Forecast is a great tool to predict and visualize stock transactions for the upcoming periods. I recommend to activate this feature and use it as a start for ML with Azure. The NAV Team has published a blog about details on how to setup the ML-model in Azure here. I recommend reading it and trying it out. Unfortunately, the integration does not consider the Production Forecast/Demand Forecast.

Sales Forecast

The Late Payment Prediction Extension

VersionBusiness Central Cloud
Azure ML subscriptionindividual Azure ML subscription is optional
Further informationhttps://docs.microsoft.com/en-gb/dynamics365/business-central/ui-extensions-late-payment-prediction

This ML-application can be used to predict if an invoice will be paid on time. The prediction is based on Customer Ledger Entries and can be used to fine tune Customer Payment Terms or make the life of the Credit Controller a little bit easier. The prediction can be based on either a shared model which is maintained by Microsoft or an individual model. The idea is, the more data exists to train the Model, the better the predictions will be. But, as of today (27/12/2018), the shared Model does provide a Model Quality of 0.50 only. An individual model based on the CRONUS UK data provides an Model Quality of 0.86.

For this integration it is not necessary to have an own Azure ML subscription. Microsoft offers to use this ML-application for free, but limits the processing time to 30 minutes per month. Unfortunately, although this ML-application can benefit any business, Microsoft decided to offer the Late Payment Prediction to customers who are using Business Central in the cloud only. I think this could be a long term strategy by Microsoft to make the cloud-version of Business Central more attractive for small companies without internal or external IT-support.

The Late Payment Prediction Extension in the Customer Ledger Entries

Image Analyser

VersionNAV 2018, Business Central on-premise, Business Central Cloud
Azure ML subscriptionBusiness Central Cloud: individual Azure ML subscription is optional; NAV2018 & BC on-premise: Azure ML subscription necessary
Further informationhttps://docs.microsoft.com/en-gb/dynamics-nav-app/ui-extensions-image-analyzer

The Image Analyser is a tool which analyses a picture of a person or product and returns common characteristics. For persons (in Contacts), the result contains information about gender and age. For products, the ML-model tries to identify product attributes like color, shape and general identification (Is it a chair or a table?). I’ve put the Image Analyser in the last spot of this list, because this tool does not add much value to the everyday business in my opinion. It’s nice to show some “Machine Learning magic”, but the maintenance of Item Attributes is an easy task. It is also mostly determined by specific rules which attributes to add (and what values to choose), because the Item Attributes are supposed to support the Sales-process. Identification of gender and age for Contacts might be a nice feature, but this information does not add much value to my data in general. The Salutation Code contains the gender in a functional way already and the age-recognition was not very good in my test — And, what should I do with the age in my Contacts anyway?

Maybe this is the reason why the Image Analyser is not integrated for all versions in the same manner. The Business Central Cloud version offers the most comfortable integration. It is possible to use the service for free without an own Azure ML subscription. The free service is limited to 100 pictures per month and Microsoft claims the right to keep the pictures for it’s own purpose (of course). Alternatively, it is possible to use it’s own Azure ML subscription too.

For the NAV 2018-version it is necessary to provide an own Azure ML subscription and ML-model. The use of the model is limited by the type of Azure ML subscription. Finally, the Business Central on-premise version is capable to integrate the Image Anlayser, but it is necessary to install the Extension manually and to provide an own Azure ML subscription and ML-Model.

Image Analyser on Contact-Page – my age is wrong by 10 years …

That’s it

Did I miss an integrated ML-application? Let me know your comments or questions below.