BC Municipal Fiscal Balance Rankings
Operating surplus per person measures how much revenue a municipality generates beyond its operating expenses.
Highest — Best Performing
Distribution
79
Top of Band
45
Mid-Band
32
Bottom of Band
About this Metric
High value means
Revenue comfortably covers operating costs — the surplus can fund reserves, reduce future borrowing, or smooth out service disruptions.
Low value means
Operating expenses are eating into or exceeding revenue, signalling potential cuts to services, deferred maintenance, or future tax increases.
For Councillors
A consistent operating surplus gives council the flexibility to build reserves for capital projects, respond to emergencies without borrowing, and avoid structural deficits. Persistent shortfalls force difficult trade-offs: raise taxes, cut services, or draw down reserves — all politically costly moves.
For Residents
When your municipality runs surpluses, that money can be reinvested in community amenities or held as a rainy-day fund. Chronic deficits are a warning sign: taxes will likely rise or service quality will fall as the gap has to close eventually.
Full Rankings
Click column headers to sort. Filter by population band.
Swipe table to see all columns
| Prov. # ▲ | Municipality | Type | Population | Value | Band Rank | vs Band Avg |
|---|---|---|---|---|---|---|
| 1 | Lytton | V | 228 | $14,661 | 3 of 193 | +1135% |
| 2 | Tofino | D | 2,772 | $6,523 | 2 of 106 | +622% |
| 3 | Granisle | V | 357 | $6,416 | 6 of 193 | +440% |
| 4 | Port Clements | V | 352 | $4,442 | 8 of 193 | +274% |
| 5 | Tahsis | V | 418 | $4,293 | 9 of 193 | +262% |
| 6 | Merritt | C | 7,190 | $4,000 | 2 of 91 | +493% |
| 7 | Stewart | D | 515 | $3,819 | 10 of 193 | +222% |
| 8 | Burns Lake | V | 2,007 | $3,716 | 6 of 106 | +311% |
| 9 | Fraser Lake | V | 942 | $3,398 | 15 of 193 | +186% |
| 10 | Port Edward | D | 442 | $2,907 | 18 of 193 | +145% |
| 11 | Pouce Coupe | V | 813 | $2,815 | 19 of 193 | +137% |
| 12 | Cache Creek | V | 1,053 | $2,766 | 20 of 193 | +133% |
| 13 | Zeballos | V | 136 | $2,707 | 22 of 193 | +128% |
| 14 | Fort St. James | D | 1,542 | $2,691 | 7 of 106 | +198% |
| 15 | Princeton | T | 3,050 | $2,572 | 9 of 106 | +185% |
| 16 | Sicamous | D | 2,854 | $2,565 | 10 of 106 | +184% |
| 17 | Ucluelet | D | 2,452 | $2,398 | 12 of 106 | +165% |
| 18 | Masset | V | 914 | $2,293 | 30 of 193 | +93% |
| 19 | Squamish | D | 28,578 | $2,258 | 1 of 48 | +262% |
| 20 | Grand Forks | C | 4,308 | $2,163 | 15 of 106 | +139% |
| 21 | Prince Rupert | C | 12,903 | $1,953 | 7 of 91 | +189% |
| 22 | Smithers | T | 5,627 | $1,878 | 9 of 91 | +178% |
| 23 | New Hazelton | D | 666 | $1,858 | 37 of 193 | +57% |
| 24 | Osoyoos | T | 5,724 | $1,589 | 11 of 91 | +135% |
| 25 | Logan Lake | D | 2,337 | $1,567 | 19 of 106 | +73% |
| 26 | Midway | V | 671 | $1,565 | 46 of 193 | +32% |
| 27 | Enderby | C | 3,292 | $1,532 | 21 of 106 | +69% |
| 28 | Radium Hot Springs | V | 1,489 | $1,495 | 53 of 193 | +26% |
| 29 | New Denver | V | 527 | $1,483 | 54 of 193 | +25% |
| 30 | Elkford | D | 3,030 | $1,482 | 22 of 106 | +64% |
| 31 | Revelstoke | C | 9,464 | $1,397 | 13 of 91 | +107% |
| 32 | Tumbler Ridge | D | 2,663 | $1,363 | 24 of 106 | +51% |
| 33 | Rossland | C | 4,355 | $1,360 | 25 of 106 | +50% |
| 34 | Taylor | D | 1,415 | $1,353 | 60 of 193 | +14% |
| 35 | Coquitlam | C | 173,599 | $1,348 | 1 of 10 | +63% |
| 36 | Dawson Creek | C | 13,635 | $1,340 | 14 of 91 | +99% |
| 37 | Telkwa | V | 1,544 | $1,338 | 26 of 106 | +48% |
| 38 | Harrison Hot Springs | V | 2,148 | $1,305 | 27 of 106 | +44% |
| 39 | Hudson's Hope | D | 1,019 | $1,301 | 62 of 193 | +10% |
| 40 | Clinton | V | 707 | $1,251 | 63 of 193 | +5% |
| 41 | Alert Bay | V | 465 | $1,250 | 64 of 193 | +5% |
| 42 | Mackenzie | D | 3,442 | $1,239 | 29 of 106 | +37% |
| 43 | Whistler | D | 15,090 | $1,207 | 6 of 48 | +93% |
| 44 | Valemount | V | 1,082 | $1,204 | 68 of 193 | +1% |
| 45 | Lumby | V | 2,257 | $1,196 | 30 of 106 | +32% |
| 46 | Houston | D | 3,114 | $1,169 | 32 of 106 | +29% |
| 47 | Vancouver | C | 740,454 | $1,162 | 2 of 10 | +40% |
| 48 | Chetwynd | D | 2,484 | $1,135 | 33 of 106 | +26% |
| 49 | Kent | D | 7,093 | $1,131 | 17 of 91 | +68% |
| 50 | Lake Cowichan | T | 3,757 | $1,071 | 36 of 106 | +19% |
| 51 | Burnaby | C | 299,682 | $1,039 | 3 of 10 | +25% |
| 52 | Fort St. John | C | 24,383 | $1,024 | 7 of 48 | +64% |
| 53 | Belcarra | V | 702 | $1,004 | 72 of 193 | -15% |
| 54 | Cumberland | V | 4,974 | $986 | 37 of 106 | +9% |
| 55 | Richmond | C | 239,584 | $973 | 4 of 10 | +17% |
| 56 | Bowen Island | D | 4,501 | $965 | 38 of 106 | +7% |
| 57 | Anmore | V | 2,508 | $948 | 39 of 106 | +5% |
| 58 | Sparwood | D | 4,486 | $942 | 40 of 106 | +4% |
| 59 | shíshálh Nation Government District | D | 792 | $929 | 76 of 193 | -22% |
| 60 | Northern Rockies | D | 4,400 | $927 | 41 of 106 | +3% |
| 61 | Kelowna | C | 167,654 | $919 | 5 of 10 | +11% |
| 62 | Nakusp | V | 1,740 | $905 | 42 of 106 | +0% |
| 63 | Kimberley | C | 9,037 | $902 | 23 of 91 | +34% |
| 64 | Nelson | C | 12,126 | $892 | 24 of 91 | +32% |
| 65 | Terrace | C | 13,648 | $888 | 26 of 91 | +31% |
| 66 | Summerland | D | 12,343 | $881 | 28 of 91 | +31% |
| 67 | Surrey | C | 703,531 | $853 | 6 of 10 | +3% |
| 68 | Qualicum Beach | T | 9,640 | $825 | 29 of 91 | +22% |
| 69 | Comox | T | 15,884 | $778 | 11 of 48 | +25% |
| 70 | Montrose | V | 1,072 | $769 | 82 of 193 | -35% |
| 71 | Powell River | C | 14,947 | $749 | 31 of 91 | +11% |
| 72 | Pemberton | V | 3,620 | $731 | 46 of 106 | -19% |
| 73 | Maple Ridge | C | 105,925 | $717 | 5 of 22 | +27% |
| 74 | White Rock | C | 25,057 | $715 | 14 of 48 | +15% |
| 75 | Williams Lake | C | 11,462 | $707 | 32 of 91 | +5% |
| 76 | Central Saanich | D | 18,184 | $691 | 15 of 48 | +11% |
| 77 | Mission | C | 47,280 | $663 | 17 of 48 | +6% |
| 78 | Invermere | D | 4,305 | $644 | 49 of 106 | -29% |
| 79 | Duncan | C | 5,745 | $631 | 35 of 91 | -6% |
| 80 | Colwood | C | 22,794 | $631 | 18 of 48 | +1% |
| 81 | Spallumcheen | D | 5,843 | $623 | 36 of 91 | -8% |
| 82 | Oak Bay | D | 18,626 | $621 | 19 of 48 | -1% |
| 83 | Langley | C | 35,444 | $618 | 20 of 48 | -1% |
| 84 | Langford | C | 59,664 | $616 | 7 of 22 | +9% |
| 85 | Trail | C | 8,539 | $597 | 38 of 91 | -11% |
| 86 | Kaslo | V | 1,141 | $583 | 91 of 193 | -51% |
| 87 | Gibsons | T | 5,090 | $574 | 41 of 91 | -15% |
| 88 | New Westminster | C | 92,124 | $542 | 9 of 22 | -4% |
| 89 | Port Moody | C | 38,285 | $535 | 25 of 48 | -14% |
| 90 | Port Coquitlam | C | 67,724 | $530 | 10 of 22 | -6% |
| 91 | Golden | T | 4,433 | $527 | 53 of 106 | -42% |
| 92 | West Vancouver | D | 47,929 | $515 | 26 of 48 | -18% |
| 93 | Oliver | T | 5,262 | $512 | 42 of 91 | -24% |
| 94 | Vanderhoof | D | 4,545 | $512 | 55 of 106 | -43% |
| 95 | Lake Country | D | 17,637 | $498 | 27 of 48 | -20% |
| 96 | Prince George | C | 85,944 | $495 | 11 of 22 | -13% |
| 97 | Lions Bay | V | 1,375 | $493 | 98 of 193 | -58% |
| 98 | Chase | V | 2,591 | $492 | 57 of 106 | -46% |
| 99 | Pitt Meadows | C | 20,892 | $483 | 28 of 48 | -23% |
| 100 | Creston | T | 5,976 | $461 | 44 of 91 | -32% |
| 101 | Victoria | C | 103,888 | $454 | 13 of 22 | -20% |
| 102 | Sooke | D | 17,248 | $452 | 29 of 48 | -28% |
| 103 | Ladysmith | T | 9,926 | $445 | 45 of 91 | -34% |
| 104 | Fruitvale | V | 2,068 | $434 | 61 of 106 | -52% |
| 105 | Campbell River | C | 38,300 | $430 | 30 of 48 | -31% |
| 106 | Penticton | C | 39,068 | $425 | 31 of 48 | -32% |
| 107 | Cranbrook | C | 22,703 | $421 | 32 of 48 | -33% |
| 108 | Nanaimo | C | 111,845 | $419 | 14 of 22 | -26% |
| 109 | Gold River | V | 1,339 | $413 | 102 of 193 | -65% |
| 110 | Slocan | V | 488 | $401 | 104 of 193 | -66% |
| 111 | Ashcroft | V | 1,744 | $399 | 64 of 106 | -56% |
| 112 | Metchosin | D | 5,207 | $391 | 50 of 91 | -42% |
| 113 | Abbotsford | C | 175,358 | $378 | 9 of 10 | -54% |
| 114 | Armstrong | C | 5,643 | $373 | 53 of 91 | -45% |
| 115 | View Royal | T | 12,795 | $365 | 55 of 91 | -46% |
| 116 | Sechelt | D | 11,558 | $355 | 57 of 91 | -47% |
| 117 | Fernie | C | 7,086 | $350 | 58 of 91 | -48% |
| 118 | 100 Mile House | D | 2,030 | $348 | 69 of 106 | -62% |
| 119 | Sun Peaks | V | 1,546 | $345 | 70 of 106 | -62% |
| 120 | McBride | V | 646 | $335 | 112 of 193 | -72% |
| 121 | Quesnel | C | 10,253 | $329 | 60 of 91 | -51% |
| 122 | Clearwater | D | 2,500 | $318 | 72 of 106 | -65% |
| 123 | Salmon Arm | C | 20,891 | $311 | 34 of 48 | -50% |
| 124 | Parksville | C | 15,371 | $304 | 35 of 48 | -51% |
| 125 | North Cowichan | D | 34,525 | $303 | 36 of 48 | -51% |
| 126 | Delta | C | 124,670 | $294 | 15 of 22 | -48% |
| 127 | Lantzville | D | 4,276 | $292 | 73 of 106 | -68% |
| 128 | Chilliwack | C | 105,520 | $291 | 16 of 22 | -49% |
| 129 | North Vancouver | C | 66,624 | $291 | 17 of 22 | -49% |
| 130 | Courtenay | C | 32,869 | $282 | 38 of 48 | -55% |
| 131 | Saanich | D | 126,011 | $279 | 18 of 22 | -51% |
| 132 | Sidney | T | 13,445 | $273 | 65 of 91 | -60% |
| 133 | Peachland | D | 6,302 | $272 | 66 of 91 | -60% |
| 134 | Port McNeill | T | 2,402 | $246 | 76 of 106 | -73% |
| 135 | Kamloops | C | 108,793 | $246 | 19 of 22 | -57% |
| 136 | Esquimalt | D | 19,512 | $245 | 39 of 48 | -61% |
| 137 | North Saanich | D | 12,986 | $242 | 67 of 91 | -64% |
| 138 | Castlegar | C | 9,465 | $241 | 68 of 91 | -64% |
| 139 | Port Alberni | C | 19,671 | $239 | 40 of 48 | -62% |
| 140 | Lillooet | D | 2,065 | $229 | 78 of 106 | -75% |
| 141 | Vernon | C | 49,527 | $221 | 41 of 48 | -65% |
| 142 | North Vancouver | D | 97,845 | $198 | 20 of 22 | -65% |
| 143 | Silverton | V | 196 | $163 | 125 of 193 | -86% |
| 144 | Highlands | D | 2,753 | $140 | 84 of 106 | -85% |
| 145 | Langley | D | 163,885 | $134 | 10 of 10 | -84% |
| 146 | Warfield | V | 1,729 | $113 | 88 of 106 | -87% |
| 147 | Port Hardy | D | 4,201 | $80 | 90 of 106 | -91% |
| 148 | Coldstream | D | 11,380 | $61 | 78 of 91 | -91% |
| 149 | Salmo | V | 1,310 | $60 | 136 of 193 | -95% |
| 150 | Keremeos | V | 1,779 | $40 | 93 of 106 | -96% |
| 151 | Daajing Giids | V | 999 | $17 | 140 of 193 | -99% |
| 152 | West Kelowna | C | 40,274 | $7 | 46 of 48 | -99% |
| 153 | Hope | D | 7,183 | -$77 | 85 of 91 | -111% |
| 154 | Port Alice | V | 789 | -$144 | 156 of 193 | -112% |
| 155 | Sayward | V | 329 | -$455 | 174 of 193 | -138% |
| 156 | Canal Flats | V | 889 | -$1,342 | 190 of 193 | -213% |
Municipalities with Incomplete Data
The following 5 municipalities are excluded from this ranking due to missing or insufficient data points.