A lakehouse for a pest control company
Five disconnected systems became one trusted set of numbers.
Problem
Leads, calls, ad spend, accounting and payroll lived in five separate tools, each with its own reports and its own definitions.
System
- Bronze: scheduled PySpark jobs land raw data from the field-service CRM, the contact center, Google Ads, accounting and payroll.
- Silver: clean, typed Delta tables with explicit schemas, so a vendor change cannot drop data without an alarm.
- Gold: fact tables for leads, starts, cancellations and active subscriptions, with one marketing channel taxonomy across branches.
- Direct Lake Power BI models on top. Secrets in Azure Key Vault. Two independent schedules so one failure cannot stop both.
Outcome
- Google Ads and Local Services spend validated to the penny against the platform dashboards.
- The monthly marketing report refreshes on a schedule, with the same numbers for every branch.
- One definition of a lead, a start and a cancellation for the whole company.
Stack
Microsoft FabricPySparkDelta LakePower BIDAXAzure Key Vault