BigQuery + GA4 + Machine Learning

Who Wins the
Booking Battle?

A data-driven analysis of South Africa's short-term accommodation market — 1,011 LekkeSlaap listings, 100K GA4 sessions, 3 ML models, A/B testing, and a complete BigQuery analytics stack.

View Dashboard Read the Ebook Market Overview
1,011
Properties
R2,146
Avg Price/Night
100K
GA4 Sessions
4,800
Confirmed Bookings
4.0%
Conv. Rate
12
BQ Tables
3
ML Models
3
A/B Tests
14
SQL Queries

End-to-End Data Pipeline

LekkeSlaap Scrape
1,013 raw rows
ETL & Clean
8 issues fixed
Synthetic GA4
100K sessions
BigQuery
africa-south1
ML Models
Price + Tier + Demand
Insights
Ebook + Dashboard
Python 3.11 pandas 3.0 scikit-learn 1.9 Gradient Boosting Random Forest BigQuery (africa-south1) GA4 Events Schema GTM dataLayer POPIA Consent Mode Faker synthetic data openpyxl Excel Chart.js Dashboard

Analysis Visuals

Market Overview
EDA

SA Accommodation Market Overview

Price distribution by listing type, tier breakdown, top regions, and price vs review count scatter — the complete market picture.

Full size ↗
GA4 Analytics
GA4 + Web Analytics

Platform Web Analytics

Traffic source split, device breakdown (61% mobile), 5-step booking funnel with drop-off rates, and confirmed bookings by SA province.

Full size ↗
Price Regression
ML Model 1

Price Regression (GBR)

Gradient Boosting predicts nightly price from listing type, region, city, and review count. Feature importance shows region is the dominant signal.

Full size ↗
Tier Classifier
ML Model 2

Tier Classifier (Random Forest)

4-class classifier (Budget/Mid-Range/Premium/Luxury) with confusion matrix. Balanced class weights handle the market's natural skew.

Full size ↗
Region Tier
Regional

Price Tier by Region

Stacked bar showing how Budget/Mid/Premium/Luxury inventory is distributed across SA's top 8 accommodation regions.

Full size ↗
Monthly Trend
Seasonality

Monthly Sessions & Booking Trend

Sessions (line) overlaid with confirmed bookings (bars) across Jan–Jun 2025. SA tourism seasonality clearly visible.

Full size ↗

Project Deliverables

📊

Interactive Dashboard

Chart.js — 9 live KPIs, 6 interactive charts, GA4 funnel, POPIA consent metrics

📚

Analytics Ebook

7-chapter narrative — dirty data, market analysis, GA4, GTM, ML, BigQuery, recommendations

📄

Excel Workbook (8 sheets)

Cover, dirty data audit, clean data, regional analysis, GA4, ML results, predictions, GTM guide

📈

3 ML Models

Price regression · Tier classifier · Demand scorer — 995 properties scored, predictions in BQ

BigQuery Star Schema

12 tables, africa-south1, partition + cluster optimised, 14 analytics SQL queries included

🏴

GA4 + GTM Implementation Guide

5-step booking funnel events, 7 custom dimensions, POPIA consent mode dataLayer spec

🛠

ETL Pipeline (Python)

Dirty → clean → BigQuery upload. Free ETL via bq load, Dataform, Scheduled Queries

📋

Dirty Data Audit

8 documented issues: promo names, price formatting, duplicate locations, outliers, dupes