Municipal Budget Sankey Diagram: Editable City Budget Template
Follow a city's annual budget from revenue sources through service areas to staff, contracts, capital and transfers. An editable example with invented figures.
A municipal budget Sankey shows where a local authority's money comes from and where it goes, in one picture. Revenue sources on the left merge into service areas, which then split by the kind of cost.
The example is a fictional mid-size city with a 430 million euro annual budget. Property tax and state or central grants are the two widest revenue ribbons, and they do not fund every service equally: education and social care lean heavily on grants, while roads and parks lean on local tax and fees.
That mixing is the reason to use a Sankey rather than a pie chart. A pie can show revenue or spending, but not which income pays for which service. Here the middle column is a merge point, so a reader can see that no single source covers any one area. The last column answers a different question: how much of each service area is staff, contracts, capital or transfers to others. See also /sankey/department-budget-allocation for a single organisation, and /sankey/sankey-diagram-for-public-budgets for how to prepare the data.
How to read this diagram
- Property tax brings in 150 of 430 million euros (35%) and grants 140 (33%), so two sources fund about two thirds of the budget.
- Education is the widest service area at 130 million (30%), and 80 of it (62%) arrives as grants rather than local tax.
- Staff is the widest cost ribbon at 190 million, 44% of spending, with education alone contributing 85.
- Social care sends 30 million to transfers, the largest transfer ribbon, and none to capital works.
The data behind it
Invented figures for illustration. This is not the budget of any real city or authority and not an official statistic. Use your own adopted budget when you replace the numbers.
| From | To | Amount (million euros) |
|---|---|---|
| Property tax | Education | 40 |
| Property tax | Social care | 25 |
| Property tax | Roads and transport | 25 |
| Property tax | Parks and culture | 15 |
| Property tax | Public safety | 25 |
| Property tax | Administration | 20 |
| State and central grants | Education | 80 |
| State and central grants | Social care | 55 |
| State and central grants | Roads and transport | 5 |
| Fees and charges | Education | 5 |
| Fees and charges | Social care | 10 |
| Fees and charges | Roads and transport | 20 |
| Fees and charges | Parks and culture | 15 |
| Fees and charges | Public safety | 20 |
| Fees and charges | Administration | 20 |
| Other income | Education | 5 |
| Other income | Social care | 10 |
| Other income | Roads and transport | 10 |
| Other income | Parks and culture | 5 |
| Other income | Public safety | 10 |
| Other income | Administration | 10 |
| Education | Staff | 85 |
| Education | Contracts | 20 |
| Education | Capital works | 20 |
| Education | Transfers | 5 |
| Social care | Staff | 40 |
| Social care | Contracts | 30 |
| Social care | Transfers | 30 |
| Roads and transport | Staff | 15 |
| Roads and transport | Contracts | 25 |
| Roads and transport | Capital works | 20 |
| Parks and culture | Staff | 15 |
| Parks and culture | Contracts | 8 |
| Parks and culture | Capital works | 10 |
| Parks and culture | Transfers | 2 |
| Public safety | Staff | 25 |
| Public safety | Contracts | 15 |
| Public safety | Capital works | 10 |
| Public safety | Transfers | 5 |
| Administration | Staff | 10 |
| Administration | Contracts | 12 |
| Administration | Capital works | 10 |
| Administration | Transfers | 18 |
The same data as CSV
source,target,value
Property tax,Education,40
Property tax,Social care,25
Property tax,Roads and transport,25
Property tax,Parks and culture,15
Property tax,Public safety,25
Property tax,Administration,20
State and central grants,Education,80
State and central grants,Social care,55
State and central grants,Roads and transport,5
Fees and charges,Education,5
Fees and charges,Social care,10
Fees and charges,Roads and transport,20
Fees and charges,Parks and culture,15
Fees and charges,Public safety,20
Fees and charges,Administration,20
Other income,Education,5
Other income,Social care,10
Other income,Roads and transport,10
Other income,Parks and culture,5
Other income,Public safety,10
Other income,Administration,10
Education,Staff,85
Education,Contracts,20
Education,Capital works,20
Education,Transfers,5
Social care,Staff,40
Social care,Contracts,30
Social care,Transfers,30
Roads and transport,Staff,15
Roads and transport,Contracts,25
Roads and transport,Capital works,20
Parks and culture,Staff,15
Parks and culture,Contracts,8
Parks and culture,Capital works,10
Parks and culture,Transfers,2
Public safety,Staff,25
Public safety,Contracts,15
Public safety,Capital works,10
Public safety,Transfers,5
Administration,Staff,10
Administration,Contracts,12
Administration,Capital works,10
Administration,Transfers,18How it works
Choose the budget year and unit
Use one adopted annual budget and one unit, such as million euros, for every row.
List revenue by source
Enter each income source and how much of it you can attribute to each service area. Where income is pooled, state your allocation rule in a note.
Add the cost split per service area
For each service area, enter staff, contracts, capital works and transfers. Check that each area sends on exactly what it received.
Check the totals
Total revenue should equal total spending, or add a node for a surplus or deficit so the balance holds.
Frequently asked questions
Can I show a deficit or a draw on reserves?
Yes. Add a node such as Reserves on the left with the amount drawn, so the picture still balances. The widths follow whatever amounts you enter.
Does it connect to my finance system?
No. You can paste or import a source, target, value list from a CSV or a spreadsheet range, but the diagram does not stay linked to the file. Paste again when the budget changes.
Edit this municipal budget Sankey
Open the example as your own chart and replace the invented figures with your adopted budget.