A demo project to showcase my Analytics Engineering skills for the Xebia Analytics Engineer position.
This project demonstrates my ability to design, build, and document a modern data pipeline from raw open data to clean analytics dashboards.
Itβs a hands-on case study to highlight the skills I want to bring to Xebia:
- π οΈ Engineering β Python, Docker, dbt, Postgres, Metabase
- π Analytics β data modeling, testing, visualization
- βοΈ Cloud mindset β reproducible infra, containerization
- β Governance & quality β dbt tests, lineage
- π Consulting value β turning raw data into actionable insights
flowchart LR
A[Raw OPSD CSV] -->|Python ingestion| B[(Postgres: raw schema)]
B -->|dbt staging| C[stg_opsd_timeseries]
C -->|dbt transform| D[fct_energy_timeseries_long]
D --> E[dim_country]
D --> F[dim_metric]
E --> G[fact_energy_measure]
F --> G
G -->|BI| H[Metabase Dashboards]
- Download hourly European energy data from OPSD.
- Store as raw CSV and load into Postgres (
raw.opsd_timeseries_raw).
- Containerized Postgres DB for local dev.
- Raw schema preserved for reproducibility.
- Staging view β clean, lowercase column names.
- Long fact table β reshaped wide β long (utc_timestamp, metric, value, country).
- Dimensions β
dim_country,dim_metric. - Fact table β
fact_energy_measure(joins facts with dimensions).
- β Tests: not_null, unique, accepted_values.
- π dbt docs lineage graph to visualize data flow.
- Line charts, area charts, KPI cards, and maps.
- Interactive dashboard: EU Energy Analytics.
Line chart of electricity demand (load_actual).
Stacked area chart: Netherlands, Germany.
Donut chart showing proportion of load per country.
git clone https://github.com/shahsuvarli/xebia-eu-energy-project/.git
cd xebia-eu-energy-projectmake startThis will:
- π Start Postgres in Docker
- π Start Metabase (localhost:3000)
- π§ Activate Python venv + env vars
- π Serve dbt docs (localhost:8080)
source .venv/bin/activate
export $(grep -v '^#' .env | xargs)
python src/ingestion/ingest_opsd_timeseries.pymake dbt-run- Metabase: http://localhost:3000
- dbt docs: http://localhost:8080
- π Python (pandas, SQLAlchemy)
- π Postgres (Dockerized)
- π¦ dbt (transformations, tests, lineage)
- π Metabase (BI dashboards)
- π³ Docker (infra)
- βοΈ Makefile (automation)
- β End-to-end pipeline: from raw CSV to star schema & dashboards.
- β Analytics Engineering mindset: data modeling, testing, governance.
- β Consulting flavor: clear story, business-friendly outputs.
- β Cloud-native thinking: containerized, reproducible setup.
This project is not just about dataβitβs about showing how I think like an Analytics Engineer at Xebia: pragmatic, hands-on, quality-driven, and focused on delivering value fast.
Iβm Elvin Shahsuvarli, an Analytics Engineer professional based in Budapest.
- π 7+ years in data (analytics, governance, engineering).
- π¦ Experience at Morgan Stanley (data lineage, automation, GenAI for risk).
- π‘ Passion for building scalable, reliable data systems that empower teams.
π This project is my way of saying: Iβm ready to bring my skills and energy to Xebia Amsterdam as your next Analytics Engineer.
- π§ shahsuvarli.elvin@gmail.com
- π LinkedIn
- π» GitHub
