Weekly Finance Tracker

Case study · Finance automation project

The weekly view Finance uses to track performance against plan across three markets. I owned its automation end to end, moving it off a legacy, analyst-run Excel process onto a version-controlled pipeline that refreshes every Monday, delivers itself to the people who need it, and returns roughly 2 person-days a week to the team.

At a glance

The problem

Finance planning lives in spreadsheets; actuals live in the warehouse. Reconciling the two into a weekly view was a legacy Excel process run by an analyst: manual, slow, easy to get subtly wrong, and because it was assembled by hand nobody could say where a number came from.

The rebuild treats the spreadsheets as real sources: ingested, staged and tested like warehouse tables, so every figure has a traceable path back to its origin.

How it runs

Orchestration

Once a week. Quality checks bracket the transform, and every task reports its status.

Any task failsDatadog monitorSlack alertIngest sourcesSpreadsheets + warehousesDQ · ingestionMarket A · non-blockingDQ · ingestionMarket B · non-blockingDQ · ingestionMarket C · non-blockingdbt buildServerlessDQ · transformationMarket ADQ · transformationMarket BDQ · transformationMarket CTableau dashboardWhat Finance opensExcel reportBuilt and emailed

How it is modelled

Model lineage

One market's subtree, simplified. All three markets repeat the same source → staging → intermediate → serving shape, read by a Tableau dashboard and an emailed Excel report.

SourcesStagingIntermediateServingConsumed bysheet_targets: Planning spreadsheetsheet_targetssheet_run_rate: Planning spreadsheetsheet_run_ratesheet_loss_ratio: Planning spreadsheetsheet_loss_ratiowh_metrics: Warehouse fact tablewh_metricswh_policies: Warehouse fact tablewh_policieswh_events: Warehouse fact tablewh_eventsstg_targetsstg_targetsstg_run_ratestg_run_ratestg_loss_ratiostg_loss_ratiostg_actualsstg_actualsstg_policiesstg_policiesstg_eventsstg_eventsint_targets: Targets reconciled to actualsint_targetsint_run_rateint_run_rateint_loss_ratioint_loss_ratioint_coefficientsint_coefficientsanalytics: Main serving modelanalyticssummary: The weekly viewsummaryTableau dashboard: What Finance opensTableau dashboardExcel report: Generated and emailed to stakeholdersExcel report

Models are filled; what consumes them is outlined. Names are simplified placeholders.

Design decisions