End-to-End Analytics Engineering Project: Novak Djokovic ATP Titles

1. Objective

The objective of this project was to design and build a complete analytics engineering workflow using modern tooling.

Rather than focusing solely on reporting, the aim was to model data correctly, apply engineering practices such as testing and documentation and deliver a dimension model suitable for analytics.

2. Source Data

The source data was a Google Sheet I created containing details of every ATP (Association of Tennis Professionals) title won by Novak Djokovic during his illustrious career.

3. Architecture

The architecture was layered from source to ingestion to presentation in the following manner:

sketch showing basic data lineage
From source to report

3.1 Data Warehouse

BigQuery data warehouse structure
BigQuery set up showing raw, staging and dim / fact architecture

3.2 Transformation Layer

dbt core lineage graph
dbt core lineage graph

3.3 Presentation Layer

Power BI summary page
Power BI Report - Summary page
Power BI period page
Power BI Report - Periodic page
Power BI geography page
Power BI Report - Geography page

4. Key Elements

5. Technologies

The technologies used were as follows:

6. Engineering Concepts Used

The following concepts were either used or explored during the course of the project:

7. Challenges

The following were challenges that arose and needed to be overcome during the project:

8. What I Learned

Prior to this project the bulk of my experience was in Power BI semantic modelling. Building an analytics engineering pipeline demonstrated that reliable reporting begins much earlier that the reporting layer.

Data ingestion, dimensional modelling, automated testing, documentation and version control all contribute to a maintainable analytics engineering pipeline.

9. Key Skills Demonstrated

Area Skills
Data Warehousing Kimball dimensional modelling
SQL BigQuery SQL
Analytics Engineering dbt Core
Data Quality Source and model tests
Documentation dbt Docs
Version Control Git / GitHub
Reporting & Visualisation Power BI
Development VS Code
Read Full Technical Write-Up →