Financial Plan
A financial plan is Ozzie's personalized roadmap for a user. It answers the question: "Given what I earn, what I spend, and what I want β how do I get there, and how long will it take?"
Inputsβ
The plan is computed from three sources:
| Input | Source | Required |
|---|---|---|
| Monthly income & expenses | POST /financial-intake | β Yes |
| Financial goal (type + amount) | POST /goals | β Yes |
| Personality profile | POST /personality | Optional (improves quality) |
You must submit financial intake before generating a plan. If intake is missing, the API returns INTAKE_REQUIRED.
What a plan containsβ
{
"timeline_months": 14,
"allocations": {
"needs": 0.60,
"wants": 0.20,
"savings": 0.15,
"debt": 0.05
},
"key_metrics": {
"monthly_savings_target": 750,
"projected_goal_date": "2025-07-01",
"savings_rate_pct": 15
},
"action_items": [
"Reduce dining out to free up $120/month",
"Set up automatic transfer of $750 on payday",
"Build 3-month emergency fund before investing"
]
}
timeline_monthsβ
How many months until the user reaches their goal at the current savings/payment rate.
allocationsβ
A percentage breakdown of how the user's income should be distributed across four buckets. These are targets β not constraints.
| Bucket | Meaning |
|---|---|
needs | Non-negotiable fixed expenses (rent, utilities, food) |
wants | Discretionary spending (entertainment, dining out) |
savings | Going toward the goal |
debt | Minimum + extra debt payments |
key_metricsβ
Computed projections: monthly savings target, projected goal completion date, current savings rate, etc.
action_itemsβ
Specific, prioritized recommendations generated by Ozzie's AI based on the user's actual numbers.
When to regenerate a planβ
Regenerate the plan when:
- The user submits new financial intake (income changed, major expense added)
- The user changes their goal
- The user completes their personality assessment
- Significant time has passed (monthly refresh is a good default)
Simply call POST /plan again β it always uses the latest intake and goal.
Plan vs realityβ
The plan is the target. Transactions reveal actual behavior. Over time, the chat coach compares them:
"Your plan says spend $800 on food this month. You've logged $1,200 in food transactions so far."
This comparison only works if you're feeding transactions regularly β which is why the Transactions endpoint is so important alongside the plan.
β See Plan API Reference