Data Engineering & Analytics•December 2025

NCAA Men's 50 Yard Freestyle Analysis

Analyzing 25 Years of Championship Performance Through Data Engineering and Statistical Analysis

PythonPandasRegular ExpressionsMatplotlibStatistical AnalysisJupyter Notebook
NCAA Men's 50 Yard Freestyle Analysis

Context

I wanted to combine my interest in swimming with data analytics by exploring how historical competition data could be transformed into meaningful insights. The project provided an opportunity to build an end-to-end workflow that addressed the challenges of extracting, cleaning, analyzing and visualizing data from unstructured historical documents.

What can 25 years of championship results reveal about the evolution of elite NCAA sprint swimming?

Historical sports results are often stored in inconsistent formats across documents and seasons, making large-scale analysis difficult. The challenge was to transform these unstructured results into a consistent and reliable dataset while preserving the performance information needed to analyze long-term trends, competitive depth and exceptional performances.

Approach

This project transformed historical Men's 50-yard freestyle results into a structured analytical dataset through automated document parsing, data cleaning and normalization. Statistical analysis and visualization were then applied to examine changes in performance over time, program-level success, competitive distributions and exceptional individual performances.

Data Sources

💾

NCAA Division I Men's Swimming Championship Results

Publicly available NCAA championship results from 2000–2025 collected from PDF and HTML documents. The dataset includes athlete performances, schools, finishing places, preliminary and final times and championship metadata.

Solution

01

Built automated parsing logic to extract swimmer results from historical NCAA documents.

02

Developed cleaning routines to standardize athlete names, schools, times and performance fields.

03

Created a structured dataset containing 25 years of championship performances.

04

Applied statistical techniques including trend analysis, IQR outlier detection, z-scores and distribution analysis.

05

Developed visualizations highlighting performance evolution, program success, competitive depth and exceptional swims.

Architecture

The solution uses a multi-stage text processing pipeline to convert raw NCAA championship documents into a structured dataset suitable for analysis. Automated parsing logic extracts swimmer performance data despite changes in document structure and formatting across seasons.

  • 01Document ingestion and extraction
  • 02Regex-based parsing
  • 03Data cleaning and normalization
  • 04Statistical analysis pipeline
  • 05Visualization generation

Outcome

Successfully transformed 25 years of inconsistent championship results into a reusable analytical dataset. The analysis identified long-term changes in championship winning times, patterns in program-level performance and statistically exceptional performances including Caeleb Dressel's 2018 championship swim.

5 visualizations

Lessons Learned

✎

Extracting reliable data from inconsistent historical documents requires robust parsing strategies.

✎

Data quality and normalization are critical before meaningful analysis can occur.

✎

Statistical context helps distinguish exceptional performances from normal variation.

✎

Combining domain knowledge with analytics creates more meaningful insights.

✎

Reusable data pipelines can turn fragmented historical records into a foundation for future analysis.

Future Improvements

⚒

Expand the analysis to additional NCAA swimming events.

⚒

Automate data collection from additional competition sources.

⚒

Build an interactive dashboard for exploring athlete, event and program trends.

⚒

Incorporate additional performance factors such as meet, venue, championship format and swimmer progression.