Income Aggregation
The very first job of the app is to add up everything the user earns in a month. This one number becomes the foundation for every single calculation that follows.
Expense Aggregation
Expenses are split into two buckets — Fixed and Variable — then added together. There is also a derived ratio that tells us how much of income is being spent.
When you divide Total Expenses by Total Income, the result is always a decimal number. For example, ₹40,000 ÷ ₹60,000 gives you 0.6667. This decimal means "expenses are 0.6667 times the income" — which is technically correct, but it is very hard to read at a glance.
Why multiply by 100?
Multiplying by 100 converts that decimal into a percentage. 0.6667 × 100 = 66.67. Now you can say "66.67% of income is being spent," which is immediately meaningful. The × 100 does nothing other than shift the decimal point two places to the right so the number reads as a percentage instead of a fraction.
A simple way to remember it: any time a division gives you a decimal between 0 and 1, multiplying by 100 turns that decimal into its "out of 100" version — which is exactly what a percentage is.
Savings Rate Score — 25 Points
This is the most important metric in personal finance. It tells you what fraction of your income you are actually keeping. The higher it is, the faster your wealth grows.
Monthly Savings ÷ Total Income tells you what share of income was kept. For example, ₹20,000 ÷ ₹60,000 = 0.333. This means you saved one-third of your income — but 0.333 is not easy to read on a screen.
The × 100 converts that fraction into a percentage.
0.333 × 100 = 33.3. Now the app can display "Savings Rate: 33.3%", which everyone understands immediately.
This is exactly the same reason as in the Expense Ratio. Any time a division produces a decimal between 0 and 1, the × 100 is just there to make it readable as a percentage. It happens in every ratio throughout this tool — savings rate, EMI ratio, investment rate — they all follow this exact same pattern.
| Savings Rate | Points Awarded | What this means |
|---|---|---|
| 30% or above | 25 out of 25 | Excellent — aggressively building wealth |
| 20% to 29% | 20 out of 25 | Very good — well above average |
| 10% to 19% | 12 out of 25 | Acceptable — there is room to improve |
| 1% to 9% | 5 out of 25 | Poor — barely saving anything |
| Below 0% | 0 out of 25 | Spending more than earning |
Emergency Fund Score — 20 Points
The emergency fund question is: how many months could you survive financially with zero income? The global benchmark is six months of expenses held in liquid savings.
There is no × 100 here because we want the raw number of months — not a percentage. Six months is six months. Multiplying by 100 would give a meaningless number like 600.
| Months Covered | Points Awarded | Status |
|---|---|---|
| 6 months or more | 20 out of 20 | Fully protected — gold standard |
| 3 to 5.9 months | 12 out of 20 | Good buffer — keep building |
| 1 to 2.9 months | 6 out of 20 | Minimal safety net |
| Less than 1 month | 0 out of 20 | Dangerously exposed |
Insurance Coverage Score — 15 Points
Insurance is scored as two separate checks: health insurance adequacy and life insurance adequacy. Both are evaluated independently and then added together.
| Coverage Per Person | Points |
|---|---|
| ₹10 lakh or above per person | 8 out of 8 |
| ₹5 lakh to ₹9.9 lakh per person | 5 out of 8 |
| ₹2 lakh to ₹4.9 lakh per person | 3 out of 8 |
| Below ₹2 lakh or no insurance | 0 out of 8 |
Monthly income is multiplied by 12 first to get the annual figure because the life cover is a lump sum that needs to replace years of income — not just one month. Then the cover amount is divided by that annual income to get the multiplier. No × 100 — we want the raw multiplier (like 10x, 13x, 15x), not a percentage.
| Coverage Multiplier | Points |
|---|---|
| 15 times annual income or above | 7 out of 7 |
| 10 to 14.9 times | 5 out of 7 |
| 5 to 9.9 times | 3 out of 7 |
| 1 to 4.9 times | 1 out of 7 |
| No life insurance | 0 out of 7 |
Debt Management Score — 20 Points
Debt is scored on two dimensions: how heavy the monthly repayment burden is (EMI ratio), and how your total debt compares to your total investments.
| EMI to Income Ratio | Points (out of 10) | Risk Level |
|---|---|---|
| 0% — no debt at all | 10 | Perfect — completely debt-free |
| 1% to 20% | 8 | Healthy and manageable |
| 21% to 35% | 5 | Moderate — watch carefully |
| 36% to 50% | 2 | High — savings are being squeezed |
| Above 50% | 0 | Danger zone — debt trap risk |
No × 100 here — we want the raw ratio (like 0.5 or 1.2 or 3.0), not a percentage. The number directly expresses the relationship between debt and investments as a multiplier.
| Debt ÷ Investments | Points (out of 10) | What it means |
|---|---|---|
| 0 — debt-free | 10 | No debt at all |
| Less than 0.5 | 8 | Debt less than half of investments |
| 0.5 to 0.99 | 6 | Debt is less than investments |
| 1.0 to 1.99 | 3 | Debt up to twice the investments |
| 2.0 or above | 0 | Debt more than double investments |
Investment Score — 20 Points
Investing is scored on two things: are you investing consistently every month, and how large is your total portfolio relative to your income?
| Monthly Investment Rate | Points (out of 10) |
|---|---|
| 30% or more | 10 |
| 20% to 29% | 8 |
| 10% to 19% | 5 |
| 1% to 9% | 2 |
| 0% — not investing | 0 |
Monthly income is multiplied by 12 to get the annual figure because portfolio value is a lump sum — it makes more sense to compare it against a full year of income rather than just one month. No × 100 — the ratio is a number of years, not a percentage.
| Portfolio ÷ Annual Income | Points (out of 10) | Meaning |
|---|---|---|
| 5 or more | 10 | 5+ years of income saved — excellent |
| 2 to 4.9 | 7 | 2–5 years accumulated |
| 1 to 1.9 | 5 | 1–2 years accumulated |
| 0.5 to 0.9 | 3 | 6 months to 1 year of income saved |
| Below 0.5 | 0 | Less than 6 months of income saved |
Overall Financial Health Score — 100 Points
The five component scores are simply added together. Nothing is weighted differently or multiplied — pure addition, with each component already capped at its own maximum.
Chart Data Construction
Four charts are drawn using Chart.js. Here is exactly what data feeds each one.
Bar 2 — Expenses: The total monthly expenses figure. Colour: purple.
Bar 3 — Savings: Income minus expenses. If this is negative, the bar shows zero — the negative figure is used in recommendations instead. Colour: green.
Recommendations Logic
Recommendations are generated by checking each calculated number against a set of simple conditions. Each condition fires independently — several can trigger at once.
| What is checked | Condition that triggers a message | Type |
|---|---|---|
| Savings Rate | Below 10% | Danger |
| Savings Rate | 10% to 19% | Warning |
| Savings Rate | 30% or above | Success |
| Emergency Fund | Below 3 months covered | Danger |
| Emergency Fund | 3 to 5.9 months covered | Warning |
| Emergency Fund | 6 or more months covered | Success |
| Health Insurance | No health insurance at all | Danger |
| Life Insurance | No life insurance at all | Danger |
| Life Insurance | Cover is below 10 times annual income | Warning |
| EMI Ratio | Above 50% of income | Danger |
| EMI Ratio | 35% to 50% of income | Warning |
| Monthly Investment | Zero — not investing at all | Danger |
| Monthly Investment Rate | Below 10% of income | Warning |