Case study · Hospitality

Governed reporting across a dozen systems for a resort operator

Direct, third-party, and on-property sales each told a different story, because a dozen marketing and finance systems each kept their own version of the truth. Leadership wanted one set of numbers, and a data platform ready for AI.

25%shorter report cycles
20%better data accuracy and pipeline efficiency
A dozenmarketing and finance systems feeding one governed layer

The situation

A large resort and entertainment operator sells rooms, shows, and dining through its own channels, through third parties, and on property. Marketing and finance each ran their own systems, around a dozen in total, and reports built from them rarely agreed. Building a cross-channel report took a long time because every one started with reconciliation.

At the same time, the business wanted to use AI on its data. That raised a harder question: if people cannot agree on the numbers, what would an AI system be grounded in?

What I did

Set up governance people would actually use. I chaired a cross-business-unit governance council that agreed who owns each important dataset, who stewards it, and how changes are approved. Policies rolled out with company-wide training, so ownership was known rather than assumed.

Built a medallion lakehouse on Azure and Databricks. Raw data from each system landed once, was cleaned and conformed in a middle layer, and was modeled with dbt into governed gold tables. Unity Catalog controlled access to the gold layer. Metadata and end-to-end lineage were centralized so any number could be traced back to its source.

Served one set of numbers. Power BI semantic models sat on the dbt gold tables, with row-level security so each team saw what it should. Omni-channel dashboards covered direct, third-party, and on-property sales from the same definitions.

Set the AI direction. I defined how governed lakehouse data, semantic models, and lineage would ground downstream ML and AI analytics, so AI work would build on the governed path rather than a parallel, ungoverned one.

The result

Report cycles got 25% shorter. Data accuracy and pipeline efficiency improved by 20%. The work took four months, which is a useful data point on what a focused governance effort can do quickly when leadership backs it.

What carries over to your team

  • Governance is a decision about people before it is a tool. Agree on owners and a change process, then pick the catalog.
  • Model once in a governed layer and let every dashboard read from it. Reconciliation work disappears when there is nothing left to reconcile.
  • Row-level security in the semantic model lets you share one model widely instead of copying data for each audience.
  • Decide how AI will be grounded before anyone builds a chatbot on raw tables.

This work comes from an in-house leadership role, not a Millwright Data client engagement. The company is not named. The figures are ones I can walk you through on a call.

Facing something similar?

Thirty minutes, free. Tell me what is broken and I will tell you whether this is the kind of work I can help with.

Book a call