Overview
A PostgreSQL project that turns raw FIS Ski Jumping World Cup results into reproducible records, rankings, and performance statistics.
The project focuses on expressing sporting rules as SQL queries and presenting their results in a clear, verifiable form. A supporting Python pipeline collects the source data, validates it, and loads it into PostgreSQL; its purpose is to provide a reliable dataset for the statistical analysis.
Dataset at a glance
The dataset covers men’s individual World Cup competitions from the 2017/18 through 2025/26 seasons. Only jumps from rated competition rounds are included; training and trial rounds, qualifying rounds, and team competitions are outside its scope.
Data source
Results come from the official FIS competition pages.
Each page represents one competition identified by a race_id.

The source page contains competition metadata and round-by-round athlete results.
Earlier seasons are not collected because FIS pages before 2017/18 use a different table format and expose substantially less information.
Data model
The PostgreSQL database uses a compact star schema with results as its fact table
and competitions and jumpers as dimensions. Each row in results represents one
jumper’s result in a particular round of an individual competition.

From results to statistics
Each statistic begins with a sporting question and a small set of explicit rules. SQL and PL/pgSQL then translate those rules into a reproducible calculation over the stored results. Individual documentation pages keep the explanation close to the implementation by presenting the rules, annotated query, returned rows, and any data quality notes together.
The Hill Records page is the first example in this collection.