[Feedback]: Sankey Chart #738

Closed
opened 2026-02-28 19:16:55 -06:00 by GiteaMirror · 24 comments
Owner

Originally created by @shaankhosla on GitHub (Nov 16, 2023).

Known issues:

  • In cases where there are many income payees, expense groups, or expense categories, the Sankey chart can look a bit wonky, and not fully fit in the component.

Upcoming additions:

  • Group together small nodes into an "Other" category at each level. This will fix the issue mentioned above regarding too many small nodes.
  • Add theme colors
  • Privacy blocks
Originally created by @shaankhosla on GitHub (Nov 16, 2023). Known issues: - [ ] In cases where there are many income payees, expense groups, or expense categories, the Sankey chart can look a bit wonky, and not fully fit in the component. Upcoming additions: - [ ] Group together small nodes into an "Other" category at each level. This will fix the issue mentioned above regarding too many small nodes. - [ ] Add theme colors - [ ] Privacy blocks
GiteaMirror added the feedbackexperimental feature labels 2026-02-28 19:16:55 -06:00
Author
Owner

@carkom commented on GitHub (Nov 17, 2023):

This is a cool graph, I love the idea!

It needs to add theme colors and privacy blocks to enable those features for this chart. Needs done on chart page as well as overview card. Cheers!

@carkom commented on GitHub (Nov 17, 2023): This is a cool graph, I love the idea! It needs to add theme colors and privacy blocks to enable those features for this chart. Needs done on chart page as well as overview card. Cheers!
Author
Owner

@shaankhosla commented on GitHub (Nov 17, 2023):

Great points, agreed. I'll add those above.

@shaankhosla commented on GitHub (Nov 17, 2023): Great points, agreed. I'll add those above.
Author
Owner

@Redbox3070 commented on GitHub (Nov 18, 2023):

Sick chart!
I would like to have percentage % on Budget instead of the absolute value in labels. Absolute value could be shown on hover.
I think the choice of displaying <1k was due to space constraints but is not that useful if most of your categories are below 1k. This one is a great example of more meaningful labels https://i.redd.it/x4xib51xxsv21.png

  • my largest payee is not displayed
    sankey
@Redbox3070 commented on GitHub (Nov 18, 2023): Sick chart! I would like to have percentage % on Budget instead of the absolute value in labels. Absolute value could be shown on hover. I think the choice of displaying <1k was due to space constraints but is not that useful if most of your categories are below 1k. This one is a great example of more meaningful labels https://i.redd.it/x4xib51xxsv21.png * my largest payee is not displayed ![sankey](https://github.com/actualbudget/actual/assets/81518984/51bbf90c-991a-4fa2-949c-6186dfa8af95)
Author
Owner

@Akellade commented on GitHub (Nov 21, 2023):

It would be neat if there was a bit more control of the level of detail shown, For instance toggling showing the final categories
right now it's shown as :
Income categories > Budget > Outgoing Groups > Outgoing categories.
It's quite a good graph for hiding the outgoing categories or even income categories to just show how the budget was used at a higher level.

@Akellade commented on GitHub (Nov 21, 2023): It would be neat if there was a bit more control of the level of detail shown, For instance toggling showing the final categories right now it's shown as : Income categories > Budget > Outgoing Groups > Outgoing categories. It's quite a good graph for hiding the outgoing categories or even income categories to just show how the budget was used at a higher level.
Author
Owner

@MatissJanis commented on GitHub (Nov 27, 2023):

