Calculations
All analysis is rule-based (no LLM), pure and covered by tests.
Net worth
portfolio (investments) + off-portfolio assets (real estate, cash) − debt (loans)
Assets and positions held in a foreign currency are converted to PLN at the current NBP rate (table A); the conversion refreshes when the app starts, and the rest of the calculations then work in PLN.
Savings rate
The average over recent months that had income: contributions / income.
Financial health score (0–100)
A weighted blend of components:
| Component | What it measures | Weight |
|---|---|---|
| Buffer | months of expenses in reserve (target 6) | 25% |
| Savings rate | against a 20% target | 20% |
| Debt | the lower the debt share, the better | 15% |
| Diversification | 1 − the portfolio's Herfindahl index | 15% |
| Goals | average goal progress | 10% |
The score is the sum of value × weight, normalised to the available components.
FIRE
- FIRE number = 25 × annual expenses (cost of living × 12).
- % FIRE = investment assets / FIRE number.
- SWR = a safe 4% annual withdrawal (monthly /12).
- Lean / Full / Fat milestones (15× / 25× / 33× annual expenses).
- Coast FIRE — computed from your birth date (to age 60, ~5% real return).
Value projection
Future value = target contributions + compounding at the annual rate assumed per position (e.g. ETF and Adam's IKE 8%, EDO 5.5%, ROS and COI 5.25%, PPK 6%). For ETFs the value is net of the 19% capital-gains tax. Debt is reduced by planned overpayments (conservatively, ignoring interest).
Insights
The rules generate tips with a severity of good / info / warn: loan payoff,
savings-rate trend, buffer, debt share, portfolio concentration (and crypto risk),
% FIRE. The same rules power your notifications.