rel-hm H&M Database

Database Description: The H&M relational database hosts extensive customer and product data for online shopping experiences across its extensive network of brands and stores. This database includes detailed customer purchase histories and a rich set of metadata, encompassing everything from basic demographic information to extensive details about each product available.

Database Statistics:

Num of Tables 3
Num of Rows 33,265,846
Num of Columns 37
Starting Time 2018-09-20
Validation timestamp 2020-09-07
Testing timestamp 2020-09-14
Time window 7 days

Database schema:

To load this relational database in RelBench, do:

from relbench.datasets import get_dataset
dataset = get_dataset("rel-hm")

References:

[1] H&M Personalized Fashion Recommendations Kaggle Challenge.

Dataset License: Non-Commercial Purposes & Academic Research.


Node Classification Tasks

user-churn

Task Description: Predict the churn for a customer (no transactions) in the next week.

Evaluation metric: AUROC

To load the dataset and the split, do:

from relbench.datasets import get_dataset
dataset = get_dataset(name = "rel-hm")
task = dataset.get_task("user-churn")
task.train_table, task.val_table, task.test_table # training/validation/testing tables

Node Regression Tasks

item-sales

Task Description: Predict the total sales for an article (the sum of prices of the associated transactions) in the next week

Evaluation metric: MAE

To load the dataset and the split, do:

from relbench.datasets import get_dataset
dataset = get_dataset(name = "rel-hm")
task = dataset.get_task("item-sales")
task.train_table, task.val_table, task.test_table # training/validation/testing tables

Link Prediction Tasks

user-item-purchase

Task Description: Predict the list of articles each customer will purchase in the next seven days.

Evaluation metric: MAP

To load the dataset and the split, do:

from relbench.datasets import get_dataset
dataset = get_dataset(name = "rel-hm")
task = dataset.get_task("user-item-purchase")
task.train_table, task.val_table, task.test_table # training/validation/testing tables