Decision Optimization uses special algorithms to find the best course of action. It solves complex problems in which a human expert and conventional tools would struggle. Use cases include resource allocation, scheduling, and route planning.

Advanced Analytics uses special algorithms to search for patterns in data. It automatically detects the most important information in large data sets. It can learn from new data and finds insights that are too complex for a human expert to notice. Use cases include precise forecasts, extraction of interesting insights, and flagging of potential errors in data.

Showcase: Outlier Detection

Scanning through data row by row to check that everything is OK can be reliable when you have a couple of rows to check. But when you have real company data, you inevitably have large datasets with missing values, different units of measurement, and different orders of magnitude. Plotting the data helps a little but to quickly process large amounts of data with reliability, you should use advanced algorithms.

Outlier detection algorithms automatically detect suspicious values for you. They learn patterns from historical data and alert the user when some values do not fit into these patterns. They can tell you whether the value 142 for last year’s December is within the normal limits or not. They can also tell you if a value 0 in February seems like someone forgot to input the value or if it is a legitimate value.

To check your data for suspicious values you can use a visualization of outlier detection algorithm results. For example, you could have different costs organized by the significance of the suspicious values. This allows you to go through the potential errors in data starting from those with the most dramatic effect. Instead of going through all values manually, you can concentrate only on those graphs that the algorithm has flagged as requiring inspection.

Showcase: Time Series Forecast

Creating forecasts manually is often either laborious or based on very rough estimates. Sometimes these are no better than a copy-paste from the previous values. At other times, a professional adjusts the values here and there to consider some foreseeable changes. However, forecasting can be made both more accurate and automatic.

With predictive analytics algorithms, several forecasts can be created in seconds by pressing a button. These algorithms dig into historical data, uncovering trends and seasonal behavior. The algorithms learn the behavior hidden in the data and create intelligent forecasts.

The user can provide the algorithm with additional information to further enhance the forecast. For example, when forecasting the electricity consumption of a factory, the user can provide information on planned production volumes. The algorithm will then consider historical data and its correlation with historical production volumes. Based on this, it will forecast the electricity consumption taking into account the planned production volumes.

The professional no longer needs to create forecasts by hand. Instead, they inspect the results given by the algorithms and provide additional input when available. This allows them to use their time on more productive work, such as creating scenarios and considering the implications of the forecasts.

Showcase: Decision Optimization

This example deals with machine maintenance scheduling, but the same principles apply to scheduling medical treatment, work shifts, transportation, etc. The optimizer forms a schedule for each machine. This schedule includes specific work tasks and dynamically allocated maintenances.

There can be several types of machines, each requiring different kind of maintenances. A machine needs to visit maintenance before a maximum working hour limit is exceeded. Thus, every work task allocated to that machine changes the maintenance deadline. Furthermore, some maintenances may need to be completed in certain order. How can we deliver our work on time while still making sure that we keep our machines in top shape?

Optimization problems such as this are very difficult to solve manually. Even with a couple of machines this kind of scheduling becomes very time-consuming for a human to plan. In a real-life problem there may be hundreds or even thousands of machines, making it impossible to get anywhere near the optimal solution without an optimization algorithm. A proper optimizer dramatically saves planning time and improves outcomes