ForecastIQ

Demand forecasts per brand, tested against simple baselines.

2nd Place at the Lilly × WSU Hackathon, 16 Oct 2026

Brand A panel: June orders fell 65% to 3,487 units while pharmacies still sold 9,929 units, and wholesalers ran stock down to 13.8 days against a usual 32.7 days. A bar chart compares monthly orders with pharmacy sales, January to June, on an axis labelled Units. Invented data.

Walkthrough

The problem

A finance analyst plans how many units wholesalers will order each month, then has to explain why the forecast changed. They work in Excel, not statistics. Orders swing when wholesalers stock up or run stock down, so a month can look like a drop in demand when pharmacies sold as much as ever.

How it picks a method

  1. Each method sees only the orders up to a past cutoff.
  2. It forecasts the next months, and the forecast is compared with what was actually ordered.
  3. The cutoff moves forward and the test repeats. Every method is tested on the same months.
  4. Methods are ranked by WAPE (total miss as a percentage of total orders) against simple baselines. Each brand is forecast with its best one.

Result

2nd Place at the Lilly × WSU Hackathon, Launch Pad, Factory of the Future, 16 Oct 2026.

Upload

Load the month's orders, pharmacy sales and wholesaler stock, as CSV or Excel. The forecast builds once all three files are read.

Upload step with a button to upload the month's files, three files listed (orders, pharmacy sales, wholesaler stock) and the line All three files run to Jun 2025. Invented data.

Snapshot

Last month in one sentence: orders, pharmacy sales and wholesaler stock. Each brand is marked as real demand, stocking up or using stock.

All brands in June: Brand A, D and E running stock down, Brand B stocking up (orders 52% over pharmacy sales), Brands C and F real demand. Brands are flagged when orders and pharmacy sales differ by more than 15%. Invented data.

Plan

The next 12 months per brand, with an 80% range, revenue at an assumed price, and external factors Alex adds.

Plan for Brand A: forecast and likely range in units for each month from Jul 2025 to Jun 2026, with a year total of 106,900 units, a Change a month's forecast button, an External factors panel with an Add a factor button and a How was this worked out? section. Invented data.

Change a month

Alex overrides a month as a share or in units, with a reason. Other months rescale so the year adds up, and the change is kept in the history.

Change a month's forecast panel for Brand A: July 2025 set to 8,360 units, 7.8% of the year, with the note Wholesaler One shifts its July order into August and a Save button. Invented data.

Report

A summary for leadership, figures for finance and supply, and one copy into Excel.

Report for Brand A: next 12 months 107,716 units and A$9,484,998, a June 2025 summary, figures for finance (2024 total 114,049 units, 2025 expected 107,303 units, change on 2024 minus 5.9%) and for supply (July 2025 forecast 8,360 units, range 5,934 to 10,786 units), with Copy for Excel and Save as submitted version buttons. Invented data.

Who did what

Gylles Varga

Led the build

The forecasting engine: backtests, per-brand method selection, the FastAPI service.

Tommy Tran

External factors

Monthly external-factor scenarios, compared with the base forecast and included in the export.

Meenu Meenu

Dashboard design, pitch

The first dashboard designs, including a finance view. The pitch script.