95638 - Operational Analytics

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Cesena
  • Corso: Second cycle degree programme (LM) in Computer Science and Engineering (cod. 6699)

Learning outcomes

This course focuses on transforming data into better decisions. Specifically, it covers how to model future data uncertainties, predict the outcomes of alternative policy choices, and select the optimal course of action amidst uncertainties. The course provides the broad knowledge and skill base required to design and implement prescriptive analytics solutions for real-world problems. The forecasting section relies on machine learning methods (including statistical, neural and ensemble methods), while the optimization section covers search, specifically heuristic search and basic operational research methods. To succeed in the course, you will need a basic knowledge of probability and statistics, integer linear optimization, and linear algebra. Intermediate knowledge of Python programming and Excel formulas and functions is also expected.

Course contents

The course is part of a data science curriculum and provides some tools for predicting short/medium-term management data (predictive analytics) and optimizing scarce resource allocation processes based on predicted data (prescriptive analytics). Elements of predictive analytics and heuristic optimization will be presented and integrated.
For the predictive part, the course proposes methodologies and techniques for analyzing, modeling and predicting univariate time series, with hints of multivariate ones.
It will be shown, compatibly with the available time, that forecast data can be elements of mathematical models of management processes in which to optimize the allocation of scarce resources.
The proposed tools are meant to be used in real business application cases, actual case studies will be shown compatibly with time, and/or demanded to final projects.
The scientific content of the course relates to the knowledge needed to develop an operational analysis module on data obtained from a business information system. Specifically, the following will be presented
- brief summary of stochastic models, random variables. probability distributions
- predictive models: statistical (ARMA, ARIMA, SARIMA), neural (MLP, LSTM, perhaps SVR if time permits) and machine learning/decision tree models (ensemble, random forest, boosting). The techniques already covered in previous courses will be briefly reviewed here and applied to examples of univariate forecasting using external predictors.

 - performance indicators, descriptive statistics, statistical significance tests. The tools already covered in previous courses will be briefly reviewed here.

- introductory integer programming models 
- hints to meta/math-heuristic solving techniques
The technological contents will be functional to the practical implementation of the mentioned module, which will be done standalone in python, although other environments and architectures are acceptable.
A full solution will be set up in the classroom and completed independently by each student, and may constitute the project for the exam.


Readings/Bibliography

Lecture slides.

Teaching methods

The course will be taught in English, unless each of you asks me otherwise.

I will teach in the lab as much as possible, in order to ensure a hands-on experience with the methods covered. In any case, students are encouraged to bring their own laptops to test the concepts covered online.

The algorithms will be coded, at the students’ discretion, in C# or Python. Excel will be used for rapid data analysis.

“Given the nature of the course and the teaching methods used, enrollment in this course requires that all students first complete Modules 1 and 2 of the e-learning course on safety in academic settings [ https://corsi.unibo.it/laurea/TecnologieSistemiInformatici/formazione-obbligatoria-su-sicurezza-e-salute ].”

----------------------------- From university guidelines:

Useful prerequisites to make the most of the learning experience: knowledge of basic algebra, Python programming, and Excel

The course is a single-subject course and is not divided into modules.

The content is also covered in exercises and labs that form part of the course.

Texts / Bibliography: The texts and bibliographic references are recommended only for further study, if desired.

Methods used: Lectures, group work, case studies, and exercises to be completed in the classroom or laboratory; in-person.

Recommendation if the course includes labs (even if only computer labs):

All students who, for study or research purposes, frequent the locations listed above are considered equivalent to workers with regard to their safety, and as such must be trained on the proper procedures to follow when engaging in activities involving specific risks.

Guidelines for computer labs: “Given the nature of the activities and the teaching methods used, participation in this training requires that all students first complete Modules 1 and 2 of the safety training for study environments via e-learning.”

 

Assessment methods

/The exam consists of the presentation of an individual project that each student will complete, related to the elements introduced during the course.

For students familiar with programming, the project will include both scientific and technological skills, which will be verified through the presentation. The project consists of a unified computer solution that includes most of the elements introduced during the course. The specific topic will be suggested by the candidates. Very complex solutions may be developed in groups of up to two students, subject to my explicit approval. The proposed solution must be able to run on the machines in the labs, and thus also on my course server.

Generally, unless otherwise agreed, the project will be a python solution. No jupyter notebooks are accepted, and only pandas, numpy, matplotlib and the libraries used in the transparencies can be included as additional libraries, unless otherwise is explicitly agreed upon.

Students with limited previous programming eperience will be able to present complex and economically significant case studies in detail, to which the same algorithms seen in lecture will be applied..

Active participation in lectures will entitle one to specific bonuses. The use of common datasets downloaded from the internet, to which only simple forecasting algorithms are applied, will limit the maximum score obtainable.

----------------------------- From university guidelines:

Methods of assessment and evaluation of learning: presentation of an individual project.

Indicate whether there will be midterm exams: no.

Indicate whether the exam requires assignments to be submitted before the exam date: no.

Specify the criteria for evaluating the exam and the corresponding grading scale: Evaluation will consider the student’s ability to describe the work by relating it to the theoretical concepts introduced in the course, mastery of the elements of the code presented, and ability to interpret models and results in terms of the problem addressed.

Always indicate whether tools such as calculators are permitted during the exam: the exam consists of a discussion of the code while it is running in debug mode.

Any specific instructions for registering for the exam: no registration list; appointment scheduled via email.

For students with learning disabilities (DSA) or other disabilities, please note the following:/

Students with specific learning disabilities (SLD) or temporary or permanent disabilities: it is recommended that you contact the relevant university office in a timely manner (https://site.unibo.it/studenti-con-disabilita-e-dsa/it); the office will be responsible for proposing any accommodations to the students concerned; these must, however, be submitted 15 days in advance for approval by the instructor, who will assess their appropriateness, including in relation to the course objectives

Regarding the use of generative Artificial Intelligence (AI) in exams: if you include AI-generated code, you must be able to justify every single line of code you submit. Any uncertainty in this regard will result in a request to retake the exam at a later date.

Teaching tools

Lecture slides will be downloadable before the corresponding lecture.

Office hours

See the website of Vittorio Maniezzo