Forecast Creation & Modelling¶
Status: Shipped¶
Domain: Cash Forecasting Linear Projects: Forecasting V2, Base forecasts
What It Does¶
Palm generates cash flow forecasts that treasury teams can trust and act on. The platform combines multiple data sources - historical transactions, open items from ERP, manual inputs, and ML-based predictions - to produce daily or weekly forecasts for any horizon.
Unlike traditional TMS forecasting that relies solely on scheduled payments and manual guesses, Palm's approach learns from actual payment patterns to predict when cash will really move. Each forecast line shows its source (ERP data, ML prediction, manual input), giving users transparency into what's driving the numbers.
The forecasting engine handles multi-entity complexity, automatically consolidating entity-level forecasts into group views while maintaining the ability to drill down to any level of detail.
Capabilities¶
| Capability | Status | Notes |
|---|---|---|
| ML-based forecasting | Shipped | Learns from historical patterns |
| ERP data integration | Shipped | Open AP/AR items flow into forecast |
| Daily/weekly granularity | Shipped | Configurable forecast periods |
| Category-level forecasts | Shipped | See forecast by payment type (payroll, vendor, etc.) |
| Multi-entity consolidation | Shipped | Entity, country, and group level views |
| Forecast source transparency | Shipped | Know what's driving each forecast line |
| Rolling forecast updates | Shipped | Forecasts refresh as new data arrives |
| Manual adjustments | Shipped | Override or supplement ML predictions |
Jobs Fulfilled¶
1. Produce a short-term cash forecast I can trust and act on¶
Desired Outcomes Addressed: - [x] Minimize the time spent updating daily forecast (target: 15 minutes or less) - [x] Minimize the time spent gathering data from multiple ERP tables - [x] Increase the percentage of forecast based on booked/actual data vs guesses - [x] Increase confidence in inputs by understanding their source and historical accuracy - [ ] Reduce the frequency of surprise payments not captured in forecast (partial) - [x] Increase transparency on data sources (% from ERP vs manual vs ML) - [ ] Reduce the risk of being caught by surprise on large variances (partial)
How Palm Addresses This: - Automated data ingestion from ERP and banks - ML fills gaps where ERP data doesn't exist - Forecast source indicators show ERP vs ML vs manual - Category-level drill-down identifies what's driving forecast
2. Forecast cash flows entity-by-entity across decentralized group structure¶
Desired Outcomes Addressed: - [x] Minimize the time spent chasing entities for forecast submissions - [x] Minimize the effort required to produce entity-level forecasts - [x] Reduce errors from manual Excel manipulation (format, decimal conventions, typos) - [x] Increase the granularity of cash visibility at entity level (not just consolidated) - [ ] Increase visibility into forecast changes vs original figures (partial - version tracking not full) - [ ] Reduce dependency on infrequent budget/forecast cycles (partial)
How Palm Addresses This: - Centralized forecast generation from bank and ERP data - No entity-level Excel submissions required for base forecast - Entity-level views with drill-down to consolidated - Standardized formats eliminate number formatting issues
3. Optimize use of operational cash¶
Desired Outcomes Addressed: - [x] Minimize buffer balances held on operational accounts - [x] Minimize idle cash sitting in low-yield operating accounts - [x] Increase investment income by deploying excess cash to higher-yield investments - [x] Reduce buffer requirements through forecast accuracy - [ ] Reduce uncertainty about daily funding needs (partial - depends on forecast accuracy) - [ ] Increase confidence in daily transactional forecasts (improving) - [ ] Reduce the frequency of early investment liquidations due to forecast misses (partial)
How Palm Addresses This: - Daily/weekly forecasts enable tighter cash management - Higher accuracy reduces need for buffers - Category-level forecasts help identify predictable vs unpredictable flows
4. Improve forecast accuracy by handling outliers¶
Desired Outcomes Addressed: - [x] Minimize the impact of one-off large payments on future forecasts - [ ] Reduce manual effort to identify and flag unusual transactions (no auto-detection yet) - [x] Increase confidence in forecasts by excluding known anomalies
How Palm Addresses This: - Outlier exclusion from ML training - Large transaction flagging - Manual adjustments to correct for known one-offs
Pain Points Addressed¶
| Pain Point | Addressed? | Notes |
|---|---|---|
| Excel chaos across many entities | Yes | Centralized platform, no Excel submissions |
| Budget/forecast cycles too infrequent | Yes | Rolling forecast always current |
| No smart forecasting in TMS | Yes | ML-based prediction |
| Data mining from ERP is difficult | Yes | Automated ERP integration |
| TMS inflexibility drives Excel usage | Partial | Self-service adjustments available |
| Outliers skew forecasts | Yes | Outlier handling capabilities |
| Collections forecast is just one monthly number | Yes | Daily granularity available |
What's NOT Included (Yet)¶
- Forecast version tracking and comparison ("what was my July forecast?")
- Push-button forecast generation ("generate weekly forecast")
- External signal integration (Instagram engagement, weather, etc.)
- Customer-specific AR collection patterns (influential customer tracking)
- FP&A budget reconciliation tools
- Forecast accuracy scoring by category
How It Works (Technical)¶
| Component | Technology | Notes |
|---|---|---|
| ML forecasting engine | AutoGluon TimeSeries | 25+ models including Chronos 2 foundation models |
| Model types | Ensemble | WeightedEnsemble, plus individual: DLinear, PatchTST, TiDE, DeepAR, etc. |
| Model registry | MLflow | Champion/candidate versioning, LoRA fine-tuning |
| Data storage | PostgreSQL | forecasts schema with versioned predictions |
| Anomaly detection | PELT + IQR | Changepoint and outlier detection |
| Task orchestration | Airflow | DAGs for training and batch prediction |
Key files/services:
- /backend/forecast/ - Forecasting engine
- /backend/variance/ - Variance analysis
- /db_schemas/forecasts_schema.sql - Data model
- /backend/palm_mlflow/ - Model tracking
Related¶
- Domain knowledge: docs/knowledge/cash-forecasting/
- Related features: forecast-settings.md, batch-uploads.md, one-off-items.md
- Roadmap: Related to Configure forecast models (Skateboard), Apply percentage-based assumptions to forecasts (Skateboard)
Last updated: 2026-02-17