Data pipeline for aggregating AtCoder Problems statistics.
stg_contests- Contests with computedis_ratedflagstg_problems- Problemsstg_contest_problem- Contest-problem mappingstg_submissions- Submissions with bot users filtered out
accepted_count- Count of distinct problems solved per usersolver- Count of distinct users who solved each problempoints- Max points for each problem from rated contestsrated_point_sum- Sum of rated points per userlanguage_count- Problems solved per language per usermax_streaks- Max consecutive days with AC per userfastest- Fastest AC submission per problemshortest- Shortest AC submission per problemfirst- First AC submission per problemmerged_problems- Combined problem data with fastest/shortest/first submissions, points, and solver counts
Run from the repository root:
# Start postgres
docker compose up -d postgres
# Run dbt (seed → run → test in dependency order)
docker compose run --rm dbt buildIndividual commands:
docker compose run --rm dbt seed # Load excluded_users seed
docker compose run --rm dbt run # Run all models
docker compose run --rm dbt test # Run testsNote: dbt seed must be run before dbt run because stg_submissions depends on excluded_users.