This repository contains experimental notebooks developed for the Kaggle competition:
OTTO – Multi-Objective Recommender System
Competition page:
https://www.kaggle.com/competitions/otto-recommender-system
The goal of this competition is to build a recommender system that predicts user interactions in an e-commerce environment.
For each user session, the model must predict:
- clicks
- cart additions
- orders
based on the user's previous interactions during the same session.
The recommendation system aims to improve the online shopping experience by suggesting relevant products in real time.
Online retailers offer millions of products, making it difficult for users to discover relevant items.
Recommender systems help guide users toward products they are most likely to interact with.
The OTTO competition dataset contains session-based interaction logs from one of the largest German online retailers.
Key characteristics:
- More than 10 million products
- Over 19,000 brands
- Session-based user behavior data
The dataset is provided by Kaggle and cannot be redistributed in this repository.
Please download the dataset from:
https://www.kaggle.com/competitions/otto-recommender-system/data
Main dataset files:
train.jsonl
test.jsonl
sample_submission.csv
Each session contains a sequence of events:
| Field | Description |
|---|---|
| session | unique session id |
| aid | article id (product id) |
| ts | Unix timestamp |
| type | event type (click / cart / order) |
The test dataset contains sessions truncated by timestamp.
The task is to predict the interactions that occur after the truncation point.
For each session, predictions must be generated for:
- next clicked item
- items added to cart
- items ordered
Up to 20 item IDs may be predicted for each interaction type.
The competition uses Recall@20 as the evaluation metric.
Recall is computed separately for:
- clicks
- carts
- orders
The final score is a weighted average of the three recall values.
Predictions are truncated to the top 20 recommended items.
Kaggle_OTTO/
├── OTTO_v0.ipynb
├── OTTO_v0.0.ipynb
├── OTTO_v1.2.ipynb
├── otto_v2.1.ipynb
├── otto_v2.2.ipynb
├── otto_v2.3.ipynb
├── otto_v2.4.ipynb
├── otto_v3.1.ipynb
├── otto_v3.2.ipynb
├── otto_v4.1.ipynb
├── otto_v4.2.ipynb
├── otto_v4.fin.ipynb
└── README.md
Each notebook represents different experiments or iterations of the recommender system pipeline.
Typical recommender system workflow used in the experiments:
- Session event preprocessing
- Candidate item generation
- Feature engineering
- Ranking model training
- Evaluation using Recall@20
Wand, A., Normann, P., Baumeister, S., Wilm, T., Reade, W., Demkin, M.
OTTO – Multi-Objective Recommender System
Kaggle Competition, 2022.