Freelance › Projects › Software development › Data Analytics Pipeline: PostgreSQL + Python + Dashboard
Data Analytics Pipeline: PostgreSQL + Python + Dashboard

Employer
Andriy
Project parameters
Type of cooperationOne-time project
SectionSoftware development
Prepaymentwithout prepayment
Payment methodsCash, Bank transfer
Acceptance of requestsfrom today, 06:59 until Sep 2, 2026
Project description
We have been collecting raw event data in MySQL for a while now, but it just sits there — we have no real analytics on top of it and no way to answer basic questions about how our product is actually used. We want to build a proper analytics pipeline that takes that raw data, turns it into clean, modelled tables in PostgreSQL, and surfaces the numbers that matter on a BI dashboard the whole team can look at.
The core of the work is an ETL pipeline that extracts from MySQL, cleans and aggregates the data, and loads it into PostgreSQL, with sensible fact and dimension tables for analysing events, users and revenue. On top of that we need scheduled jobs — daily and hourly aggregation runs driven by cron or Airflow — and a dashboard built in Grafana or Metabase and connected to PostgreSQL. The metrics that matter to us are DAU, MAU, retention, ARPU and funnel conversion, and we want automated data-quality checks (row counts and null checks) so we can actually trust what the dashboard shows.
The stack is Python-centric and everything should come up through Docker Compose for a clean local setup, so that after handover we can run and extend the pipeline ourselves.
Components:
— 1. ETL pipeline — extract from MySQL, transform (clean, aggregate), load to PostgreSQL
— 2. Data models — fact/dimension tables for event, user, revenue analysis
— 3. Scheduled jobs — daily/hourly aggregation runs (via cron or Airflow)
— 4. Analytics dashboard — Grafana or Metabase connected to PostgreSQL
— 5. Key metrics — DAU, MAU, retention, ARPU, funnel conversion
— 6. Data quality checks — automated row counts and null checks
Tech stack:
— Python 3 (pandas, SQLAlchemy, psycopg2)
— PostgreSQL
— Grafana or Metabase
— Docker Compose for local setup
The core of the work is an ETL pipeline that extracts from MySQL, cleans and aggregates the data, and loads it into PostgreSQL, with sensible fact and dimension tables for analysing events, users and revenue. On top of that we need scheduled jobs — daily and hourly aggregation runs driven by cron or Airflow — and a dashboard built in Grafana or Metabase and connected to PostgreSQL. The metrics that matter to us are DAU, MAU, retention, ARPU and funnel conversion, and we want automated data-quality checks (row counts and null checks) so we can actually trust what the dashboard shows.
The stack is Python-centric and everything should come up through Docker Compose for a clean local setup, so that after handover we can run and extend the pipeline ourselves.
Components:
— 1. ETL pipeline — extract from MySQL, transform (clean, aggregate), load to PostgreSQL
— 2. Data models — fact/dimension tables for event, user, revenue analysis
— 3. Scheduled jobs — daily/hourly aggregation runs (via cron or Airflow)
— 4. Analytics dashboard — Grafana or Metabase connected to PostgreSQL
— 5. Key metrics — DAU, MAU, retention, ARPU, funnel conversion
— 6. Data quality checks — automated row counts and null checks
Tech stack:
— Python 3 (pandas, SQLAlchemy, psycopg2)
— PostgreSQL
— Grafana or Metabase
— Docker Compose for local setup