Run FY26 budget projections with percentage or flat adjustments on FY25 checked-in units
Generates FY26 budget projections by applying uniform adjustments (percentage or flat) to FY25 actual checked-in units. Supports both unit volume and average retail price projections, with revenue calculations (units x retail).
Data comes from either:
fpa_wes_imports table (default)CheckedInUnitsSummary[] (via --file flag or stdin)percent or flat. Default: percent.0 (no change).table (Bloomberg-dense markdown) or csv. Default: table.2025.CheckedInUnitsSummary[] array. If provided, skips Supabase fetch.fpa_wes_imports or parse from JSON fileinitializeProjections(summary) to create baseline entriesapplyUniformAdjustment(projections, type, value) if adjustment specifiedformatProjectionTable() or exportToCSV()Table format (default) — Bloomberg-dense:
FY25 Actual: 7.35M units | FY26 Projected: 7.65M units | +4.0%
Revenue: $180.2M -> $187.4M | +4.0%
| Client | Program | FY25 Units | FY26 Units | Delta | Avg Retail | Proj Retail | Rev Delta |
|--------|---------|------------|------------|-------|------------|-------------|-----------|
| Walmart | BRTON-WM-LIQ | 120.5K | 125.3K | +4.8K (4.0%) | $45.20 | $45.20 | +$217.0K |
CSV format: full-precision export with unit, retail, and inventory value columns.
# Default: no adjustment, table format, FY25 from Supabase
npx tsx bin/optimal.ts project-budget
# 4% growth projection
npx tsx bin/optimal.ts project-budget --adjustment-type percent --adjustment-value 4
# Flat +500 units per program
npx tsx bin/optimal.ts project-budget --adjustment-type flat --adjustment-value 500
# CSV output
npx tsx bin/optimal.ts project-budget --adjustment-type percent --adjustment-value 4 --format csv
# From JSON file instead of Supabase
npx tsx bin/optimal.ts project-budget --file ./fy25-actuals.json --adjustment-type percent --adjustment-value 10
Requires (when using Supabase): RETURNPRO_SUPABASE_URL, RETURNPRO_SUPABASE_SERVICE_KEY