[HN Gopher] Show HN: BudgetFlow - Budget planning using interact...
       ___________________________________________________________________
        
       Show HN: BudgetFlow - Budget planning using interactive Sankey
       diagrams
        
       Author : mkrd
       Score  : 181 points
       Date   : 2024-08-07 11:56 UTC (11 hours ago)
        
 (HTM) web link (www.budgetflow.cc)
 (TXT) w3m dump (www.budgetflow.cc)
        
       | techplex wrote:
       | This 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 wrote:
         | Hey, 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 wrote:
       | I 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 wrote:
         | Thanks! Really encouraging to see people liking it :)
        
       | egberts1 wrote:
       | I 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 wrote:
         | You should check out Projection Lab[0]! Not affiliated; just a
         | happy customer!
         | 
         | [0]: https://projectionlab.com/
        
       | monkeydust wrote:
       | Nice 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 wrote:
         | If 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 wrote:
           | The Plaid API JSON includes inferred transaction categories.
           | 
           | OFX is one alternative to CSV for transaction data.
           | 
           | ofparse parses OFX: 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.
        
       | shireboy wrote:
       | I 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 wrote:
         | Sounds like you would benefit from Monarch. I use their Sankey
         | features for visualizing expenses
         | (https://www.monarchmoney.com/features/spending)
        
           | enobrev wrote:
           | I'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.
        
         | freddie_mercury wrote:
         | I'd guess because the PMs on those products are pretty sure
         | (and I agree with them) that adding a Sankey diagram will
         | generate ZERO additional sales, so even one day of work to
         | implement it isn't worth it, especially given the ensuing
         | lifetime of maintenance on the feature.
         | 
         | Speaking just for myself, I've looked at personal finance
         | Sankey diagrams on Reddit many times and never understood what
         | use they were to anyone, what actionable insights were provided
         | that you didn't already get some other way.
        
           | MrGilbert wrote:
           | > [...] and never understood what use they were to anyone.
           | 
           | Different people consume data in different ways. For some,
           | data is easier to understand when arranged in tables, black
           | on white, as they can skim through a lot of datasets quite
           | easily.
           | 
           | Others benefit by a colorful, graphical representation, which
           | Sankey provides.
           | 
           | From my experience in consumer facing applications, I'd
           | assume that a colorful, flashy, nice-looking Sankey could
           | boost sales. People prefer things that look nice.
        
           | shireboy wrote:
           | Well, I'm considering purchasing Monarch because of this
           | feature, so not sure that's true. I am a visual learner, but
           | the reason I like them is they help me at a glance see the
           | flow of money through multiple categories. Some systems
           | represent this as pie charts you drill down on, but a Sankey
           | shows it all at once glance. As far as actionable insight,
           | they help decide areas that would be most beneficial to
           | reduce expenses or increase revenue.
        
       | calrain wrote:
       | Where 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 wrote:
         | Good 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 wrote:
       | You need a random number generator called "Having Kids" and
       | another one labeled "Divorce". This would complete the
       | simulation.
       | 
       | /s
        
         | ttul wrote:
         | More 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 wrote:
           | Yeah 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 wrote:
             | The 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.
        
       | dewey wrote:
       | Clicking on the settings icon shows a "Not Found" error.
        
         | mkrd wrote:
         | Hey! That's because the budget on the landing page is not
         | really stored in the DB. Haven't found a better way to do it
         | yet. But if you login, it will work on your budgets!
        
           | dewey wrote:
           | You could just hide the button if the user isn't logged in to
           | not confuse people.
        
       | surfincoder wrote:
       | hey 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 wrote:
       | Wanted 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 wrote:
       | found a free google sheets (local) add-on for this too:
       | https://github.com/brucemcpherson/SankeySnip?tab=readme-ov-f...
        
       | BigParm wrote:
       | Nice use of that diagram type I love it
        
       | shagie wrote:
       | One 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 wrote:
         | How 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 wrote:
           | > 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/uplo... is useful and one will note the lack of a big
           | bucket. Or consider the original one - https://upload.wikimed
           | ia.org/wikipedia/commons/1/10/JIE_Sank...
           | 
           | There is information lost when it goes to one big bucket.
        
             | nightski wrote:
             | Accounts are meaningless in the grand scheme of things. I
             | personally have dozens and they don't really align with how
             | I want to utilize the money when I am using them optimally
             | from a financial perspective. It's better to think in terms
             | of envelops/buckets IMHO, which the Sankey absolutely does.
             | That's the right side of the equation.
        
         | oxw wrote:
         | Budget and finance tools as a class operate under the idea that
         | money is fungible. One of those differences between how
         | economists believe people operate vs how they really do
         | 
         | The people I know who could benefit most from budgeting do not
         | think of money as fungible. They mentally allocate different
         | incomes to different spending categories
         | 
         | This seems like an opportunity for a tool to break the mold and
         | offer a solution that fits how people feel about money vs how
         | they "should"
        
           | cdchn wrote:
           | Money is fungible. That is what makes it money. You're just
           | thinking of different ways to allocate it.
        
           | shagie wrote:
           | A dollar in an account is fungible. Are all the dollars that
           | show up on the W2 going to the same account? Do some of them
           | not even hit the main account?
           | 
           | If I made $3000 this month and $300 of that went to a
           | retirement account and $1000 of that went to tax withholdings
           | and another $300 went to child support, and of the remaining
           | $1400, I had direct deposit put $1000 in savings and $400 in
           | allowance... how would that be represented?
           | 
           | I contend that for this (these numbers are purely made up for
           | ease of talking about):                   (income 1)
           | $3000 -> $300 child support               -> $300 company
           | retirement plan               -> $1000 tax withholdings
           | -> $300 allowance -> {various 'fun' expenses}
           | -> $1100 savings  -> {various 'not fun' expenses}
           | (income 2)         $2000 -> $700 tax withholdings
           | -> $200 allowance -> {various 'fun' expenses}
           | -> $1100 savings  -> {various 'not fun' expenses}
           | 
           | The 'allowance' and 'savings' are each one bucket that have a
           | net $500 and $2200 coming in to them respectively.
           | 
           | Having $2000 and $3000 go into one big bucket of a 'main'
           | account, while working under the 'all money is fungible'
           | fails to capture some reality of how money flows. For
           | example, if income 1 loses their job, child support goes to
           | $0 (not $300 from income 2) as does the $300 for retirement
           | and the $1000 for tax withholdings.
        
           | jamilton wrote:
           | Might it be more effective to try to get such people to think
           | of money as fungible?
        
         | mkrd wrote:
         | This works better on desktop, if you hover with your mouse over
         | a flow that you can see the individual parts it is made up from
         | and you can click on each one to see and edit it.
         | 
         | Also, you can configure the flows completely freely, so each
         | case you mention will work easily!
        
         | cbhl wrote:
         | I've been using YNAB for the last ten years or so and I've
         | found the best way of dealing with these sorts of cases is to
         | exclude that money from "the budget" altogether (off-budget
         | bank account, simply not linking them, or putting them in a
         | separate "budget").
        
         | FinnKuhn wrote:
         | With Sankey graphs you can just "skip" one stage. So in your
         | example you could go from "income 1" directly to "expense 1"
         | without first going to the budget. Most people don't do this
         | though, because most people just have all their income go to
         | one bank account, which is the "big bucket" that all the money
         | goes through.
         | 
         | You can see an example I quickly created for this here:
         | https://sankeymatic.com/build/?i=OoQw5gpgzgBA2gFgKwAYC6MAqIA...
        
           | shagie wrote:
           | That's a better visualization than most people present.
           | 
           | An example of one that disappoints is https://www.reddit.com/
           | r/dataisbeautiful/comments/15f01pb/oc... where that one big
           | bucket of 'total applications' loses a lot of data. Was
           | everything from Dice ghosted? That would be useful
           | information. I would contend that there's no value in the
           | 'total applications' bucket in there at all other than to sum
           | up the leftmost column - which can be done separately.
           | 
           | One big bucket isn't necessarily wrong, but if one is trying
           | to show off the features of the Sankey diagram, showing it
           | with the stronger representations that it is capable of doing
           | can be useful.
           | 
           | Having seen countless poorly done ones with an everything
           | bucket in the middle that squashes valuable relationships
           | between the inputs and outputs... and that's a turn off for
           | me when they are presented that way.
        
           | wongarsu wrote:
           | This is so much better. For me the raison d'etre of Sankey
           | diagrams is to show the dependencies in money flows.
           | 
           | For example if I earn $500 from freelance work, but spend
           | $200 on marketing and $400 on transport to do that, then a
           | Sankey diagram like the one on the front page where
           | everything gets intermingled in a main account and expenses
           | get deducted at the end make it seem like this freelance work
           | is a good thing and I should probably do more. In a good
           | Sankey diagram I would immedately deduct the expenses from
           | the freelance work, and see that instead of freelance income
           | reaching my budget I'm actually subsidizing freelance work
           | from my salary income.
           | 
           | Similarly in your example it's immediately obvious that if
           | the wage would vanish a lot of the taxes would also vanish
        
             | mkrd wrote:
             | That makes so much sense, thanks! I will update the example
             | accordingly. But this shows that some knowledge is needed
             | to make good use of Sankey diagrams. I should add some
             | tutorial pages with examples to make it easier to get
             | started
        
       | jftuga wrote:
       | Thank you for including a relatively straightforward Privacy
       | Policy:
       | 
       | https://www.budgetflow.cc/privacy_policy
       | 
       | and ToS:
       | 
       | https://www.budgetflow.cc/terms_of_service
        
         | mkrd wrote:
         | No problem! And thanks to everyone who advised me to add them
         | quickly
        
       | b800h wrote:
       | I'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 wrote:
         | I 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 wrote:
       | I seriously want this for ERP
        
         | boilerupnc wrote:
         | Enterprise 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-
         | explo...
         | 
         | * Disclosure - I work for IBM
        
       | thomascountz wrote:
       | Thanks 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 wrote:
       | Looks very nice, but animations are very laggy for me (M1 Mac,
       | Chrome Beta)
        
       | bojo wrote:
       | This 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 wrote:
       | It's nice,would there be a way to combine monthly, weekly etc.
       | based on the logic of the cost.
        
       | fouc wrote:
       | Strange, chart doesn't load in Safari 15.6, no error message in
       | console.
        
       | txutxu wrote:
       | It'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 wrote:
         | Yes, 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
        
       | cynicalsecurity wrote:
       | Looks like some useless fancy-looking stuff for managers.
        
       | phailhaus wrote:
       | Very 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 wrote:
       | Is 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?
        
       ___________________________________________________________________
       (page generated 2024-08-07 23:00 UTC)