Inspiration
Our initial inspiration while doing this was to create an interesting project that aligned with our interests. Since challenge #2 was more mathematically inclined, we decided to do it since it seemed to have a better focus on technical skill and knowledge.
What it does
Horizon is an IT cost planning and forecasting application that provides an insightful view of financial data.
Planning
This is a deterministic baseline derived from budget items such as hardware, software, and cloud services. It incorporates lifecycle rules, inflation adjustments, and payment frequencies like monthly, quarterly, or yearly.
Forecasting
Machine learning-powered predictions are generated via Amazon Chronos. These models are trained on historical expense data and blended with the deterministic plan to ensure stability.
Expenses
The system tracks real-time expenses through manual entry or CSV ingestion. This allows for a direct comparison against both the plan and the forecast to identify discrepancies.
Users can manage budget items, generate five-year forecasts, and utilize a dashboard featuring KPIs, variance analysis, and category-specific breakdowns.
How we built it
Backend
The system utilizes Python with a FastAPI architecture. The business logic is modularized into distinct components for budget planning, reconciliation, and validation. Data persistence is managed through PostgreSQL.
Forecasting Logic
We implemented Amazon Chronos to predict monthly totals based on historical actuals. To ensure reliability, we employed a hybrid blending formula:
$$F_{final} = \alpha \cdot F_{ML} + (1 - \alpha) \cdot P$$
In this equation, $F_{ML}$ represents the Chronos output and $P$ represents the deterministic plan. We also apply a recent-actual adjustment to ensure near-term forecasts remain sensitive to current trends.
Frontend
The user interface is built with React, TypeScript, and Vite. State management and routing are handled by TanStack Query and TanStack Router. Data visualization is powered by Recharts and Plotly.
Challenges we ran into
Data Sparsity
Machine learning models typically require extensive history for accuracy. We implemented logic to synthetically expand sample actuals, ensuring the demo remains functional even with limited initial seed data.
Accomplishments that we are proud of
Hybrid Forecasting Model
The successful integration of ML signals with deterministic budgeting allows the system to remain useful despite data limitations. This balance ensures the forecast reacts to real-world changes without becoming volatile.
Unified Analytics Dashboard
We consolidated planning, forecasting, and actuals into a single view. This includes configurable granularity and a flexible horizon spanning one to five years.
What we learned
Foundation Model Integration
We gained experience in integrating domain-specific foundation models like Chronos into functional applications.
The Value of Hybrid Systems
Pure machine learning can be noisy in financial contexts. We learned that blending ML with deterministic logic creates a more reliable tool for stakeholders.
UX
Designing for finance requires a specific focus on clarity. We realized that variance indicators and precise charting are critical.
What is next for Horizon
Granular ML
We aim to move from aggregate forecasting to category-level tracks, such as separate models for Cloud versus Hardware, to provide finer detail and better forecasting.
Built With
- chrono
- fastapi
- javascript
- postgresql
- python
Log in or sign up for Devpost to join the conversation.