Case study

Heaven Hill halved its spirits allocation planning cycle

Planners pieced together stock, orders and prior allocations from scattered systems before deciding who gets scarce bourbon.

Heaven Hill Brands

Heaven Hill Brands · Operations

50%shorter allocation planning cycle

The workflow before

Heaven Hill allocates limited bourbon and whiskey supply across distributors and markets. In-stock, on-order and previously allocated quantities sat in separate databases and spreadsheets, so planners spent hours reconciling Oracle data by hand before they could build a plan. Departments brought conflicting numbers to the same meeting, and approvals ran over email with no audit trail.

What we built

We built an allocation planning app in R Shiny, hosted on R Connect Server, that gives planners one view of in-stock, on-order and allocated product and lets them build, change and compare allocation scenarios in minutes.

Plans move through roles: publishers create them, approvers review and sign off with comments, and viewers see dashboards. Every change is logged for audit.

Automated ETL pulls from Oracle EBS into SQL Server on an incremental schedule, and the sales part cross reference between systems is now maintained automatically instead of by hand.

Before and after

MeasureBeforeAfter
Allocation planning cycleBaseline50% shorter
Evaluating an allocation scenarioDays of data gatheringMinutes
Status inquiry emails and meetingsBaselineAbout 60% fewer
Planner adoptionSpreadsheets100% of planners on the app

What's next

With allocation history in one governed place, Heaven Hill can add L2 work: demand signals and past allocation outcomes feeding a recommended allocation for planners to adjust.

ShareLinkedInEmail

Source data comes from Oracle EBS and inventory and order systems through custom R and SQL ETL with incremental change capture, landing in SQL Server staging and analytics databases.

The R Shiny app runs on R Connect Server, authenticates through Active Directory, and enforces publisher, approver and viewer roles; every action is logged.

A scheduled job keeps the sales part cross reference in sync across systems, validating new products and tracking historical mappings.

Next step

Let's build the case study we tell next.