Back to feed

Project docs

Ski Jumping Statistics

PostgreSQL analysis of men's Ski Jumping World Cup results, supported by a Python data collection pipeline.

Most Competitive Events

The World Cup competitions where the leading athletes were separated by the smallest differences in total points.

Rules

  • Only the top 12 finishers from each competition are compared.
  • Competitiveness is measured using the standard deviation of their final points.
  • A lower standard deviation represents a more closely contested competition.

The top 12 reflects a spectator’s perspective, as attention is usually focused on the leading group rather than every participant. Final points and positions come from the competition_results materialized view.

Ranking the events

with fiercest_competitions as (
	select
		cr.race_id,
		stddev(total_points) as stddev,
		min(total_points) as lowest_score,
		max(total_points) as highest_score
	from competition_results cr
	where pos < 13
	group by cr.race_id
	order by stddev
	limit 15
)
select
	to_char(c.competition_started, 'Mon MM YYYY') as date,
	c.hill_city || ' HS' || c.hill_size as hill,
	fc.lowest_score::decimal(10,2),
	fc.highest_score::decimal(10,2),
	fc.stddev::decimal(10,2) as standard_deviation
from fiercest_competitions fc
join competitions c using (race_id)
order by standard_deviation;

Results

Most competitive events returned by PostgreSQL15 rows
datehilllowest_scorehighest_scorestandard_deviation
Dec 12 2021Klingenthal HS140253.00267.003.76
Feb 02 2024Lake Placid HS128267.50278.904.35
Nov 11 2018Wisla HS134247.80263.404.44
Mar 03 2026Oslo HS134115.00128.704.77
Mar 03 2026Lahti HS130116.80129.304.79
Jan 01 2019Zakopane HS134261.00278.304.98
Mar 03 2024Trondheim HS105266.90280.905.01
Feb 02 2021Zakopane HS140283.00298.105.06
Nov 11 2018Ruka HS142124.90142.005.15
Feb 02 2020Tauplitz/ Bad Mitterndorf HS235218.30232.605.25
Mar 03 2022Oslo HS134254.40270.405.43
Feb 02 2021Rasnov HS97241.60257.905.54
Dec 12 2024Wisla HS134261.20276.805.55
Jan 01 2021Lahti HS130250.80265.905.66
Dec 12 2018Engelberg HS140283.10302.005.67

The closest competition

The leading group from the most competitive event identified in the dataset can be retrieved with find_race_id:

select
	cr.pos,
	j.jumper_name || ' (' || j.jumper_country || ')' as jumper,
	cr.total_points::decimal(10, 2)
from competition_results cr
join jumpers j using (jumper_id)
where race_id = find_race_id(2021, 'Klingenthal', 3)
limit 12;

Results

Top 12 from the closest competition in the dataset12 rows
posjumpertotal_points
1KRAFT Stefan (AUT)267.00
2GRANERUD Halvor Egner (NOR)262.00
3STOCH Kamil (POL)261.90
4EISENBICHLER Markus (GER)257.90
4GEIGER Karl (GER)257.90
6WELLINGER Andreas (GER)257.50
7KOBAYASHI Ryoyu (JPN)257.30
8JOHANSSON Robert (NOR)257.20
9LINDVIK Marius (NOR)257.00
10HOERL Jan (AUT)256.70
11PASCHKE Pius (GER)254.10
12PEIER Killian (SUI)253.00