AutoForecast – Humanativa’s forecasting engine

Articles

This in-depth analysis introduces the theme of the “time-series” algorithms that are the basis of the concept of “forecasting” and on which Humanativa is investing in order to provide its customers with predictive services, considering urgent what the market is dictating: to have automatic forecasting both for customer-oriented business units (Customer Care, Marketing, Sales) and for business units oriented to the Production of the Product / Service.

The need of the Market: foecasting is a primary need

Today, having the availability of data in real-time or near real-time is a determining factor for the growth of a company because it helps to make its business strategies competitive. The latency of the availability of “updated” data is lowered more and more thanks to increasingly advanced technologies, which is why forecasting is becoming a “continuous” process and a “primary” need. For example, with the newest technology of 5G, data transmission latency is increasingly lowered favoring predictive ML services in real-time and near real-time.

Making forecasts, therefore, is no longer just a primary need of the IOT, of industrial prevention processes (Predictive Maintenance) or SmartCity services, but more generally invests various organizational structures of a company, from the relationship with its customers and their degree of satisfaction of a service, to the reduction of risks of the realization / operational / industrial process of a product,  continuous improvement of the quality of internal processes, cost management and return on investment.

Humanativa’s answer to the Market needs: Autoforecast

In Humanativa we started from the assumption that a modern Forecasting System must be based on the following fundamental concepts:

  • Follow the change of data over time and update quickly
  • Have the availability of temporal data
  • Follow a process that follows the principle of AutoML
  • Be an end-to-end service oriented to Cloud services

In addition to bringing into play the experience gained in the field of Machine Learning Services, we are following the principle of AutoML to accelerate and automate, where possible, the end-to-end process of Machine Learning and we are following the evolution of Cloud services that allow you to take advantage of progressive capabilities of both machines and above all calculation processing.

We therefore designed and implemented AutoForecast: Humanativa’s forecasting engine based on Machine Learning. This engine now available as a service, uses both a methodological approach and an efficient remodeling of the phases of the ML process that underlie the production of Forecast Models.

The goal we set ourselves was to make the forecasting process “industrial”, rationalizing and automating the components of some phases of the ML process in order to provide, as a service, an AutoML tool that was able to generate the best possible ML model according to the available data and the reference context.

The AutoForecast module has set itself the goal of covering three essential parts:

  • For the EDA (Exploratory Data Analysis) phase, to introduce deep data analysis techniques over time.
  • For the Model Production phase, to introduce an AutoForecast engine that, exploiting the results of the EDA phase analysis, was able to automatically define a protocol for the production of an efficient model.

For the MLOps phase: to automatically replicate Model and Pipeline in the different MLOps environments in the Cloud to prepare for Production.

 

Autoforecast

 

All the three phases mentioned above, appropriately remodeled, were essential in order to:

  • Automate the Model generation process (Modeling), simplifying its use for a domain expert, but at the same time allowing an expert Data Scientist to further refine the analysis or results of the Model.
  • Govern and monitor the efficiency of the final result (MLOps) of a predictive service by monitoring its accuracy and error reduction.
  • Automate re-training according to an optimization protocol determined by the best possible balance between production costs and the management of the sensitivity of the result.