BC Municipal Fiscal Trajectory Rankings
Composite score measuring 4-year fiscal direction across expenses, surplus, debt, tax collection, and stability.
Highest — Best Performing
Distribution
41
Top of Band
41
Mid-Band
71
Bottom of Band
About this Metric
High value means
Fiscal trends are moving in the right direction — expenses are growing slower than revenue, debt is being managed, and collections are strong.
Low value means
One or more fiscal indicators have been trending unfavourably over the past 4 years, suggesting structural challenges that may need attention.
For Councillors
The trajectory score aggregates four years of directional change. A declining score warrants a strategic review: are expenses outpacing revenue? Is debt capacity eroding? Are tax collection rates slipping? The composite nature means one strong trend can offset another — so examine the components, not just the headline number.
For Residents
This score tells you whether your municipality's finances are heading in the right direction. A high score means things are generally improving year over year. A low score doesn't mean crisis, but it does mean the trend lines deserve scrutiny — especially if taxes are rising at the same time.
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 | 78.3 | 5 of 191 | +57% |
| 2 | Clinton | V | 707 | 73.3 | 12 of 191 | +47% |
| 3 | Ucluelet | D | 2,452 | 73.1 | 9 of 105 | +46% |
| 4 | Trail | C | 8,539 | 72.7 | 10 of 90 | +45% |
| 5 | Elkford | D | 3,030 | 71.9 | 10 of 105 | +44% |
| 6 | Tumbler Ridge | D | 2,663 | 71.4 | 11 of 105 | +43% |
| 7 | Enderby | C | 3,292 | 70.2 | 12 of 105 | +40% |
| 8 | Grand Forks | C | 4,308 | 69.9 | 15 of 105 | +40% |
| 9 | Surrey | C | 703,531 | 69.5 | 2 of 10 | +39% |
| 10 | Merritt | C | 7,190 | 68.4 | 14 of 90 | +37% |
| 11 | Kent | D | 7,093 | 68.1 | 15 of 90 | +36% |
| 12 | White Rock | C | 25,057 | 68.1 | 10 of 48 | +36% |
| 13 | Kimberley | C | 9,037 | 67.4 | 16 of 90 | +35% |
| 14 | Lake Cowichan | T | 3,757 | 67.4 | 22 of 105 | +35% |
| 15 | Princeton | T | 3,050 | 67.4 | 23 of 105 | +35% |
| 16 | Langley | C | 35,444 | 66.5 | 12 of 48 | +33% |
| 17 | Pouce Coupe | V | 813 | 66.3 | 29 of 191 | +33% |
| 18 | Fraser Lake | V | 942 | 66.2 | 30 of 191 | +32% |
| 19 | Salmon Arm | C | 20,891 | 66.1 | 13 of 48 | +32% |
| 20 | Terrace | C | 13,648 | 65.1 | 20 of 90 | +30% |
| 21 | Colwood | C | 22,794 | 64.5 | 15 of 48 | +29% |
| 22 | Slocan | V | 488 | 63.5 | 39 of 191 | +27% |
| 23 | Salmo | V | 1,310 | 62.7 | 41 of 191 | +25% |
| 24 | Spallumcheen | D | 5,843 | 62.7 | 22 of 90 | +25% |
| 25 | Revelstoke | C | 9,464 | 61.7 | 24 of 90 | +23% |
| 26 | Port Moody | C | 38,285 | 61.3 | 18 of 48 | +23% |
| 27 | Richmond | C | 239,584 | 60.6 | 4 of 10 | +21% |
| 28 | Central Saanich | D | 18,184 | 60.3 | 19 of 48 | +21% |
| 29 | Fort St. John | C | 24,383 | 60.2 | 20 of 48 | +20% |
| 30 | Delta | C | 124,670 | 59.3 | 6 of 22 | +19% |
| 31 | Williams Lake | C | 11,462 | 59.0 | 29 of 90 | +18% |
| 32 | Lumby | V | 2,257 | 58.3 | 33 of 105 | +17% |
| 33 | Highlands | D | 2,753 | 58.1 | 34 of 105 | +16% |
| 34 | Stewart | D | 515 | 58.1 | 53 of 191 | +16% |
| 35 | Ladysmith | T | 9,926 | 58.0 | 33 of 90 | +16% |
| 36 | Port Clements | V | 352 | 57.9 | 58 of 191 | +16% |
| 37 | Chase | V | 2,591 | 57.8 | 36 of 105 | +16% |
| 38 | Lantzville | D | 4,276 | 57.7 | 37 of 105 | +15% |
| 39 | Squamish | D | 28,578 | 56.7 | 22 of 48 | +13% |
| 40 | Houston | D | 3,114 | 56.6 | 39 of 105 | +13% |
| 41 | New Westminster | C | 92,124 | 55.0 | 7 of 22 | +10% |
| 42 | Sparwood | D | 4,486 | 54.9 | 44 of 105 | +10% |
| 43 | View Royal | T | 12,795 | 54.0 | 40 of 90 | +8% |
| 44 | Nanaimo | C | 111,845 | 53.8 | 9 of 22 | +8% |
| 45 | Radium Hot Springs | V | 1,489 | 53.7 | 77 of 191 | +7% |
| 46 | West Vancouver | D | 47,929 | 53.4 | 24 of 48 | +7% |
| 47 | Belcarra | V | 702 | 53.0 | 81 of 191 | +6% |
| 48 | Valemount | V | 1,082 | 53.0 | 80 of 191 | +6% |
| 49 | North Vancouver | D | 97,845 | 52.9 | 10 of 22 | +6% |
| 50 | Logan Lake | D | 2,337 | 52.7 | 45 of 105 | +5% |
| 51 | Dawson Creek | C | 13,635 | 52.1 | 43 of 90 | +4% |
| 52 | North Vancouver | C | 66,624 | 51.9 | 11 of 22 | +4% |
| 53 | Burnaby | C | 299,682 | 51.7 | 5 of 10 | +3% |
| 54 | Chetwynd | D | 2,484 | 51.5 | 49 of 105 | +3% |
| 55 | Sidney | T | 13,445 | 51.5 | 45 of 90 | +3% |
| 56 | Pitt Meadows | C | 20,892 | 50.4 | 26 of 48 | +1% |
| 57 | 100 Mile House | D | 2,030 | 49.6 | 52 of 105 | -1% |
| 58 | Nakusp | V | 1,740 | 49.4 | 53 of 105 | -1% |
| 59 | Creston | T | 5,976 | 47.7 | 53 of 90 | -5% |
| 60 | Sicamous | D | 2,854 | 46.8 | 58 of 105 | -6% |
| 61 | Smithers | T | 5,627 | 46.5 | 55 of 90 | -7% |
| 62 | Vancouver | C | 740,454 | 46.1 | 6 of 10 | -8% |
| 63 | Parksville | C | 15,371 | 45.8 | 29 of 48 | -8% |
| 64 | Coquitlam | C | 173,599 | 45.6 | 7 of 10 | -9% |
| 65 | Mackenzie | D | 3,442 | 45.5 | 60 of 105 | -9% |
| 66 | Golden | T | 4,433 | 44.9 | 61 of 105 | -10% |
| 67 | Campbell River | C | 38,300 | 44.8 | 30 of 48 | -10% |
| 68 | Nelson | C | 12,126 | 44.7 | 58 of 90 | -11% |
| 69 | Warfield | V | 1,729 | 44.7 | 62 of 105 | -11% |
| 70 | Gold River | V | 1,339 | 44.4 | 120 of 191 | -11% |
| 71 | Taylor | D | 1,415 | 44.3 | 121 of 191 | -11% |
| 72 | Burns Lake | V | 2,007 | 44.2 | 63 of 105 | -12% |
| 73 | Sun Peaks | V | 1,546 | 43.7 | 66 of 105 | -13% |
| 74 | Langford | C | 59,664 | 43.1 | 13 of 22 | -14% |
| 75 | North Saanich | D | 12,986 | 42.9 | 63 of 90 | -14% |
| 76 | Quesnel | C | 10,253 | 42.9 | 62 of 90 | -14% |
| 77 | Port Edward | D | 442 | 42.2 | 130 of 191 | -16% |
| 78 | Invermere | D | 4,305 | 41.7 | 70 of 105 | -17% |
| 79 | Maple Ridge | C | 105,925 | 41.4 | 15 of 22 | -17% |
| 80 | Chilliwack | C | 105,520 | 40.5 | 16 of 22 | -19% |
| 81 | Mission | C | 47,280 | 40.3 | 31 of 48 | -19% |
| 82 | Telkwa | V | 1,544 | 40.3 | 73 of 105 | -19% |
| 83 | Clearwater | D | 2,500 | 40.0 | 74 of 105 | -20% |
| 84 | New Hazelton | D | 666 | 40.0 | 138 of 191 | -20% |
| 85 | Alert Bay | V | 465 | 39.9 | 139 of 191 | -20% |
| 86 | Cumberland | V | 4,974 | 39.7 | 76 of 105 | -21% |
| 87 | Ashcroft | V | 1,744 | 39.6 | 77 of 105 | -21% |
| 88 | Midway | V | 671 | 39.4 | 140 of 191 | -21% |
| 89 | Cache Creek | V | 1,053 | 39.2 | 141 of 191 | -22% |
| 90 | Fernie | C | 7,086 | 39.2 | 65 of 90 | -22% |
| 91 | Sayward | V | 329 | 39.1 | 142 of 191 | -22% |
| 92 | New Denver | V | 527 | 38.8 | 143 of 191 | -22% |
| 93 | Lions Bay | V | 1,375 | 38.6 | 145 of 191 | -23% |
| 94 | Masset | V | 914 | 38.6 | 144 of 191 | -23% |
| 95 | Rossland | C | 4,355 | 38.2 | 79 of 105 | -24% |
| 96 | Port McNeill | T | 2,402 | 36.9 | 81 of 105 | -26% |
| 97 | Penticton | C | 39,068 | 36.8 | 33 of 48 | -26% |
| 98 | Courtenay | C | 32,869 | 36.1 | 34 of 48 | -28% |
| 99 | Oak Bay | D | 18,626 | 35.9 | 35 of 48 | -28% |
| 100 | Kaslo | V | 1,141 | 35.8 | 157 of 191 | -28% |
| 101 | Esquimalt | D | 19,512 | 35.7 | 36 of 48 | -29% |
| 102 | Vanderhoof | D | 4,545 | 35.7 | 85 of 105 | -29% |
| 103 | Cranbrook | C | 22,703 | 35.3 | 37 of 48 | -29% |
| 104 | Armstrong | C | 5,643 | 35.2 | 67 of 90 | -30% |
| 105 | Bowen Island | D | 4,501 | 35.0 | 87 of 105 | -30% |
| 106 | Metchosin | D | 5,207 | 34.8 | 68 of 90 | -30% |
| 107 | Montrose | V | 1,072 | 34.7 | 162 of 191 | -31% |
| 108 | Pemberton | V | 3,620 | 34.7 | 88 of 105 | -31% |
| 109 | Sooke | D | 17,248 | 33.9 | 38 of 48 | -32% |
| 110 | Keremeos | V | 1,779 | 33.6 | 90 of 105 | -33% |
| 111 | Prince George | C | 85,944 | 33.6 | 17 of 22 | -33% |
| 112 | Granisle | V | 357 | 33.5 | 165 of 191 | -33% |
| 113 | Kelowna | C | 167,654 | 33.3 | 8 of 10 | -33% |
| 114 | Harrison Hot Springs | V | 2,148 | 32.7 | 91 of 105 | -35% |
| 115 | Hudson's Hope | D | 1,019 | 32.6 | 170 of 191 | -35% |
| 116 | Osoyoos | T | 5,724 | 32.0 | 69 of 90 | -36% |
| 117 | Comox | T | 15,884 | 31.9 | 39 of 48 | -36% |
| 118 | Port Coquitlam | C | 67,724 | 31.9 | 19 of 22 | -36% |
| 119 | Qualicum Beach | T | 9,640 | 31.6 | 71 of 90 | -37% |
| 120 | Port Alice | V | 789 | 31.5 | 171 of 191 | -37% |
| 121 | North Cowichan | D | 34,525 | 31.2 | 40 of 48 | -38% |
| 122 | Langley | D | 163,885 | 29.4 | 9 of 10 | -41% |
| 123 | Anmore | V | 2,508 | 29.2 | 93 of 105 | -42% |
| 124 | Fort St. James | D | 1,542 | 28.6 | 94 of 105 | -43% |
| 125 | Kamloops | C | 108,793 | 28.6 | 20 of 22 | -43% |
| 126 | McBride | V | 646 | 28.6 | 178 of 191 | -43% |
| 127 | Tofino | D | 2,772 | 28.3 | 95 of 105 | -43% |
| 128 | Sechelt | D | 11,558 | 27.9 | 77 of 90 | -44% |
| 129 | Peachland | D | 6,302 | 27.6 | 78 of 90 | -45% |
| 130 | Summerland | D | 12,343 | 27.6 | 79 of 90 | -45% |
| 131 | Castlegar | C | 9,465 | 27.1 | 80 of 90 | -46% |
| 132 | Canal Flats | V | 889 | 27.0 | 180 of 191 | -46% |
| 133 | Whistler | D | 15,090 | 27.0 | 41 of 48 | -46% |
| 134 | Vernon | C | 49,527 | 26.9 | 42 of 48 | -46% |
| 135 | Lake Country | D | 17,637 | 26.5 | 43 of 48 | -47% |
| 136 | Silverton | V | 196 | 26.5 | 182 of 191 | -47% |
| 137 | Saanich | D | 126,011 | 26.4 | 21 of 22 | -47% |
| 138 | Fruitvale | V | 2,068 | 26.3 | 97 of 105 | -47% |
| 139 | Hope | D | 7,183 | 26.1 | 82 of 90 | -48% |
| 140 | Tahsis | V | 418 | 25.4 | 184 of 191 | -49% |
| 141 | Port Hardy | D | 4,201 | 25.2 | 98 of 105 | -50% |
| 142 | Prince Rupert | C | 12,903 | 25.0 | 83 of 90 | -50% |
| 143 | Victoria | C | 103,888 | 25.0 | 22 of 22 | -50% |
| 144 | Abbotsford | C | 175,358 | 23.9 | 10 of 10 | -52% |
| 145 | Lillooet | D | 2,065 | 23.7 | 99 of 105 | -53% |
| 146 | Duncan | C | 5,745 | 23.0 | 84 of 90 | -54% |
| 147 | Gibsons | T | 5,090 | 22.8 | 85 of 90 | -54% |
| 148 | Oliver | T | 5,262 | 21.5 | 86 of 90 | -57% |
| 149 | Coldstream | D | 11,380 | 20.4 | 88 of 90 | -59% |
| 150 | West Kelowna | C | 40,274 | 18.5 | 45 of 48 | -63% |
| 151 | Powell River | C | 14,947 | 15.6 | 90 of 90 | -69% |
| 152 | Zeballos | V | 136 | 14.4 | 191 of 191 | -71% |
| 153 | Port Alberni | C | 19,671 | 9.4 | 48 of 48 | -81% |
Municipalities with Incomplete Data
The following 8 municipalities are excluded from this ranking due to missing or insufficient data points.
| Municipality | Type | Reason for Exclusion |
|---|---|---|
| Barriere | D | Stale or missing fiscal reporting |
| Daajing Giids | V | Insufficient historical data points |
| Greenwood | C | Stale or missing fiscal reporting |
| Hazelton | V | Stale or missing fiscal reporting |
| Kitimat | D | Stale or missing fiscal reporting |
| Northern Rockies | D | Insufficient historical data points |
| shíshálh Nation Government District | D | Insufficient historical data points |
| Wells | D | Stale or missing fiscal reporting |