Checklist VsOSh AI 2026 Regional Stage, Tour 2 (data analysis and machine learning) · C task
Apartment Rental Prices
Russian title: Стоимость аренды квартир
Clean a messy scraped rental dataset and predict apartment rental prices.
The task
Semyon scraped rental listings from several websites to find the best offers, but the data were collected carelessly and are "dirty". The contestant must process the data carefully and obtain the best possible rental-price prediction.
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 3 files into English on 16 September 2026. Only the words changed in the notebooks: markdown, code comments, messages and printed output. The code, file names and paths are the original's, so a translated notebook runs with the original data.
- Task statement Russian original of Task statement
- Full paper (all tasks of the tour) Russian original of Full paper (all tasks of the tour)
- Official editorial (all tasks of the tour) Russian original of Official editorial (all tasks of the tour)
Read the task statement in English
Apartment Rental Prices
English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].
All-Russian School Olympiad in Informatics 2025–2026, Regional Stage, Grades 9–11
“Artificial Intelligence” profile, Tour 2, 19 January 2026
Task C
Points for the task: 100
Answer submission format: uploading an answer file in .csv format
Number of attempts: 20
Submission that counts: the last one
Statement
While Semyon was preparing to solve the regional stage of the All-Russian School Olympiad and dreaming of how he would earn his BVI (university admission without entrance examinations), he decided to estimate what kind of apartment he could rent with the money he had saved from ML olympiads if he were not given a place in the dormitory next to the university. To do this, he scraped data from property rental websites and decided to build a model that predicts the rental price, so that he could then find the best deals. However, because the data were collected rather carelessly and from different websites, the dataset turned out to be quite “dirty”. Help Semyon process the data carefully and obtain the best possible quality of rental price prediction.
Input format
The following files are attached to the task:
train.csv- the columnpriceis the target variable. The other columns are features.test.csv- the columnidis the object identifier. The other columns are features.baseline.ipynb- a notebook with a baseline solution to the task.submission.csv- an example of the solution that you need to submit to the testing system.
Output format
You need to submit, as your submission, the file submission.csv containing two columns:
id- the identifier of the object fromtest.csv.price- the target variable you predicted.
Scoring
You can get up to 100 points for this task.
The data are split into a public and a private part. When you submit submission.csv, you are shown the result on the public part. After the contest ends, your result will be recalculated on the private part.
After the end of the stage, your metric will be converted to a 100-point scale according to the following rule:
- the result of the baseline solution (RMSE=21.046) is worth 0 points;
- the result of the author's solution (RMSE=13.8) is worth 100 points;
- results between these two points are distributed linearly.
Answer evaluation metric
This task uses the metric RMSE.
Strict mathematical definition of the metric RMSE:
— the true value, — the prediction, — the number of objects.
Example of computing the RMSE metric in Python:
from sklearn.metrics import root_mean_squared_error
y_true = [3.0, -0.5, 2.0, 7.0]
y_pred = [2.5, 0.0, 2.1, 7.8]
rmse = root_mean_squared_error(y_true, y_pred)
print("RMSE =", rmse)
Translated by SOTA. The Russian original is the official version and wins wherever the two differ. The official editorial archive (https://yastatic.net/s3/contest/roi/2026/ml/day2/editorial.zip) contains the data as train_C.csv and test_C.csv (columns Price and ID rather than price and id). Many category values in the data are in Russian; the editorial notebook glosses them in code comments. 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.csv(target column price and features),test.csv(id and features),baseline.ipynb,submission.csv(example).- You submit
submission.csvwith columns id and price.- Scoring
- RMSE. The baseline (RMSE = 21.046) gives 0 points and the author's solution (RMSE = 13.8) gives 100, linear in between. Scored on a private part of the test data after the contest (public part shown live); 20 attempts, the last one counts.
- Format
- Regional stage, Tour 2 (data analysis and machine learning), 19 January 2026; grades 9–11; individual; 300-minute tour (Moscow procedure); submissions in Yandex Contest.