Show HN: I made a simulator for personal finance and financial independence
projectifi.io
projectifi.io
A while back I posted a very early version here (https://news.ycombinator.com/item?id=26969173), and just released a major overhaul with loads of new features and enhancements, many inspired by the initial HN commentary:
- Monte Carlo mode with customizable simulations, variables, probability distributions
- Backtesting on historical data
- Multiple data persistence options for subscribers: cloud synchronization, localStorage only, or manual import/export
- Stock/bond allocation curve over time
- Improved support for international use cases (currency + locale selector, custom options and contribution limits for financial goals)
- Ability to quickly switch between deterministic and probabilistic modes
- Many new event types to model a broader range of scenarios
- Better support for married filing jointly / couples planning (perhaps still not perfect, but definitely better)
- Redesigned landing page, additional UI improvements
- And more!
If you feel like checking it out, I would love to hear what you think. Most of the functionality is free, but for anyone interested in upgrading to Premium, you can use coupon code "HN-15" for 15% off all plans :)
I saw your initial release of this many months ago, tried it out, was like, ok thats kinda cool, put it down.
But then recently i needed to do some serious life financial planning, remembered your tool, searched for the HN post and gave it a real go.... and WOW. Im so impressed. It does exactly what i need; give me a semi-realistic long term plan of finances, retirement, how much house i can afford, effect of jobs, stocks, etc. Being able to play around with scenarios like "what if one of us didnt work for a few years?" really easily. I probably could do all this stuff on a spreadsheet, but the fiddly details of things like inflation, raises, tax, etc are incredibly tedious to model. theres a lot of near term budgeting type apps etc out there, but there was no other product i found that works so well for long term macro stuff. So its well worth the premium subscription fee to me, on a time saved basis alone.
The UI/X is mostly great(ill email you some minor suggestions :) ), and your development velocity is really impressive.
Perhaps the total market for a tool like this is niche, but hopefully it turns into a profitable enough endeavor for you so you can keep working on it forever :)
- it was really un-intuitive to me to edit my starting investments/position. The little cal icon top of the left sidebar was not where i was looking for that. Suggestion: add starting conditions it as a collapsed column furthest to the left in the stacks under the main graphs. thats where i expected it to be, along side the other personal detail stacks
- adding a house mortgage and having it default to trying to pay it off as fast as possible seems wrong, few people would do that, makes more sense at low interest rates to do the regular 30yr
- its easy to accidentally do something that doesnt make sense that has big consequences... eg i was playing around quite awhile before i realized i had my living expenses marked as $X,000 per year instead of per month. I wonder if you could come up with a nice way to warn people when things are significantly outside "normal". eg "hey looks like your living expenses of $200/mo are unrealistic, did you mean this? y/n" dismissable, but might help people into correcting the bigger mistakes
I think warnings like you mention would be a great addition as well, though I have an intuition it may be difficult to pin down what outside of normal really is, since things can be different around the world. Still, I bet it's possible to call attention to any truly ridiculous-seeming values.
1. Beginning of career 2. Mid career (20 years in) 3. Close to retirement
It'd save on some of the starting questions, but I don't know if that's even possible.
It's true though, making a detailed plan requires detailed inputs. Are there any specific areas in the funnel that you would recommend cutting out or altering?
- compound interest should be the default.
- when asked rent and house expenses as a percentage, is it a percentage of initial cost? current value? future value? It doesn't really make sense as a percentage. I don't charge a tenant X% of my cost, I charge market rate which may be more, or less than my actual expenses.
- same for taxes. it's a nearly fixed amount that increases over time, but trying to do it as a % calculation of actual dollars is often incorrect because that's not how it's calculated in real life.
Effective yearly tax rate
Yearly maintenance costs
Yearly insurance rate
I automatically visualize "rate" as a percentage but I see "costs" as being expressed in actual money, so I inserted (believed to be inserting) 2,000 Euro in maintenance costs which of course ended up being 2,000% of the asset value.
Quickest bankrupt ever!
Maybe Yearly Maintenance Rate would be less prone to possible errors?
Still in Assets->House.
Your simulator seems to work "by category", i.e. it takes expenses for the house (taxes, maintenance, insurance) from the value of the asset?
I.e. with constant income fixed 6000 (salary until retirement and same amount as pension, tax exempt, todays money, follow inflation), no living expenses, and only a house with value fixed to 200000 (but adjusted to inflation), 1% tax, 1% maintenance, 1% insurance, the value of the asset decreases.
That should be 6000 income tax exempt, 6000 expenses, same house, everything fixed but adjusted to inflation.
But it is not like you are going to pay taxes, maintenance or insurance with "slices" of your house.
Anyway, with those values I start at 25 Net Worth 200,000 (only the house) and end up at 92 with a house worth 26000 and a lot of cash, 121000.
In the Wizard:
House 200000 200000 paid off
Acknowledge, etc. Confirm
Create a Plan
etc.
Now I have Other Asset value 200,000, Already Owned, cancels out Rent expenses during ownership, Value is fixed only adjusted for inflation, never sold
etc.
House starts at age 25 200,000, arrives at age 92 at 25,986. 25 first year is 200,000 26 second year is 194,000 27 third year is 188,180
The asset is defined "Fixed value only adjusted for inflation".
Of course if I enter the asset and change from "none" (that is now explained as "Inflation of 3% will decrease asset value over time") to "Match inflation" (that is explained as "Asset value will increase over time matching the inflation rate of 3%" and comes out on the main plan as "Value increases to match inflation" I get the "flat graph" I expected.
The issue is about the wording:
"Fixed value only adjusted for inflation"
vs:
"Value increases to match inflation"
The (fixed) value of an asset cannot "increase to match" (it is fixed) it can only be "adjusted to match".
As I see it the first one is "Fixed not adjusted to anything" and the second is "Fixed but adjusted to match inflation". (and something like these will disambiguate from Appreciate/Depreciate).
BTW the actual Appreciate/Depreciate % needs to be increased/decreased of inflation rate.
As I see it, there should be three possibilities only:
Fixed
Appreciate (and its %)
Depreciate (and its %)
and then a separate checkbox for "Match Inflation".
As an example, if you have Inflation at 3% and select Appreciate 1%, the result is a declining value (as you have no way to Appreciate it 1% AND match inflation, while it is common - at least here - to consider appreciation rate not as absolute but the difference over inflation, it should be specified/explained that there you need to put an absolute rate including inflation).
Free tier does not appear to persist data. Please do not make me re-enter the data if I want to get on a plan later...
Maybe persist for the free plan but only for a month. That should give me enough time to decide if I want to convert.
I feel like a lot of products with subscription plans want to convert too quickly. I have a full time job and family. Life gets in the way of being able to dedicate full attention to getting something setup.
Does the data I'd entered thus far get purged, and I would have to re-enter it if I picked the plan back up?
I feel like this kind of tool might be something I'd update once a quarter or once a year, but not want to pay for every month. But if my data is deleted in between uses, it's also a lot less useful. Is there a rational middle ground?
And yeah I see your point on wanting to come back and update things periodically. Is this perhaps where the yearly / lifetime plan options make more sense? Or are those priced too steeply in your estimation?
There's no way to know that before choosing a paid plan though, is there?
I'm not a good person to ask - I avoid spending money (I think) much more so than most people. And I wrote my own software for tracking all my finances (with zero graphs.) So I'm hesitant to spend money on other software.
Depending on a person's weakness or uncertainty, this kind of software can fill in a lot of gaps and help them make decisions that can dwarf the cost of your software, so I doubt the pricing is prohibitive.
As always, take me picking apart your software as a token of interest and a compliment. (I really wish I'd start picking up graphs from my back log...!)
On the home page in the "How it Works" section, there's a screenshot showing how you can remove your data. Perhaps I should make that even more prominent though, since evidently not everyone notices.
Thanks for the feedback!
Couple of points of feedback:
1. The UI flow for adding financial goals (like putting excess earnings into taxable investments, rain day funds, etc.) didn't make it immediately clear what that section was for. Some clearer explanations in that section might improve your funnel.
2. The way that debt is displayed by default on the stacked chart sort of makes it look like an asset, which is confusing. My reaction was just not to trust the chart for the whole duration of having a mortgage. Changing the house asset value in the stacked chart to home equity instead could maybe be a fix?
3. I really liked the little red exclamation indicator when a plan involved you running out of money b/c you retired too early. It felt very well calibrated to clearly indicate the inadvisability of that particular plan w/o being overwrought.
You might want to add less alarming yellow indicators to pick up not great, but not terrible situations like you retired too early & all your assets are tied up in retirement accounts and illiquid assists (e.g., home equity), so now you are eating early withdrawal penalties unnecessarily.
Great work!
For #1, I agree that section can be a bit difficult for new users to grasp. It's laid out the way it is so that later you can simply click and drag to re-prioritize goals and see the effects, but I'll think about how to communicate the purpose of that section better from the beginning.
For #2, yeah the concept of showing debt on top of everything else may be a bit... unconventional haha. That's where switching the plot to the net worth one can help somewhat if you want the chart to clearly show total net worth. In the stacked view, changing house value to equity is an interesting thought, though I think that still leaves it an open question how the chart should account for the other kinds of debt one might have.
For #3, yes definitely. Identifying warning scenarios and clearly marking those is a good feature idea.
I recently wanted to run some simple simulations (mortgage & investments) so I wrote a simple JS script that outputs the amortization table and a graph in the terminal of multiple scenarios you want to compare. Very limited in scope, but might be useful to others:
Here are some additional ideas for ways to generate revenue:
* $100-$200 one time guided setup consulting, where someone spends 30-minutes with me on zoom to get data setup the right way, talk through data analysis process, talk through simulation and projections, etc. * Marketplace to connect me with financial advisors who know your software, align with your approach to financial planning, and can help me with next level optimization.
Nice work!
- Support for tax brackets in other countries (maybe let users introduce them manually)
- Support for "disasters" in the probabilistic case. I'd be interested in knowing how robust is my strategy to being fired, or having a reduced salary. For example, letting me input a "probability of losing employment" per year and possible ranges for time being unemployed would be interesting.
- Also, support for variable-rate mortgages would be interesting. Here in Spain there are quite a lot of offers on mortgages at X% + euribor, and it'd be interesting to put together the behaviour of the mortgage index and the investments. Related with the previous points, simulation of economic crisis could be interesting: investments go down, increased probability of losing my job, increased mortgage payments maybe... Do I survive those crisis? What's my margin?
All in all, pretty interesting, congratulations on the job.
Being able to fund both (and then in retirement, set a max annual withdrawal from the tax-deferred account before withdrawing from the tax-free) is to me an important bit of modelling that I couldn’t figure out how to get sorted in 15-20 minutes.
I haven't gotten very far in to it so I haven't been able to explore the life events very much. But looking at the long term impact of "what if I died/what if I had life insurance (and what term)" is very helpful to explore.
Awesome stuff, I just signed up for premium. I assume for people that are not single you're meant to add their expected income and expenses as well? That could maybe more clear
Thought: While I appreciate the stuff around child dependents, it feels very weird and tacked on.
Sure sticking an expense called “child” works if you don’t already have kids, but if you do, those costs are inextricably integrated with your existing lifestyle costs. I can’t easily estimate how much my grocery budget will go down if I remove the food my kids eat. Even if I could, I’m certainly didn’t think about removing my kids from the expense calculations at step 1, when dependents get added later, because I didn’t think it would ask me that.
A better solution would be something that discounted expenses after some date. Similarly, you could always bump up the expenses at some date if you don’t already have kids.
Bug: I think the net worth chart is a bit busted. Mine started at 0, but that wasn’t obviously wasn’t true. While the growth line looked reasonable, I think the chart needs to be pushed up by an offset.
For dependents, wouldn't "discount expenses after some date" be roughly the same as taking some from your current living expenses and putting it into a child expense which eventually goes away?
But yeah, point taken. It's probably not the smoothest experience. Perhaps having additional ways to control how expenses change over time would help? Maybe something along the lines of an interactable plot where you can specify different values at different ages to interpolate between?
In 15 mins, I was able to get rough answers to questions like:
* When am I financially independent if I keep living the way I do now?
* What if I lowered my expenses right now seeking earlier FI?
* When could I hypothetically stop working by lowering my expenses at the point of retirement?
* How much would be left in my estate?
I bought the lifetime subscription, which seems like quite a good deal!
On the UI side there are a few odd things like trying to paste a number that has decimal points makes it so nothing gets pasted in, the colors on some of the graphs are hard to read (especially for people with color vision deficiencies), etc. As I use it I will try to give more specific feedback. Can't wait to dig in further.
The only other feedback I have is for the pricing screens to upgrade if you could list the payment options paypal, etc to manage subscriptions. I've been burned a couple times when smaller creators self manage subscriptions, and I had to email and wait for them to manually adjust the subscription.
I am estimating it would take > 15 minutes to fill out everything you want, and there is no way I am making that investment into a random website without some token of return.
Please consider giving general projections after only a few questions and then allowing the user to refine it by adding more details if they are interested.
They’re all very heavy weight, especially when it comes to expenses and tax rates.
I misread what you were saying in other comments about a sandbox and thought "nah, what this really needs is prefilled scenarios". Looks like you have the right idea: I'd absolutely love that, I have no idea what to fill in most of these boxes and would like some examples! That could orient your tool towards education rather than planning though
But your (really cool btw.) tool tells me I'm debt-free in 3-4 years? Not sure how it comes to this conclusion. Maybe I did something wrong.
[1]: Based on this analysis: https://brandur.org/minimal-analytics
> If you click settings from the banner, the switches default to on at that point
This is annoying; also, not allowed under GDPR. Cookie and privacy consent should be opt in instead of opt out. Clicking “settings” should not be treated as opting in.
Love the net worth back testing screenshot on the front page, but wonder how reasonable it is.
Index funds weren’t available to the general public before the 70s IIRC, and investing fees were very different then.
That would be my recommendation. Too much financial software out there doesn’t provide historical context and simply parrots useless quips like “Past performance is no guarantee of future results” (which in finance, it actually is a decent indicator!).
Because whole periods of financial history occurred in blocks of time, I’d like to see some financial software that actually acknowledges that.
I’m less interested in novice implementations which simply provide a graph over time of the Dow/S&P 500 performance benchmark, when realistically people didn’t use the S&P until recent history, and VTSAX’s first generation, precursor to the Vanguard 500 Fund, the First Index Investment Trust wasn’t available to the public until after ‘75.
Today, it’s the largest mutual fund in the world, according to Investopedia.
But basically, in our lifetime, there will be some sort of reorganization of these funds so that they can continue to grow, I expect.
This will presumably either happen in legislation, or funds being split across some entities at some level.
My guess is, think VTSAX Fund I, and VTSAX Fund II. New clients being moved into Fund II, and Fund I being closed to new investors.
Also, just… more people invest. Period. It’s very different from the investing rages of the past. This sort of volume today is known to remove pricing at large from the stock market.
That is, Tom, Dick, and Harry are going to continue to buy into the stock market by their 401(k) contribution no matter what the price is which is staggeringly dangerous.
Because of this volume and the US still being the preeminent nation on earth to invest in (no Chinese risk, no Indian maximum retail pricing), securities may continue to be overpriced well into the near future.
I would simulate those market details by reducing potential future returns, which is current conventional knowledge. Less than 5% is frequently discussed and is certainly a safe, and even generous, as a maximum threshold for the next decade.
During the initial COVID-19 pandemic lockdowns, the crash then did nothing to bring securities back down to fair market values, so many people just didn’t buy.
If you did, you would have made out great by now, but if you did then, it wasn’t because of the price of stocks. Some people just “bought the dip” without realizing it wasn’t a dip.
A full bushel of Apples today is not worth $250.00. But if that’s all you saw for the last half-decade, and it fell to $200.00, you’d think it was a great deal until you realized the replacement value of Apple trees would generate Apples at lower prices if you just planted them now yourself.
It seems like you already have some sort of analog to this with historical performance to begin with, though.
May find useful!
I'm planning on buying a $2M house in the SF Bay Area and didn't realize this tool was allocating $50K a year just for upkeep. Just a point of feedback :)
And to your second statement, there are plenty of <1000sqft homes, I'm Austin and in my zipcode they start at $600k.
Much better but not cheap. Houston's median home price is $295 Austin's in $550.
Also, congrats for your website. I find it very clear to understand what the tool does, why it is useful (your example are simple and to the point), and what is your pricing. :+1:
The one thing I would suggest ( I assume this would be a part where you attempt to monetize it ) is a referral to financial advisors, who can use the information to assist.
However, I do think there is a place for advisors not to pick investments but rather actually plan for life events (including tax stuff), which is right up the alley of this app). Having someone who could take all of your inputs, ask the right followup questions and appropriately model the likely range of outcomes on this kind of app could be quite attractive.
Instead, I would suggest starting by focusing on fiduciary financial advisors ( https://money.usnews.com/investing/investing-101/articles/wh... ), who have a legal duty to not recommend things that do not benefit their client. That alone may help with removing some of the unease of the referral.
Also, is there a way to model purchasing a house in the future? Probably the biggest decision I am struggling with right now.
And the "Other Assests" form has a "Purchase Year" input.
Thanks, very cool tool.
Overall, great work.
I'd be interested in seeing how close/different the projections are.
I ask because it's always the part I struggle the most in projects.
I'd remove unlimited plans from free tier, rename free tier to trial, and remove lifetime tier all together. That's only 15 months! Milk it
I currently use Undebt It[0] to manage my debts. It supports all kinds of debt payment plans like snowball, avalanche, cash flow index[1], etc. One feature I love is the "extra debt payment" that basically throws an addition X dollars at the highest interest debt (or whatever debt is prioritized by the selected repayment plan). When that debt is paid off, the amount rolls over to the next debt on the list. This helps a person to pay off debts faster and reduce total interest paid across the lifetime of the debt(s). For a family with a few credit cards, a car payment or two, and a mortgage this can save them tens of thousands of dollars.
Three suggestions:
1. Create an "extra debt payment" feature that goes towards my prioritized debt(s). This amount is in excess of the total minimum payment amounts. It could be towards the highest interest rate, lowest balance, split across all accounts, etc. When a debt is zeroed out the payment automatically adjusts to target the remaining debt(s). Example: two debts, each of $500/mo and an additional $100 "extra" per month for a total outflow of $1100/mo. When the first $500/mo is paid off then new outflow is $600/mo.
2. For each debt "account" add an option to "roll over" the monthly payment when the debt is paid off. This amount would then target the next prioritized debt amount. Example: two debts, each of $500/mo for a total outflow of $1000/mo. When the first $500/mo is paid off the "extra" $500/mo targets the second debt, for an unchanged outflow of $1000/mo.
Combining #1 and #2 example: two debts, each of $500/mo and an "extra" payment of $100/mo for a total outflow of $1100/mo. When the first $500/mo is paid off the "paid off" $500/mo targets the second debt (as well as the "extra" $100/mo), for an unchanged outflow of $1100/mo.
3. Stack the icons on the chart. The vertical scaling of the chart is wonky when adding a 10+ items all in the same year - this makes the chart seem squashed and difficult to parse.
Again - GREAT work. Definitely sent this to a few friends. If you don't respond I will shoot you an email in a few days. I'm sure you're very busy with the new release. Good luck!
[0] https://undebt.it/ [1] https://undebt.it/blog/cash-flow-index-cfi-debt-payoff-metho...
Currently, when you create a debt item or financed asset "X", there should be an "Extra X Payments" financial goal automatically generated, which you can click and drag higher up the list if you care more about allocating extra available yearly income towards that than certain other priorities. Is this feature working for you currently? And how close does it come to addressing / approximating your use cases above?