DataAxis
Booking.com
Data Engineering · Data Engineer

Customer-360 insights for the accommodation room-selection funnel

Built the data pipeline behind a customer-insights dashboard, aggregating room-selection funnel events into analytics tables on customer engagement across desktop and mobile web — plus the data models that standardize how travel products are represented.

Retail & Consumer

Background

Booking.com is one of the world’s largest travel platforms, where small changes to how accommodation options are presented can shift behaviour at enormous scale. We worked within the Room Selection / Customer-360 area, building the data foundation behind a customer-insights dashboard used to understand how travellers engage with rooms and rates throughout the booking funnel — and to standardise how a travel product offering is represented across the organisation’s analyses.

The challenge

  • Raw clickstream funnel events (room views, rate views, clicks, reserves) arrived as deeply nested JSON at very large scale.
  • Stakeholders needed reliable engagement analytics split by device (desktop vs. mobile web) and by rate type (e.g. high-value vs. cheapest).
  • Travel-product representations needed consistent, documented data models so different analyses spoke the same language.
  • Outputs had to be reproducible and trustworthy enough to drive product and experimentation decisions.

Our approach

  • Built PySpark jobs that flatten nested funnel events and aggregate customer engagement at week / month / year grain.
  • Orchestrated the flow with Apache Oozie — a coordinator gating on input data-availability flags, running the jobs on a weekly cadence and writing completion flags downstream.
  • Produced analytics tables for cheapest-rate click-through, high-value rate engagement, room-rate engagement, and offer positioning.
  • Defined and documented standardized data models for travel-product offerings (product, offer, position, item details) consumed across teams.
  • Designed outputs as idempotent full rebuilds for reproducibility, feeding a Tableau dashboard.

My role on the project

  • Developing and maintaining the PySpark engagement jobs and their Hive output tables.
  • Building and operating the Oozie coordinator/workflow and its data-availability gating.
  • Keeping desktop and mobile-web logic correctly separated throughout the pipeline.
  • Defining and documenting the travel-product data models used downstream.

Architecture

Funnel events

  • Nested JSON
  • Views · clicks · reserves

Oozie coordinator

  • Done-flag gating

PySpark jobs

  • Flatten & aggregate
  • Week / month / year

Analytics tables

  • Idempotent rebuild
  • Desktop vs. mobile

Dashboard

  • Tableau
Clickstream funnel events aggregated on a weekly cadence via Oozie-orchestrated PySpark on Hadoop/Hive.

Outcomes

  • A reliable, reproducible insights pipeline powering the customer-engagement dashboard.
  • Consistent engagement metrics across desktop and mobile web.
  • Documented, reusable data models standardizing travel-product representation across analyses.

Have a data, ML, or AI challenge?

Book a 30-minute call. We'll tell you straight whether and how we can help.

Book a meeting