Skip to content

rel-stack: user engagement (Classification)

This docs example now matches the current local runner: it materializes the official rel-stack tables through the relbench library and then builds the GraphReduce user-engagement frame from those CSVs.

from pathlib import Path
from relbench_dataset_utils import materialize_relbench_dataset

materialized = materialize_relbench_dataset(
    "rel-stack",
    Path("tests/data/relbench/rel-stack"),
    {
        "users": "Users.csv",
        "posts": "Posts.csv",
        "badges": "Badges.csv",
        "postHistory": "PostHistory.csv",
        "postLinks": "PostLinks.csv",
        "votes": "Votes.csv",
        "comments": "Comments.csv",
    },
)
print(materialized)

Current implementation:

Latest Tested Result

Latest local run from tests/data/relbench/run_reports/relbench_results.json:

  • test ROC AUC: 0.8912
  • test average precision: 0.3767
  • feature count: 362
  • rows: train 83388, validation 85702, test 88014
  • runtime: 34.0s (2026-04-09T22:55:14Z)

Interactive Runner