Let’s put the buzzwords to the side and have a look into the current possibilities of Machine Learning from a Dynamics NAV and Dynamics 365 Business Central point of view.
Microsoft sets its own standard to play in many fields as possible. The hardware-department might be have become more successful the recent years, but the software was always strong. Therefor it’s not a surprise that Microsoft offers a Machine Learning environment to it’s clients since early 2015. And since Dynamics NAV 2017, it is possible to integrate the Azure Machine Learning Studio through a WebService. Of course, it is possible to integrate Machine Learning solution in many ways by utilizing the data on the SQL-Server. This article highlights the built-in integration of Azure Machine Learning Studio.
What is Machine Learning
Let’s have a look what Wikipedia says about Machine Learning first:
Machine learning is a field of computer science that often uses statistical techniques to give computers the ability to “learn” (i.e., progressively improve performance on a specific task) with data, without being explicitly programmed.
Under the hood, Machine Learning consists of algorithms that are utilizing statistical models and algebra to calculate a possibility how a new data set compares to already existing data sets. The result of this comparison is a predicted outcome. For instance, using a data set of house prices based on size, it is possible to predict the price of a house which comes new onto the market. The following spreadsheet demonstrates an existing data set.
Using the data set as shown in the spreadsheet above, it would be possible to predict the price of a new house with the following criteria: Floor space 90, Rooms 4, Lot size 101, Apartment 0, Row house 1, Corner 0, Detached 0 (probably around 275000)
The name of the approach of above example is “supervised learning”. The results are compared with existing correct results. This way, it is possible to verify the quality and accuracy of the solution during the development. In the world of Machine Learning are also solutions for “unsupervised learning” available. But, because the data in Dynamics NAV is well structured and labelled, it is not necessary to hand over the classification of data to a ML solution.
Machine Learning in general is based on mathematical concepts. Therefor theoretically every programming language supporting mathematical library could be used.
What is Machine Learning … not
Tackling a problem with ML is the same as tackling a problem with Dynamics NAV (or 365BC). In the first instance it is necessary to define, analyze and weight the problem. As for any development in Dynamics NAV, it is necessary to measure the impact on the business. Furthermore, it is important to value the result. And last but not least, the costs must be justified in the end. These basic questions are necessary, because Machine Learning itself is not a finished product which will solve any problem out of the box.
The concept of Machine Learning is very loose and – the same as developing in Dynamics NAV – there is no guarantee that the outcome is correct. The involved persons do need comprehensive knowledge about the possibilities of Machine Learning. Furthermore, during the development, it is necessary to consider individual characteristics of the business. It is also necessary that the persons who will work with the final Machine Learning solution know how to evaluate the results.
The results of Machine Learning are predictions – they are not an exact outlook. Therefor the results of Machine Learning can offer a guidance only. The persons who are owning the process must take the final decision. Machine Learning is able to support only.
Machine Learning and Dynamics NAV/365BC
As mentioned earlier it is possible to utilize the Dynamics NAV/365BC data through the SQL-Server. The structure of the data is very well. It should not be a problem for an experienced expert to create Machine Learning solutions using any kind of software framework. But, this route might become complex – especially when no Machine Learning knowledge is available.
Microsoft is aware of this problem and did create the Azure Machine Learning Studio. Azure ML is a visual drag and drop web-solution to tackle problems using Machine Learning. It is possible in Azure ML to select and execute predefined steps like data transformation, calculation or scripts. This helps to understand the flow of data and to analyze problems. The connection between Dynamics NAV (and 365BC) and Azure ML is a Web Service which sends and receives data.
Thinking in the long route, it is possible to integrate Machine Learning seamless into Dynamics NAV. Actually, Microsoft did this in the Dynamics NAV 2018 version. Into the Item List, Microsoft integrated a FactBox called “Forecast”. The FactBox is able to show a forecast for the Inventory of the selected Item.
Machine Learning is a concept to solve mass data-driven problems. Predictions are able to enrich the decision-making process of every business. But, even when there is a nice, visual integration like Azure ML, it is necessary to learn what Machine Learning is. Starting to tackle a problem with Machine Learning without the right knowledge may lead into an result which harms the business.
Here is the russian version of this article: http://smart-it.com/ru/2018/07/introduction-dynamics-nav-machine-learning/