8 ms·
Show HN: BudgetFlow – Budget planning using interactive Sankey diagrams
- cynicalsecurity 2y agoLooks like some useless fancy-looking stuff for managers.
- techplex 2y agoThis is a neat view into budgeting. What are your future plans? Will you have tools that help see how the different pockets grow over time?
- mkrd 2y agoHey, thanks! I have a lot of ideas, one of them is to actually have a scrollable timeline so you can see how your budget develops over the years. Also I am thinking about adding things like planned future expenses, and a retirement calculator. Sadly I don’t have enough time next to my day job, so progress is slow. I am hoping that it might gain some popularity, so I can maybe start allocating more time to this project!
- jonplackett 2y agoI love this idea! I was vaguely thinking of making something like this for myself but I’m very glad someone else has done the hard work. Getting started now!
- mkrd 2y agoThanks! Really encouraging to see people liking it :)
- egberts1 2y agoI use Sankey (in Python) to plot out multiple retirement pathways with ramification on various taxes and draindown of funds especially if you can display three or more variants side-by-side (or in my case, stacked viewers). It is a great graphing tool!!!
- gresrun 2y agoYou should check out Projection Lab[0]! Not affiliated; just a happy customer! [0]: https://projectionlab.com/ https://projectionlab.com/
- monkeydust 2y agoNice use of Sankey. Here's an ask or thought, I would like to feed this automatically with my spend data from my bank account. So I can export a csv that has time-date, entity, amount (credit/debit) - would be great if it could spit this out by category (where perhaps an llm could help with this task). I would then like flow to be automated monthly or perhaps quarterly with major deltas (per my definition) then pushed to me via alerts. So this isn't so much active budget management but passive nudging where the shape of my spend changes something I don't look at now but would like to.
- jvanderbot 2y agoIf you have a CSV and are happy using LLM, then you should ask an LLM to give you python code to generate a sankey plot. It's not difficult to wrangle.
- westurner 2y agoThe Plaid API JSON includes inferred transaction categories. OFX is one alternative to CSV for transaction data. ofparse parses OFX: https://pypi.org/project/ofxparse/ https://pypi.org/project/ofxparse/ W3C ILP Interledger protocol is for inter-ledger data for traditional and digital ledgers. ILP also has a message spec for transactions.
- strofocles 2y agoI am working on an app like that. Far from being complete, at this point is syncing with live data from the banks (well, almost live, a few hours behind). My idea is to have the app do as much as possible for you and just tell you how you're doing: if you're saving enough, if you're spending more than usual on something, show you charts, project future savings at the current rate of saving accounting for interest/capital-gains etc. The app would incorporate sound financial planning principles (prioritise paying dept, invest some of the money, live below your means, etc). I'd love to hear from people who would be interested in this.
- Ozzie_osman 2y agoHi! Co-founder or Monarch Money here. Our app actually does a big part of this (once you connect your bank accounts), and the Sankey flow visualization is one of our more popular visuals.
- shireboy 2y agoI love Sankey diagrams and don't understand why major personal finance apps like Mint, Quicken, etc., (and corporate ERPs for that matter) don't provide them out of the box. I plan to try this out for a budget, but want to see my actual expenses this way as well.
- davidstoker 2y agoSounds like you would benefit from Monarch. I use their Sankey features for visualizing expenses (https://www.monarchmoney.com/features/spending https://www.monarchmoney.com/features/spending)
- enobrev 2y agoI'm also a fan of monarch. Thanks for this; I didn't realize they had it. I wish I could have more control over the feature, but it's nice to see it there.
- enos_feedler 2y agoI've been using Monarch for the last 6 months when I heard Mint was shutting down. It's been a dream to use and I feel good paying directly for software that I believe they will continue investing in. It even supported more bank/credit connections than Mint was able to. I referred my sister last week and I got a discount. So I am going to throw this out there in case anyone wants to try it: https://www.monarchmoney.com/referral/qrg5tt40me https://www.monarchmoney.com/referral/qrg5tt40me
- satvikpendem 2y agoWhat do you like about Monarch versus other solutions like Mint and YNAB etc, besides what you mentioned already?
- Ozzie_osman 2y agoMonarch co-founder here. Thanks for the mention. Our Sankey visualization is one of our most popular, and we are hoping to make a bunch of further improvements (hopefully, making it more interactive).
- calrain 2y agoWhere does the data get stored? Why is there no company / legal entity / contact information on the home page? It's an interesting idea, but if you want budget information about people, you need to excel at being above board.
- mkrd 2y agoGood point, I get your concerns. I just got the page out there, so it is super new, but I will add the relevant info as soon as possible. The data is stored in a database that is on the server which serves the page!
- ttul 2y agoYou need a random number generator called “Having Kids” and another one labeled “Divorce”. This would complete the simulation. /s
- ttul 2y agoMore seriously, though, budgeting models benefit from the ability to express a random variable at each input so that you can graph the possible range of outcomes.
- causal 2y agoYeah this is where most budgeting tools fail me. These tools often provide super detailed categories that the user just has to make educated guesses about- and the onus is then on the user to abide by their guesswork. Not to mention how these tools pretend that expenses all happen in neat monthly/yearly cycles. Budgets are useful for savings goals, but it's difficult to plan day-to-day spending beyond very high-level categories. I personally find retrospective diagrams more useful - a breakdown of what my actual expenses were so that I can update my mental model and find subscriptions (or habits) to eliminate.
- dugmartin 2y agoThe way we've (my wife and I) have been budgeting for years is to have a set of fixed monthly expenses, mostly recurring but some one time, and then have a pot of money for variable daily expenses. We then divide that into the number of days of the month and think of this as our "daily allowance" and we try to stay under it to stay within our monthly budget. Some days are over, some are under but if you recalculate it every day it is an easy way to stay on track with the bonus that sometimes you have a lot of money you can spend at the end of the month. We still categorize the expenses but it is more for looking backwards. I've thought of making an app using this methodology but personal finance apps are like project management apps - everybody has their own opinion on how they should work. I do this with a Google Doc spreadsheet per year with tabs per month which is not ideal but works well enough.
- arabello 2y ago[dead]
- dewey 2y agoClicking on the settings icon shows a "Not Found" error.
- surfincoder 2y agohey man. This is dope. Do you have an email I could reach out to? Im working on something in this space & would love to collaborate on something with you.
- mtam 2y agoWanted to drop a note that I have been using Sankey for the exact same use case for a couple years now. I use Google Charts and about 40 lines of JS code, then I export the SVG (or paste a screenshot) into my presentation slides. It is a bit tedious and error prone process but works great. There are a few bugs on Google Charts Sankey implementation as well that makes so that the order you enter items impact the visualization layout. In my case, we do project level budget and it has to flow upstream so I need to ensure that the numbers add up. From my preliminary test, it does not look like I can do that with this tool (yet?). I want to enter the leaf / most granular level numbers and then do the group hierarchy and not have to enter every number from top to bottom.
- artur_makly 2y agofound a free google sheets (local) add-on for this too: https://github.com/brucemcpherson/SankeySnip?tab=readme-ov-file https://github.com/brucemcpherson/SankeySnip?tab=readme-ov-f...
- BigParm 2y agoNice use of that diagram type I love it
- mkrd 2y agoThanks!
- shagie 2y agoOne of the things that irks me with many of the /r/dataisbeautiful things with Sankey diagrams is somewhere on the line there's "one big bucket" that loses all of the data behind it. In my own budgeting, my direct deposit can go to multiple accounts - and I do. Part goes to my "allowance" account and part goes to my "savings" account. Other people have alimony, child support, or similar withholdings from their wages. So the question I have for the example budget on the page, can you have the freelance work go directly to savings? Or 300 be taken out of salary and go to child support without hitting the main account? If you have two incomes in a household and the breakdown is "two personal accounts and one shared account - each person contributes 10% to their own and 10% to the other person's personal account, and 80% to the shared account," can that be shown that way rather than one "main" account?
- globular-toast 2y agoHow does it "lose all of the data behind it"? It's right there on the left hand side. Money is fungible so when it comes to budgeting it doesn't matter where it comes from. I don't really see the point of adding obligations/liabilities like taxes and child support to it. The point of a budget is it's your choice how you allocate it so why add stuff that isn't your choice? When you say freelance goes directly to savings, are you saying you want something like "no matter what I earn from freelance it goes to savings"?
- shagie 2y ago> When you say freelance goes directly to savings, are you saying you want something like "no matter what I earn from freelance it goes to savings"? Yes. Or another account so that you have clear accounting for tax purposes. "This account gets freelance money and this money was spent for home office expenses related to the freelance work which is deductible from that income stream." Child support obligations come out of one income as a percentage of that income - but not the other. A two income family where the husband is paying 10% of wages to child support for example - its 10% of his $1000 / month that never hits the main account, but her $500 /month is untouched and goes to the shared account. This could be complicated if she was a 1099 worker and needed to keep track of that money separately so that it could have the proper taxes taken out of that and have the resulting "actual money" that is spendable go into the "can be spent" bucket. While money is fungible, the depiction of money flows when it hits a "one big bucket" makes it so that the value behind the Sankey diagram is lost. Is all the money that your household makes taxed the same way? Do you file jointly or separately? Is there a separate account for isolating certain expenses for reporting purposes? https://alternativeenergyatunc.wordpress.com/wp-content/uploads/2013/06/llnlusenergy20111.png https://alternativeenergyatunc.wordpress.com/wp-content/uplo... is useful and one will note the lack of a big bucket. Or consider the original one - https://upload.wikimedia.org/wikipedia/commons/1/10/JIE_Sankey_V5_Fig1.png https://upload.wikimedia.org/wikipedia/commons/1/10/JIE_Sank... There is information lost when it goes to one big bucket.
- jftuga 2y agoThank you for including a relatively straightforward Privacy Policy: https://www.budgetflow.cc/privacy_policy https://www.budgetflow.cc/privacy_policy and ToS: https://www.budgetflow.cc/terms_of_service https://www.budgetflow.cc/terms_of_service
- mkrd 2y agoNo problem! And thanks to everyone who advised me to add them quickly
- rendaw 2y agoIs there any stock TOS/Privacy Policy for a typical SaaS? I feel like the requirements for most are similar, and they tend to cover a superset of things in case the business pivots later. I did hire a lawyer to write one for me and got some nonsense irrelevant references to mobile apps and user created content, full of typos, so back to the start... (to be clear, the extra clauses weren't the issue, but a template full of typos seems inherently less trustworthy to me than a random template without typos)
- Nzen 2y agoI recommend Kyle Michell's Fast Path [0] terms. I'll grant that I'm familiar with Michell's work, but haven't read these particular terms. Kyle Michell publishes 'plain language' licenses. For example, compare how Blue Oak Model [1] and MIT [2] grant permission. Obviously, Michell has the benefit of lots of discourse following the induction of MIT's license and indicates a link can substitute for the full license text. I highlight this, not to argue for Blue Oak, but to indicate that Michell's Fast Path terms likely take half the space of typical software terms. ``` Blue Oak Model Each contributor licenses you to do everything with this software that would otherwise infringe that contributor’s copyright in it. You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to https://blueoakcouncil.org/license/1.0.0 https://blueoakcouncil.org/license/1.0.0. ``` MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. [0] https://fastpathlicense.com/ https://fastpathlicense.com/ [1] https://blueoakcouncil.org/license/1.0.0 https://blueoakcouncil.org/license/1.0.0 [2] https://opensource.org/license/MIT https://opensource.org/license/MIT
- b800h 2y agoI'm not sure the diagram helps in any way, certainly in the use case on the main page. The "main account" is just thrown in to provide some sort of intermediate step. In most people's cases, it's just about income and outgoings.
- globalise83 2y agoI believe that this flow diagram would be greatly enhanced by having a "balance" type of node where you could see the balance at start, balance at end, net increase (decrease) within the popover (obviously the flow in - flow out should = the net increase). Would obviously make sense for bank account, and same for savings account nodes.
- itomato 2y agoI seriously want this for ERP
- boilerupnc 2y agoEnterprise tools using Sankey exist. I'm familiar with Apptio's TrueCost Explorer [0] as one example that can pull in budget input from ERP and Cloud. [0] https://www.apptio.com/products/cloudability/true-cost-explorer/ https://www.apptio.com/products/cloudability/true-cost-explo... * Disclosure - I work for IBM
- thomascountz 2y agoThanks for sharing this. I've never seen Sankey diagrams used for budgeting, but it feels very intuitive! I'm wondering about how budgeting tools like this help with planning vs budget auditing? Or maybe what I'm thinking of has a different name? When I think of budget planning, I'd like a tool to tell me what would happen to Y if I did X (e.g. how would buying a car today [purchase plus recurring costs] effect my maximum home down payment in 12 months)? Or if I want A, what can do to B, C, and D to make it happen (e.g. if I want to save for a trip to New Zealand next year, how could adjust my budget to reach my goal)? I'm not sure if what I'm describing is planning or not, but I can imagine visualizations helping with it!
- parsadotsh 2y agoLooks very nice, but animations are very laggy for me (M1 Mac, Chrome Beta)
- mkrd 2y agoIt's weird, sometimes they are slow for me, too. But everything is done with native CSS transitions. Definitely have to look into that again, thanks for the heads up
- bojo 2y agoThis is pretty cool. I manually put my budget for a month into a sankey generator just to see last year. Nice to see someone run that idea a little further.
- wouldbecouldbe 2y agoIt's nice,would there be a way to combine monthly, weekly etc. based on the logic of the cost.
- fouc 2y agoStrange, chart doesn't load in Safari 15.6, no error message in console.
- txutxu 2y agoIt's wrong. 3500 in -> go to parents house -> 1000 into bitcoin -> 100 into speculative coins on bull market, or making sorts in bear markets -> 300 into gold -> 600 to stocks with dividend growth -> 400 to real state or REITs -> 200 to speculative stocks -> 500 to your bank account (with some interest) -> 200 to cash, for those days you go out of your parents home -> 200 to presents for your parents If your parents complain, give them the money of the presents, part from the bank account or from the speculative stuff, to silence them. Repeat and reinvest benefits into non correlative actives. Once you reach a balance of ((90 years - your age) x 12 months) * (3500 * N), maybe you can leave your parents home (not mandatory), and try to race with your yearly benefices, against the *real* inflation. N is a magic number, to cover the compound inflation during all those years, without penalizing too much the first years. Maybe next year 3500/month is still ok, but in 30 years it won't. If you're over 70's, do not follow this advice, take the 3500 and live la vida loca each month. Like in the "latin" song from the country that did never ever speak "latin". Have a nice day. Now seriously: The real important stuff when working with budgets, is to "see" the "estimate Vs real" thing.
- mkrd 2y agoYes, seeing the estimate vs the real thing will depend on how you set up your accounts. I have separate accounts for separate concerns, and automatically transfer the budgeted amounts, so I can see at the end of the month if my estimates are correct, or if I need to change them. But if you only have one bank account for everything, this will become harder
- phailhaus 2y agoVery pretty! One thing I noticed is that when you hover over a budget item, it highlights the source and the destination of that item, but only a distance of one away. I think it would be useful to highlight items all the way to the root and leaves, so you can see where the money is actually coming from and going to. For example, if I hover over "Retirement Savings", it only highlights the "Savings" item. But I want to see where that money is eventually coming from: from the Main Account, which is fed by Freelance and Salary!
- jonplackett 2y agoIs there a way to see how the money changes over time or do I need to work that out myself. Like if a bucket is filling up month by month?
- n0b1m 2y ago[flagged]
- xiaodai 2y agoI like it. I use something similar in some code that i've developed
- opdahl 2y agoThis is so cool! I actually spent the last 3 hours after finding this creating a personal budget for the first time in my life. Basically I just added all my expenses using Claude.ai to help me create good pockets (could be cool integration?). That gave me a good overview of what I was spending way too much on. I especially liked the part where I could have my surplus automatically going into a savings bucket. I realized that my savings would not grow as quickly as I was hoping with my current spend, and the visualization really helped me understand where most of my expenses were going. After that I basically just optimized all my expenses until I got to the savings level I was comfortable with. So yeah I'm not sure how this is different from other budgeting apps since I never used them, but this was the one that made me actually do that. Thank you so much.
- mkrd 2y agoGreat to hear this! Gives me a lot of confidence that it is worth continuing to work on this. The AI integration Idea is interesting, could be a good starting help for everyone who is just starting out. Thanks man!
- winterrx 2y agoGetting a 504. RIP Edit: Back alive :)
- mkrd 2y agoHaha yeah, my 3$/month server gets some hiccups with that much traffic
- d1sxeyes 2y agoIt's cool to see [PicoCSS](https://picocss.com/ https://picocss.com/) in the wild.. I'm playing with the app and it looks great so far!
- mkrd 2y agoGood find :) It is the perfect foundation to make the site look good without a lot of effort
- lcof 2y agoI really like the idea. Having a bird's eye view of money flow is central to building and maintaining a strategy. I have been looking for this kind of tool for years, and currently am using a spreadsheet for this, as nothing worked for me. This simple diagram is so much clearer. But you need to refine the UX, which is barely usable at the moment: it took me a few minutes to understand how to change the numbers. I am still not sure how to add pockets. The name pocket itself is not very descriptive to me, but I am not sure how I would call them. Maybe just « entity », and have a few variations of them (income, accounts, etc). I would need pockets that take a percentage of another one, such as tax withholding. This feedback is not structured, but I really like this idea and hope it will help
- mkrd 2y agoHey thanks for the feedback! The default budget on the home page does not have the add pocket/flow buttons, those are on the pages where you add your budgets are listed. But it totally makes sense to have them there as well, just added them! Thanks for noticing! The naming is really hard, the where first called "nodes", but that was hard to understand for many. I habe to analyze this again, maybe you are onto something by just naming them income/expense/account/grouping etc. The idea to take or send a percentage is very interesting, basically a generalization of how it currently works. Really valuable feedback, thank you!
- lcof 2y agoI think entities or nodes can be categorized as incoming, outgoing, and internal transfers. Once you get this right, the natural next step is to take time into account. The current chart is the ideal moneyflow, but from months to months I’ll deviate from it. Taking time into account means that these deviations are saved and analyzed. It also means one can analyze or prospectively test new allocations: given average annual returns on investments, what would my savings look like in the future? How did it evolve over time? That’s just my thoughts on it
- maxehmookau 2y agoI've been looking for something like this for a while :) Looking forward to trying it out!
- femtozer 2y agoSmall bug on the main page: the footer is duplicated when the logo at top left is clicked.
- mkrd 2y agoI can’t reproduce it, is there a specific order of clicks I could use to get it duplicated? Edit: Found it, happens on the landing page when not logged in. Thanks!
- sciencesama 2y agodoes this have a selfhosted version ?
- mfh423 2y agoThis looked like an awesome product... until I signed up, then it made no sense using it. UX is nonsense. Hope it improves though so thumbs up
- ishyfishyy 2y agoI’ve been working on a personal finance app for the last few months that’s in beta now that’s doing something similar. It’s essentially a personal finance app plugged with Plaid, autocatergorization and whatnot, and the dashboard automatically dynamically updates a Sankey chart of your monthly spending. Example https://imgur.com/a/olpW97s https://imgur.com/a/olpW97s Shameless plug, https://www.conquest.money/ https://www.conquest.money/
- mkrd 2y agoLooks great man! I think we are doing something different conceptually, my app intentionally doesn’t have expense tracking, and is purely about budget planning. But I like the idea of automatically generating a sankey from your expenses, good job on that!