Nice to haves:

  • add "unspent income" (for the lack of better naming) - a category group that captures the result of "income - expenses"; for example: I "hold for next month" a part of my income - currently this amount does not show up in the sankey graph
  • ability to show/hide the categories - leaving only the category group level visible (but maybe this won't be as pressing if we have grouping of small amounts under "other")
@MatissJanis commented on GitHub (Nov 27, 2023): Nice to haves: - [ ] add "unspent income" (for the lack of better naming) - a category group that captures the result of "income - expenses"; for example: I "hold for next month" a part of my income - currently this amount does not show up in the sankey graph - [ ] ability to show/hide the categories - leaving only the category group level visible (but maybe this won't be as pressing if we have grouping of small amounts under "other")
Author
Owner

@MatissJanis commented on GitHub (Nov 27, 2023):

Bug (possibly applicable to other reports too):

payees not showing up when filtering

https://github.com/actualbudget/actual/assets/886567/6ccd29c5-a7f0-47d9-9475-a1def6b8d32a

@MatissJanis commented on GitHub (Nov 27, 2023): Bug (possibly applicable to other reports too): payees not showing up when filtering https://github.com/actualbudget/actual/assets/886567/6ccd29c5-a7f0-47d9-9475-a1def6b8d32a
Author
Owner

@Teprifer commented on GitHub (Dec 2, 2023):

Looks nifty, thanks for working on this.

My 2 cents:
Bigger font for the labels, both category/sources and for the actual amount
Percentages beside label(or amount)

image

I notice the right side of budget the output doesn't extend the full way down, is this money added to the budget but not spent? If so I'd create a ghost category or a label to indicate this, as otherwise it looks like something is missing.
Ditto for indicating un-budgeted funds.

@Teprifer commented on GitHub (Dec 2, 2023): Looks nifty, thanks for working on this. My 2 cents: Bigger font for the labels, both category/sources and for the actual amount Percentages beside label(or amount) ![image](https://github.com/actualbudget/actual/assets/34882928/2ec2eadd-1d5a-4155-addb-07065bac0335) I notice the right side of budget the output doesn't extend the full way down, is this money added to the budget but not spent? If so I'd create a ghost category or a label to indicate this, as otherwise it looks like something is missing. Ditto for indicating un-budgeted funds.
Author
Owner

@Teprifer commented on GitHub (Dec 3, 2023):

Feature request, option to end the graph at Category Group level. This will allow better scaling and a nice high level view.

@Teprifer commented on GitHub (Dec 3, 2023): Feature request, option to end the graph at Category Group level. This will allow better scaling and a nice high level view.
Author
Owner

@leouzz commented on GitHub (Jan 5, 2024):

All the incoms should flow insider a container "income". Then incombe + residual budget (previous periodo) = budget... Then add 1 output "remaining budget" (not spent)

@leouzz commented on GitHub (Jan 5, 2024): All the incoms should flow insider a container "income". Then incombe + residual budget (previous periodo) = budget... Then add 1 output "remaining budget" (not spent)
Author
Owner

@MatissJanis commented on GitHub (Jan 20, 2024):

@shaankhosla what's the plan with the sankey graph? If we can't get it in as a stable feature I'd be inclined to cut it. Experimental features aren't meant to live around forever.

@MatissJanis commented on GitHub (Jan 20, 2024): @shaankhosla what's the plan with the sankey graph? If we can't get it in as a stable feature I'd be inclined to cut it. Experimental features aren't meant to live around forever.
Author
Owner

@youngcw commented on GitHub (Jan 21, 2024):

I think the only thing that needs an update would be the dark mode colors. Everything else seems to be just nice to have additions.

@youngcw commented on GitHub (Jan 21, 2024): I think the only thing that needs an update would be the dark mode colors. Everything else seems to be just nice to have additions.
Author
Owner

@shaankhosla commented on GitHub (Jan 22, 2024):

Yep I agree, theme colors and the privacy blocks are critical. I'll work on adding those.

@shaankhosla commented on GitHub (Jan 22, 2024): Yep I agree, theme colors and the privacy blocks are critical. I'll work on adding those.
Author
Owner

@egelmex commented on GitHub (Jan 23, 2024):

Enjoying the sankey report, it's really handy to see if my catagories are roughly sane, if one gets too big like I am throwing things in general I can see at a glance that it might need splitting. Came here to say privacy bloicks are not working, but looks like that's already known. Wanted to show off the feature but not the values .

@egelmex commented on GitHub (Jan 23, 2024): Enjoying the sankey report, it's really handy to see if my catagories are roughly sane, if one gets too big like I am throwing things in general I can see at a glance that it might need splitting. Came here to say privacy bloicks are not working, but looks like that's already known. Wanted to show off the feature but not the values .
Author
Owner

@Redbox3070 commented on GitHub (Jan 25, 2024):

I have an issue, the income from my employer (payee "employer inc") goes to 2 different accounts ("account a", "account b") every month. Unfortunately on the sankey it only shows income that flows to "account b". My workaround is to set 2 different payees.

my largest payee is not displayed
sankey

I also believe that showing "<1k" makes the category breakdown cluttered and meaningless. The easiest solution would be to add decimal, "0.9k" uses the same space but is way more meaningful. Percentages would work well too.

@Redbox3070 commented on GitHub (Jan 25, 2024): I have an issue, the income from my employer (payee "employer inc") goes to 2 different accounts ("account a", "account b") every month. Unfortunately on the sankey it only shows income that flows to "account b". My workaround is to set 2 different payees. > my largest payee is not displayed > ![sankey](https://private-user-images.githubusercontent.com/81518984/283991640-51bbf90c-991a-4fa2-949c-6186dfa8af95.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDYxNzE1OTUsIm5iZiI6MTcwNjE3MTI5NSwicGF0aCI6Ii84MTUxODk4NC8yODM5OTE2NDAtNTFiYmY5MGMtOTkxYS00ZmEyLTk0OWMtNjE4NmRmYThhZjk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAxMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMTI1VDA4MjgxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVhYWNjYjAxNDQ5YWJhMjdmN2NhMjVlZjA1YjhiNWFiNzljOWFjYzU5MTU2NjU4YTk3MDlhYWE3YjVlZThmODAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.GlQhKljuU_5_VGszYmq4PBHU5VZ5XqadB6seyArAX4k) I also believe that showing "<1k" makes the category breakdown cluttered and meaningless. The easiest solution would be to add decimal, "0.9k" uses the same space but is way more meaningful. Percentages would work well too.
Author
Owner

@jamescostian commented on GitHub (Feb 9, 2024):

Screenshot 2024-02-08 at 9 30 27 PM

I'm wondering if there's a small bug in how the expense categories are sorted. I have 2 expense groups and when it branches off of them to show the individual expense categories in the pic above, they mostly are sorted like "categories from the first group first (sorted by amount descending), then categories from the second group (sorted by amount descending)". However, the top red arrow shows a time when this trend is broken, making it seem like the real rule is "categories are sorted by amount spent, descending, with no care given to group". But looking at my next red arrow, we see 2 more lines that very clearly should be moved up by that logic.

But the bigger concern I have is missing data - I have 15 expense categories, yet the above sankey chart only shows 14. I'm not sure why. The missing category is a bit on the smaller side but there are smaller ones in its same expense group.

After some manual testing, I've found a way to get the 15th category to reveal itself - the final month dropdown cannot be set to this month or the month before, but the one before (December) or earlier, and the initial month dropdown has the same behavior but in reverse (my first entry is in May 2021, I must set the initial date to July 2021 or later). Using these settings allowed me to get this output (the category that was missing is the one the tip of the arrow just barely touches):

Screenshot 2024-02-08 at 9 41 19 PM

You also might notice another interesting artifact in the above screenshot - that previously missing category is actually a bit larger than the category above it. You can see it visually in this screenshot, and the numbers on the far right of the sankey chart confirm it. Yet, it is somehow sorted to be lower. Not sure how relevant this is, but fwiw, there are a non-trivial amount of deposits in that category in addition to expenses in it - perhaps it's getting confused there?

@jamescostian commented on GitHub (Feb 9, 2024): <img width="242" alt="Screenshot 2024-02-08 at 9 30 27 PM" src="https://github.com/actualbudget/actual/assets/1456118/4b0b4ba8-e7c2-43e4-928b-7a1b3db8e15e"> I'm wondering if there's a small bug in how the expense categories are sorted. I have 2 expense groups and when it branches off of them to show the individual expense categories in the pic above, they mostly are sorted like "categories from the first group first (sorted by amount descending), then categories from the second group (sorted by amount descending)". However, the top red arrow shows a time when this trend is broken, making it seem like the real rule is "categories are sorted by amount spent, descending, with no care given to group". But looking at my next red arrow, we see 2 more lines that very clearly should be moved up by that logic. But the bigger concern I have is **missing data** - I have 15 expense categories, yet the above sankey chart only shows 14. I'm not sure why. The missing category is a bit on the smaller side but there are smaller ones in its same expense group. After some manual testing, I've found a way to get the 15th category to reveal itself - the final month dropdown cannot be set to this month or the month before, but the one before (December) or earlier, **and** the initial month dropdown has the same behavior but in reverse (my first entry is in May 2021, I must set the initial date to July 2021 or later). Using these settings allowed me to get this output (the category that was missing is the one the tip of the arrow just barely touches): <img width="167" alt="Screenshot 2024-02-08 at 9 41 19 PM" src="https://github.com/actualbudget/actual/assets/1456118/42c69826-bb0b-4cbe-bd12-9c852216b649"> You also might notice another interesting artifact in the above screenshot - that previously missing category is actually a bit _larger_ than the category above it. You can see it visually in this screenshot, and the numbers on the far right of the sankey chart confirm it. Yet, it is somehow sorted to be lower. Not sure how relevant this is, but fwiw, there are a non-trivial amount of deposits in that category in addition to expenses in it - perhaps it's getting confused there?
Author
Owner

@niko123456000 commented on GitHub (Feb 16, 2024):

I would like all the "income" to come from the Income category, instead of from the Payee. The reason is because my payee names are often different and it's a hassle trying to standardise the payee name of deposits just so it appears properly in the Sankey diagram. I think using the Category is a better way. Does anyone agree or have another suggestion?

@niko123456000 commented on GitHub (Feb 16, 2024): I would like all the "income" to come from the Income *category*, instead of from the Payee. The reason is because my payee names are often different and it's a hassle trying to standardise the payee name of deposits just so it appears properly in the Sankey diagram. I think using the Category is a better way. Does anyone agree or have another suggestion?
Author
Owner

@Teprifer commented on GitHub (Feb 16, 2024):

I would like all the "income" to come from the Income category, instead of from the Payee. The reason is because my payee names are often different and it's a hassle trying to standardise the payee name of deposits just so it appears properly in the Sankey diagram. I think using the Category is a better way. Does anyone agree or have another suggestion?

I think it's a good idea, but needing to keep in mind some people may want to know the proportion of their income sources. Maybe a 'group income sources' toggle?

/ed/ Actually in hindsight for my comment, it doesn't make sense they aren't grouped by category in the first place given the rest is by category. If people want to represent different sources, they likely already have different categories.

@Teprifer commented on GitHub (Feb 16, 2024): > I would like all the "income" to come from the Income _category_, instead of from the Payee. The reason is because my payee names are often different and it's a hassle trying to standardise the payee name of deposits just so it appears properly in the Sankey diagram. I think using the Category is a better way. Does anyone agree or have another suggestion? ~I think it's a good idea, but needing to keep in mind some people may want to know the proportion of their income sources. Maybe a 'group income sources' toggle?~ /ed/ Actually in hindsight for my comment, it doesn't make sense they aren't grouped by category in the first place given the rest is by category. If people want to represent different sources, they likely already have different categories.
Author
Owner

@MatissJanis commented on GitHub (Feb 25, 2024):

👋 This feature hasn't been worked on in a very long time. As per the new experimental feature flag policy - we'll be removing it soon unless someone picks it up again.

@MatissJanis commented on GitHub (Feb 25, 2024): 👋 This feature hasn't been worked on in a very long time. As per the new [experimental feature flag policy](https://actualbudget.org/docs/contributing/project-details/feature-flags) - we'll be removing it soon unless someone picks it up again.
Author
Owner

@sandu-c commented on GitHub (Apr 7, 2024):

👋 This feature hasn't been worked on in a very long time. As per the new experimental feature flag policy - we'll be removing it soon unless someone picks it up again.

very sorry to hear that, this was an awesome report chart

@sandu-c commented on GitHub (Apr 7, 2024): > 👋 This feature hasn't been worked on in a very long time. As per the new [experimental feature flag policy](https://actualbudget.org/docs/contributing/project-details/feature-flags) - we'll be removing it soon unless someone picks it up again. very sorry to hear that, this was an awesome report chart
Author
Owner

@SamRodkey commented on GitHub (Jun 1, 2024):

I miss this feature! I feel like it was the first report that actually helped me get a handle on the big picture!

@SamRodkey commented on GitHub (Jun 1, 2024): I miss this feature! I feel like it was the first report that actually helped me get a handle on the big picture!
Author
Owner

@aChrisYouKnow commented on GitHub (Jun 3, 2024):

Fingers crossed someone can bring it back

@aChrisYouKnow commented on GitHub (Jun 3, 2024): Fingers crossed someone can bring it back
Author
Owner

@Treawlony commented on GitHub (Nov 26, 2024):

For what it worth, I'd like to bump it too.

@Treawlony commented on GitHub (Nov 26, 2024): For what it worth, I'd like to bump it too.
Author
Owner

@CrO2Cl2 commented on GitHub (Dec 8, 2024):

Bumping this feature up, this is such a great chart

@CrO2Cl2 commented on GitHub (Dec 8, 2024): Bumping this feature up, this is such a great chart
Author
Owner

@dkhalife commented on GitHub (Dec 12, 2024):

I'm ramping up on the codebase and a big fan of this type of chart. I intend to reimplement this feature once I've learned enough about the codebase

@dkhalife commented on GitHub (Dec 12, 2024): I'm ramping up on the codebase and a big fan of this type of chart. I intend to reimplement this feature once I've learned enough about the codebase
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#738