Checklist NTO AI 2026 Stage 2 (qualifying), engineering tour · 3.1.2 task
Predicting the Rating of the Next Book Read
Russian title: Прогноз оценки следующей прочитанной книги
Predict the rating a user will give to the next book they read, from chronologically split interaction history.
The task
A large online book platform logs user–book interactions. Training data (train.csv) cover the history up to a moment in time; test.csv contains exactly one future (user_id, book_id) pair per user, and the participant predicts the rating the user will give that book.
Only "warm" users appear in the test (at least one has_read = 1 record or at least three has_read = 0 records in train.csv). Book and user metadata and book descriptions may be used; the baseline uses TF-IDF and BERT text features.
Abridged and translated by SOTA from the official Russian materials. The official statement has the exact rules, and it wins wherever this summary differs.
In English
This task was published in Russian. SOTA translated its 5 files into English on 16 September 2026.
- Task statement Russian original of Task statement
- Task description Russian original of Task description
- Data description Russian original of Data description
- Official solution (from the task collection) Russian original of Official solution (from the task collection)
- Baseline README Russian original of Baseline README
Read the task statement in English
Predicting the Rating of the Next Book Read
English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].
3. Second qualifying stage
3.1. Engineering tour
3.1.1. General description of the tasks
At the second qualifying stage, the Olympiad participants are asked to solve practice-oriented machine learning tasks on data from a large online book platform.
The tasks test the ability to:
- work with tabular and text data,
- build features, train and validate models,
- produce correct solution files for automatic checking.
The stage consists of two tracks:
- individual track: a regression task — predict a user's rating for the next book read;
- team track: a ranking task — order a list of candidate books by three-level relevance.
Educational programme
Within the second qualifying stage, participants are asked to complete tasks covering the following key competencies:
- recommender systems,
- machine learning on tabular data and working with sparse features,
- text processing (e.g. TF-IDF),
- regression and regression quality metrics (RMSE, MAE),
- ranking (Learning-to-Rank) and ranking quality metrics (NDCG@20),
- reproducibility and self-containedness of ML solutions.
To master these areas and raise their level of preparation, participants have access to the following educational materials:
- Competency 1: general training in machine learning — a machine learning course, basic level https://ai-academy.ru/training/courses/kurs-po-mashinnomu-obucheniyu-osnovnoj-uroven/.
- Competency 2: advanced machine learning methods and neural network technologies — a machine learning course, advanced level (advanced machine learning algorithms: gradient boosting, SVM, clustering and dimensionality reduction methods; natural language processing with neural networks; development and deployment of neural network solutions, including Telegram bots) https://ai-academy.ru/training/courses/kurs-po-mashinnomu-obucheniyu-prodvinutij-uroven/.
- Competency 3: practical preparation for competitive tasks in machine learning and data analysis — the "AI Vector" (Vektor II) bootcamp (preparation for the "Artificial Intelligence" profile of the National Technology Olympiad; going through the full competition cycle: dataset analysis, feature construction, model training, validation and uploading a solution to the leaderboard) https://ai-academy.ru/events/vector-ii-autumn/.
3.1.2. Individual tasks
Introduction
In the individual part of the second qualifying stage, the participant builds a model that predicts the rating a user will give to the next book they read. The data are split chronologically:
- training is done on the interaction history up to a point in time,
- the test contains the next interaction in the future for each user.
Task 1 (100 points)
Predicting the rating of the next book read
Topics: recommender systems, regression, working with sparse tabular data, feature engineering, text processing.
Statement
A large online book platform collects data on users' interactions with books. The data are split chronologically into several parts. This stage models a real-world situation: there is a history of user interactions up to a certain point in time (train.csv), and the rating for their next interaction in the future (test.csv) must be predicted.
You need to develop a machine learning model that, based on a user's interaction history (train.csv), predicts the rating (rating) that this user will give to the next book they read.
Features of the setting:
- time gap: training and test belong to different chronological periods;
- only "warm" users: the test set includes only users who have a sufficient history in the training set (criterion: in
train.csv, at least one record withhas_read=1or at least three records withhas_read=0); - one prediction per user:
test.csvcontains exactly one pair (user_id,book_id) for each user.
The data and the file formats are provided on the page: https://ods.ai/competitions/nto25-26-2-individ/dataset/.
Note on formats:
- the source data are provided in CSV, where the field separator may differ (see the accompanying data reference);
- the solution file (submission) is a CSV with a comma (,) separator, see "Solution format (submission)" below.
Constraints, submission format and scoring (from the collection's Solution/Answer sections)
Constraints:
- using external data not provided by the organisers is forbidden;
- the solution must be reproducible and self-contained; it must not depend on internet access when the pipeline is reproduced and the final submission is prepared.
Solution format (submission):
- a CSV file with a comma (,) separator;
- columns:
user_id,book_id,rating_predict; rating_predictis a real number in the range from 0 to 10 (rounding is not required; the checking system will clip the values to the range );- the file must contain predictions for all pairs from
test.csv(the order of the rows does not matter; a header is allowed).
Evaluation metric: the final Score is computed from two regression metrics (RMSE and MAE) and normalisation by the width of the rating range ().
The answer is the submission file submission.csv uploaded to the competition page, in CSV format with the columns user_id, book_id, rating_predict.
Scoring details:
- The public leaderboard (Public) is computed on the visible part of the test data.
- The private leaderboard (Private) is computed on the hidden part of the test data; the final results are determined by it alone.
- The limits on the number of submissions per day and for the whole stage are given on the competition page.
- For the result to be taken into account in the final selection of submissions, the participant must fill in the confirmation form.
The collection's solution for this task is in the separate solution file.
Translated by SOTA. The Russian original is the official version and wins wherever the two differ. The statement is the individual track of the second qualifying stage (pages 91–93 of the official 2025/26 task collection, including the stage overview). The data are on the ODS.ai competition page, and the task description and data reference come from the organisers' baseline repository. If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.
At a glance
- You get
train.csvandtest.csvplus metadata files described on the ODS data page (field separators may differ between files).- You submit
- CSV (comma-separated) with columns
user_id,book_id,rating_predict(real number in [0, 10]; clipped by the checker) for every pair intest.csv. - Scoring
- Score = 1 − (0.5·RMSE/10 + 0.5·MAE/10) (higher is better); final ranking by the private leaderboard; submissions must be confirmed via a form.
- Rules
- No external data; publicly available pretrained models are allowed (for example for text processing), per the ODS page.
- Solutions must be reproducible and run without internet access.
- Daily and total submission limits are set on the competition page.
- Format
- Stage 2, individual task (100 points); Stage 2 winners (who advance to the final) needed at least 129 points in total.