This week’s dataset focuses on the Milano-Cortina 2026 Winter Olympics schedule. The data contains 1,866 Olympic events including competition and training sessions across 16 winter sports disciplines. The schedule spans February 4–22, 2026 and features timezone conversions, venue details, and medal event classifications.
Loading necessary packages
My handy booster pack that allows me to install (if needed) and load my usual and favorite packages, as well as some helpful functions.
The my_skim() function is a modified version of the skimr::skim() function that returns the number of missing data points (cells as NA) as well as the inverse (e.g.: number of rows that are notNA), the count, minimum, 25%, median, 75%, max, mean, geometric mean, and standard deviation. It also generates a little ASCII histogram. Neat!
The schedule contains 1866 total events across 16 disciplines and 14 venues. Events span from 2026-02-04 to 2026-02-22 — a 19-day window that includes both training and competition sessions.
Key observations from the skim:
Training vs. competition: 246 training sessions and 1620 competition events
Medal events: 344 medal sessions out of the full schedule
Venue concentration: Some venues host hundreds of events (Cortina Curling Olympic Stadium alone accounts for a huge share), while others are more specialized
Host city extraction
The 2026 Games are uniquely distributed across northern Italy. Let’s extract the host city from each venue name and see how the Games are geographically structured.
Unlike many Winter Olympics concentrated in a single mountain region, Milano-Cortina 2026 spreads across the Italian Alps and into the Po Valley. Milano hosts the ice sports (figure skating, speed skating, short track, hockey), while the mountain towns — Cortina, Livigno, Bormio — handle the snow and sliding disciplines. This geographic spread is a defining feature of these Games.
Venue Geography Analysis
Disciplines per venue
Each venue is purpose-built or adapted for specific sports. Let’s map which disciplines live where.
Not all events are created equal. Some venues host dozens of rounds leading to a handful of medal moments; others are medal-dense. The medal density — the share of competition events that award medals — reveals which venues are built for the climactic moments.
ImportantCurling: the endurance sport of scheduling
Cortina Curling Olympic Stadium hosts a staggering 436 competition events — more than double any other venue — yet produces only 8 medal sessions (a medal density under 2%). Curling’s round-robin format demands this marathon of matches, making it the most venue-intensive discipline by far.
city_daily <- schedule %>%filter(!is_training) %>%count(date, host_city, name ="events")city_colors <-c("Milano"="#0085C7","Cortina d'Ampezzo"="#D4AF37","Livigno"="#009F3D","Bormio"="#EE334E","Predazzo"="#F4C300","Tesero"="#FF8C00","Anterselva"="#8B4513")ggplot(city_daily, aes(x = date, y = events, color = host_city)) +geom_line(linewidth =1, alpha =0.8) +geom_point(size =2) +scale_color_manual(values = city_colors, name ="Host City") +scale_x_date(date_breaks ="2 days", date_labels ="%b %d") +labs(title ="Daily competition events by host city",subtitle ="Milano sustains the highest event load throughout the Games",x =NULL,y ="Number of events",caption ="Source: TidyTuesday 2026-02-10" ) +theme_minimal(base_size =12) +theme(plot.title =element_text(face ="bold", size =14, color ="#00247D"),plot.subtitle =element_text(size =10, color ="#555555"),plot.caption =element_text(size =8, color ="#999999"),axis.text.x =element_text(angle =45, hjust =1),legend.position ="right" )
Final thoughts and takeaways
The Milano-Cortina 2026 Winter Olympics are architecturally unique: rather than clustering events in a single alpine basin, these Games sprawl across the Italian Alps and down into the Po Valley. This analysis reveals several patterns in that geographic design:
Milano is the engine room. With four venues hosting ice sports — figure skating, short track, speed skating, and two hockey arenas — Milano sustains the highest daily event count throughout the Games. The city’s venues are active nearly every day from opening to closing ceremony.
Cortina’s curling dominance is deceptive. The Cortina Curling Olympic Stadium generates by far the most events of any venue, but its medal density is vanishingly low. The round-robin format means hundreds of sessions build to just a handful of medal moments — a sharp contrast to venues like the speed skating stadium or biathlon arena where a larger share of events produce medals.
Mountain venues are specialists. The alpine and Nordic venues — Bormio, Predazzo, Tesero, Anterselva — each host one or two disciplines and operate on tighter, more concentrated schedules. Their activity windows are shorter but intense.
The mid-Games peak is universal. Across nearly every venue, event density peaks around February 13–16, suggesting a deliberate scheduling strategy that builds momentum through the first week and then ramps into a climactic stretch before the closing ceremonies.
This geographic distribution presents both logistical challenges (athlete transport, spectator travel between cities separated by hours of mountain driving) and opportunities (multiple cities share the economic and cultural benefits of hosting). Whether this distributed model becomes a template for future Games remains to be seen.