The course opens with a definition worth memorising, because everything else hangs from it: operational analytics is the process of using data analysis to improve efficiency and streamline everyday operations. The emphasis on everyday is not decorative. It is what separates this discipline from the quarterly report and the annual strategy review.
Operational analytics is presented as a subset of data analytics (or business analytics), and it does not invent its own tools: it leverages business intelligence, data mining, artificial intelligence and machine learning. The novelty is in where the tools are pointed — at the operations themselves, at the shop floor and the delivery van and the maintenance calendar, rather than at the boardroom slide deck.
The slides list exactly three reasons why an organisation invests in it.
| Payoff | What changes |
|---|---|
| 1. Faster decision-making | Traditionally, businesses make reactive adjustments to their operations on the basis of a quarterly or annual data review. A business that can analyse and react to customer data in real time makes faster adjustments to its processes, increasing profitability and reducing waste. |
| 2. Faults and failures fixing | Detect problems and inefficiencies quickly, and respond to them rapidly. |
| 3. Increased productivity | See the inefficiencies that exist in the workflows, and change the processes accordingly to streamline operations. |
Notice the common structure of all three: a measurement arrives, a model turns it into an expectation about the near future, and a decision is taken now. That triple is the spine of the whole course, and it is worth drawing.
The contrast that defines the field is reactive quarterly review versus real-time reaction. Everything technical in the course — stationarity, ARIMA, LSTMs, tabu search — exists to shorten the loop between an observation and the decision it should trigger.
Before any formula, the slides pause on a slide bearing three Greek words from Aristotle's Nicomachean Ethics: ἐπιστήμη (epistēmē, with gnōsis alongside it), τέχνη (technē) and φρόνησῐς (phrónēsis). The point of putting them at the top of a data-analysis course is that the three kinds of knowledge are different things: knowing that, knowing how to make, and knowing how to act well. A forecasting course delivers the first two; the third is what the word operational is asking for.
The narrative then becomes concrete. Computer science was born around the Second World War in order to help solve problems, and the first problems — the biggest ones, the most deeply felt — were optimization problems. The slides quote Euler:
nihil omnino in mundo contingit, in quo non maximi minimive ratio quaepiam eluceat
— Euler: nothing at all happens in the world in which some rule of maximum or minimum does not shine forth.
From there two definitions close the argument. A (computer science) method to solve a problem is an algorithm. And — this is the sentence that justifies the entire predictive half of the course — solutions are computed for future instances of the problem. We are never solving today's instance for its own sake; we are building a machine that will be handed instances we have not seen yet. That is exactly why out-of-sample validation, which returns in chapter 2, is not a formality.
The Euler quotation is the hinge between the two halves of the course. The predictive half asks what will the value be?; the prescriptive half asks which choice is the maximum or the minimum? Chapter 10 picks the Euler line up again word for word.
The slides call predictive maintenance (PM) an archetypical application, and the adjective is exact: it contains, in miniature, every ingredient of the course.
PM is a technique to predict the future failure point of a machine component, so that it is possible to schedule its replacement before failure at minimum cost. Minimum cost here is a three-part objective, spelled out in the slides:
It works because it is based on the measurement of parameters that show a predictable connection with the component life cycle. The slides list them: vibration, noise, temperature, pressure, oil levels, electrical currents, corrosion. These are the exogenous variables of chapter 4 and the input features of chapters 5 and 6, seen from the factory floor.
Predict the future failure point of a component. This is a forecasting problem on a sensor time series — precisely the object of chapters 2 to 7. The horizon is short-to-medium term, in the vocabulary of chapter 2.
Vibration, noise, temperature, pressure, oil levels, electrical currents, corrosion. They qualify because they show a predictable connection with the component life cycle: without that connection there is nothing to learn. Note that they are multivariate, and that most of them will need the preprocessing of chapter 3 before any model sees them.
Replace before failure, at minimum cost, where cost is a compound of minimum maintenance resources, maximum device uptime and maximum process quality. A compound objective over a discrete set of possible schedules is a combinatorial optimization problem: chapter 10.
Having a good failure forecast is not the end of the story, and the slides are blunt about it. PM optimization tries to schedule maintenance before equipment fails but not before needed, avoiding the costs associated with repair and with production loss. Both halves of that sentence carry a cost: intervene too early and you throw away residual component life; intervene too late and you pay for a failure plus the lost production.
| Difficulty | Why the naive schedule fails |
|---|---|
| Dependencies (production plan) | If planned production is highest exactly when maintenance cost is at a minimum, it could be better to schedule early repairs, to avoid the peak production loss. |
| Dependencies (grouping) | It may be possible to group interventions in order to minimise total downtime — so components are not independent of one another. |
| Limited resources | If a given day is optimal for several components but fewer maintenance crews are available, some of those optima cannot all be realised. |
The slides then state the full problem: optimality for a set of components, subject to limited resources (e.g. maintenance crew availability), other constraints and dependencies (production plan and repair costs), and optimization metrics — minimum total cost, maximum customer satisfaction, meeting planned production, minimum late maintenance.
An illustrative cost model for the trade-off the slides describe. Move the sliders and watch the total-cost minimum shift: this is the "before failure but not before needed" point for one component in isolation.
Be able to say why predictive maintenance is not just a forecasting problem. The forecast gives one number per component; the schedule must respect limited resources (crews), dependencies (production plan, grouping of interventions) and a compound objective (min total cost, max customer satisfaction, meeting planned production, min late maintenance). Prediction feeds prescription; it does not replace it.
The second worked application in the introductory deck is a distribution problem, and it is the one that will reappear in chapter 10 as the generalized assignment problem.
A company has several retail points (supermarkets, SM) in a town, which are resupplied from logistic centers (LC). The rules of the game:
That last bullet is the whole course in one line. The revision is quarterly and prescriptive (which SM goes to which LC), but its input is a forecast (expected orders per store per sector). Get the forecast wrong and the optimal assignment is optimal for a world that will not happen.
Forecasting is one of the few fields with a long-running, public, adversarial benchmark, and the slides make sure students know it. Beginning in 1982, S. Makridakis has led groups of researchers from all over the world in conducting comparisons of various forecasting methods. Data from the M-competitions has been used by hundreds of researchers.
| Competition | Note from the slides |
|---|---|
| M (M1) | The original series collection, hosted by the International Institute of Forecasters. |
| M2 | Second round, same repository. |
| M3 | The set the exam project draws from; monthly series among others. |
| M4 | Dataset published on GitHub in the M4-methods repository. |
| M5 | Run as a Kaggle competition (M5 forecasting accuracy). |
| M6 | Consisted of online data. |
These are the series you will meet again as M3C_monthly.csv in chapter 4 and as the mandatory data source for the standard version of the exam project.
The contents announced on the first slides map onto the parts of this study site:
The teaching method is stated as hands-on, on-line implementation of all proposed methods, with the practical advice to bring your own laptop, since the work is done in Python and Excel. This is why almost every chapter of this site carries runnable snippets: they are the lesson, not an appendix to it.
There is no exam session: the exam is the discussion of individual projects, and the discussion happens upon request. Three routes are open.
Attend classes and upload the exercises done in class. This can earn a grade of up to 24, or credits towards other submission types. It is the route that rewards continuous presence: the exercises are the ones implemented live during the lectures.
Implement the standard project proposed by the instructor by the end of the course. This can earn a grade of up to 27. Section 8 details what "standard" means: three families of algorithms, two M-competition series from two different domains.
Implement a personal project working on your own data — explicitly not from internet repositories — which should include some of the advanced extensions mentioned during the course. This can earn up to 30 with honors. The "advanced extensions" are the sections this site marks as advanced: bootstrapping, spectral denoising, Kalman filtering, autoencoders, Optuna tuning, transformers.
The project specification for a.a. 2025/2026 is short and unusually precise. The final exam consists of the presentation and discussion of the code of a forecasting project related to the topics covered during the course.
| Required element | Detail |
|---|---|
| Data preprocessing and exploratory analysis | Chapters 2, 3 and 8 of this site. |
| At least three forecasting algorithms | One statistical method (AR, ARMA, ARIMA, SARIMA, SARIMAX, HW, theta); one neural-network-based method (MLP, LSTM or even transformers); one regression-tree-based method (random forest or XGBoost). |
| Evaluation and statistical comparison of forecasting performance | Not just a table of RMSEs: a test that the difference is real. Chapter 8, Diebold-Mariano. |
pandas, numpy, matplotlib, and the libraries referenced in the lecture slides. Any additional library must be approved by the instructor before submission.yolalaoh.# the shape the specification asks for, in skeleton form
import numpy as np, pandas as pd
series = load_series() # from M3 / M4 / M5, or your own data
train, test = series[:-12], series[-12:] # out-of-sample hold-out (ch. 2)
stat_fc = sarima_forecast(train, h=12) # one statistical method
nn_fc = lstm_forecast(train, h=12) # one neural method
tree_fc = xgboost_forecast(train, h=12) # one regression-tree method
yolalaoh = np.vstack([stat_fc, nn_fc, tree_fc]) # the mandated variable name
compare_statistically(test, yolalaoh) # Diebold-Mariano etc.
Three constraints are easy to lose marks on and cost nothing to respect: no notebooks, no unapproved libraries, and the variable named yolalaoh. The first two also imply that the code must run non-interactively on a machine that is not yours.
The standard version applies the three algorithms to two time series selected from the M3, M4 or M5 dataset, belonging to two different domains — such as microeconomics, macroeconomics, industry. Projects based on standard datasets or widely available public datasets will generally receive grades up to 27/30.
Higher grades come from projects based on original datasets, on data related to the student's personal or professional interests, or on case studies independently proposed by the students and relevant to the course topics. More advanced projects may be developed in groups of up to three students, but the discussion and evaluation remain individual, and all submitted solutions must still be executable on the laboratory machines and the instructor's server.
Students experiencing programming difficulties may focus more heavily on the analysis and discussion of relevant case studies; nevertheless, a minimum level of implementation is still required.
Final grades are based on: originality and relevance of the case study; quality and correctness of the forecasting methodologies; simplicity, quality and robustness of the software implementation; statistical evaluation and comparison of results; clarity and quality of the presentation; project complexity relative to group size; and any participation bonuses earned during the course.
Tick what your submission already has. The verdict follows the grading bands stated in the specification.
The three algorithm families are not interchangeable choices, they are a required trio: statistical, neural, regression-tree. A project with three neural models does not satisfy the specification. Chapters 4, 5 and 6 of this site exist to give you one confident member of each family.
Operational analytics is the process of using data analysis to improve efficiency and streamline everyday operations. It is a subset of data/business analytics and leverages business intelligence, data mining, artificial intelligence and machine learning. What distinguishes it is the target and the tempo: it acts on everyday operations in something close to real time, rather than on strategy through a quarterly or annual data review.
1. Faster decision-making — reacting to data in real time instead of making reactive adjustments after a quarterly or annual review, increasing profitability and reducing waste. 2. Faults and failures fixing — detecting problems and inefficiencies quickly and responding rapidly. 3. Increased productivity — seeing the inefficiencies in workflows and changing the processes to streamline operations.
PM is a technique to predict the future failure point of a machine component, so that its replacement can be scheduled before failure at minimum cost — minimum maintenance resources, maximum device uptime, maximum process quality. It relies on the measurement of parameters that show a predictable connection with the component life cycle: vibration, noise, temperature, pressure, oil levels, electrical currents, corrosion.
Because of three difficulties named in the slides. Dependencies with the production plan: if planned production is highest when maintenance cost is minimum, it can be better to schedule early repairs to avoid the peak production loss. Dependencies among interventions: grouping interventions can minimise total downtime. Limited resources: if a day is optimal for several components but fewer maintenance crews are available, not all optima can be realised. The problem is optimality over a set of components under constraints, with a compound objective (min total cost, max customer satisfaction, meeting planned production, min late maintenance).
A company has several supermarkets (SM) in a town resupplied from logistic centers (LC). Each SM is assigned to one single LC per merchandise sector (fresh food, canned food, stationery, drinks). LCs differ in warehouse capacity — partially flexible — and in warehousing cost. The forecasting step is in the last sentence: assignments and capacities are revised each trimester on the basis of expected SM orders. The optimization consumes a demand forecast.
A long series of empirical comparisons of forecasting methods, led from 1982 by S. Makridakis with groups of researchers from all over the world. Their data has been used by hundreds of researchers. The editions run M1 through M6; M4 is distributed on GitHub, M5 was a Kaggle competition, and M6 consisted of online data. The exam project draws its standard series from M3, M4 or M5.
Computer science was born around the Second World War to help solve problems, and the first, biggest and most deeply felt of them were optimization problems — the slides quote Euler on nothing happening in the world without some rule of maximum or minimum shining forth. Two conclusions follow: a computer-science method to solve a problem is an algorithm, and solutions are computed for future instances of the problem, which is why models must be validated on data they have not seen.
There is no exam session; the exam is the discussion of individual projects, upon request. (1) Attending classes and uploading the exercises done in class — up to 24, or credits towards other submission types. (2) Implementing the standard project proposed at the end of the course — up to 27. (3) Implementing a personal project on your own data (not from internet repositories), including some of the advanced extensions mentioned during the course — up to 30 with honors.
A statistical method — AR, ARMA, ARIMA, SARIMA, SARIMAX, HW or theta; a neural-network-based method — MLP, LSTM or even transformers; and a regression-tree-based method — random forest or XGBoost. All three are required, plus data preprocessing with exploratory analysis and a statistical comparison of forecasting performance.
Python only; Jupyter notebooks are not permitted; the submission must consist of executable Python scripts that run on the laboratory machines and on the instructor's server; only libraries used during the course (pandas, numpy, matplotlib and those referenced in the slides), with any extra library approved by the instructor beforehand; and at least one variable containing forecasts must be named yolalaoh.
The data and the ambition. The standard project applies the three algorithms to two M3/M4/M5 series from two different domains, and projects on standard or widely available public datasets generally receive up to 27/30. Higher grades come from original datasets, data tied to the student's personal or professional interests, or independently proposed case studies, plus the advanced extensions mentioned during the course. Group work up to three students is allowed for advanced projects, but discussion and evaluation stay individual.
The slide names epistēmē (with gnōsis), technē and phrónēsis from the Nicomachean Ethics. They separate knowing that something is so, knowing how to make something, and knowing how to act well in a particular situation. The course supplies the first two — theory of models and the craft of implementing them — but the word operational points at the third: the value of a forecast is realised only in the decision it changes.