Skip to main content

BC Municipal Fiscal Balance Rankings

Operating surplus per person measures how much revenue a municipality generates beyond its operating expenses.

156 municipalities ranked Higher is better

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. # ▲MunicipalityTypePopulationValueBand Rankvs Band Avg
1LyttonV228$14,6613 of 193+1135%
2TofinoD2,772$6,5232 of 106+622%
3GranisleV357$6,4166 of 193+440%
4Port ClementsV352$4,4428 of 193+274%
5TahsisV418$4,2939 of 193+262%
6MerrittC7,190$4,0002 of 91+493%
7StewartD515$3,81910 of 193+222%
8Burns LakeV2,007$3,7166 of 106+311%
9Fraser LakeV942$3,39815 of 193+186%
10Port EdwardD442$2,90718 of 193+145%
11Pouce CoupeV813$2,81519 of 193+137%
12Cache CreekV1,053$2,76620 of 193+133%
13ZeballosV136$2,70722 of 193+128%
14Fort St. JamesD1,542$2,6917 of 106+198%
15PrincetonT3,050$2,5729 of 106+185%
16SicamousD2,854$2,56510 of 106+184%
17UclueletD2,452$2,39812 of 106+165%
18MassetV914$2,29330 of 193+93%
19SquamishD28,578$2,2581 of 48+262%
20Grand ForksC4,308$2,16315 of 106+139%
21Prince RupertC12,903$1,9537 of 91+189%
22SmithersT5,627$1,8789 of 91+178%
23New HazeltonD666$1,85837 of 193+57%
24OsoyoosT5,724$1,58911 of 91+135%
25Logan LakeD2,337$1,56719 of 106+73%
26MidwayV671$1,56546 of 193+32%
27EnderbyC3,292$1,53221 of 106+69%
28Radium Hot SpringsV1,489$1,49553 of 193+26%
29New DenverV527$1,48354 of 193+25%
30ElkfordD3,030$1,48222 of 106+64%
31RevelstokeC9,464$1,39713 of 91+107%
32Tumbler RidgeD2,663$1,36324 of 106+51%
33RosslandC4,355$1,36025 of 106+50%
34TaylorD1,415$1,35360 of 193+14%
35CoquitlamC173,599$1,3481 of 10+63%
36Dawson CreekC13,635$1,34014 of 91+99%
37TelkwaV1,544$1,33826 of 106+48%
38Harrison Hot SpringsV2,148$1,30527 of 106+44%
39Hudson's HopeD1,019$1,30162 of 193+10%
40ClintonV707$1,25163 of 193+5%
41Alert BayV465$1,25064 of 193+5%
42MackenzieD3,442$1,23929 of 106+37%
43WhistlerD15,090$1,2076 of 48+93%
44ValemountV1,082$1,20468 of 193+1%
45LumbyV2,257$1,19630 of 106+32%
46HoustonD3,114$1,16932 of 106+29%
47VancouverC740,454$1,1622 of 10+40%
48ChetwyndD2,484$1,13533 of 106+26%
49KentD7,093$1,13117 of 91+68%
50Lake CowichanT3,757$1,07136 of 106+19%
51BurnabyC299,682$1,0393 of 10+25%
52Fort St. JohnC24,383$1,0247 of 48+64%
53BelcarraV702$1,00472 of 193-15%
54CumberlandV4,974$98637 of 106+9%
55RichmondC239,584$9734 of 10+17%
56Bowen IslandD4,501$96538 of 106+7%
57AnmoreV2,508$94839 of 106+5%
58SparwoodD4,486$94240 of 106+4%
59shíshálh Nation Government DistrictD792$92976 of 193-22%
60Northern RockiesD4,400$92741 of 106+3%
61KelownaC167,654$9195 of 10+11%
62NakuspV1,740$90542 of 106+0%
63KimberleyC9,037$90223 of 91+34%
64NelsonC12,126$89224 of 91+32%
65TerraceC13,648$88826 of 91+31%
66SummerlandD12,343$88128 of 91+31%
67SurreyC703,531$8536 of 10+3%
68Qualicum BeachT9,640$82529 of 91+22%
69ComoxT15,884$77811 of 48+25%
70MontroseV1,072$76982 of 193-35%
71Powell RiverC14,947$74931 of 91+11%
72PembertonV3,620$73146 of 106-19%
73Maple RidgeC105,925$7175 of 22+27%
74White RockC25,057$71514 of 48+15%
75Williams LakeC11,462$70732 of 91+5%
76Central SaanichD18,184$69115 of 48+11%
77MissionC47,280$66317 of 48+6%
78InvermereD4,305$64449 of 106-29%
79DuncanC5,745$63135 of 91-6%
80ColwoodC22,794$63118 of 48+1%
81SpallumcheenD5,843$62336 of 91-8%
82Oak BayD18,626$62119 of 48-1%
83LangleyC35,444$61820 of 48-1%
84LangfordC59,664$6167 of 22+9%
85TrailC8,539$59738 of 91-11%
86KasloV1,141$58391 of 193-51%
87GibsonsT5,090$57441 of 91-15%
88New WestminsterC92,124$5429 of 22-4%
89Port MoodyC38,285$53525 of 48-14%
90Port CoquitlamC67,724$53010 of 22-6%
91GoldenT4,433$52753 of 106-42%
92West VancouverD47,929$51526 of 48-18%
93OliverT5,262$51242 of 91-24%
94VanderhoofD4,545$51255 of 106-43%
95Lake CountryD17,637$49827 of 48-20%
96Prince GeorgeC85,944$49511 of 22-13%
97Lions BayV1,375$49398 of 193-58%
98ChaseV2,591$49257 of 106-46%
99Pitt MeadowsC20,892$48328 of 48-23%
100CrestonT5,976$46144 of 91-32%
101VictoriaC103,888$45413 of 22-20%
102SookeD17,248$45229 of 48-28%
103LadysmithT9,926$44545 of 91-34%
104FruitvaleV2,068$43461 of 106-52%
105Campbell RiverC38,300$43030 of 48-31%
106PentictonC39,068$42531 of 48-32%
107CranbrookC22,703$42132 of 48-33%
108NanaimoC111,845$41914 of 22-26%
109Gold RiverV1,339$413102 of 193-65%
110SlocanV488$401104 of 193-66%
111AshcroftV1,744$39964 of 106-56%
112MetchosinD5,207$39150 of 91-42%
113AbbotsfordC175,358$3789 of 10-54%
114ArmstrongC5,643$37353 of 91-45%
115View RoyalT12,795$36555 of 91-46%
116SecheltD11,558$35557 of 91-47%
117FernieC7,086$35058 of 91-48%
118100 Mile HouseD2,030$34869 of 106-62%
119Sun PeaksV1,546$34570 of 106-62%
120McBrideV646$335112 of 193-72%
121QuesnelC10,253$32960 of 91-51%
122ClearwaterD2,500$31872 of 106-65%
123Salmon ArmC20,891$31134 of 48-50%
124ParksvilleC15,371$30435 of 48-51%
125North CowichanD34,525$30336 of 48-51%
126DeltaC124,670$29415 of 22-48%
127LantzvilleD4,276$29273 of 106-68%
128ChilliwackC105,520$29116 of 22-49%
129North VancouverC66,624$29117 of 22-49%
130CourtenayC32,869$28238 of 48-55%
131SaanichD126,011$27918 of 22-51%
132SidneyT13,445$27365 of 91-60%
133PeachlandD6,302$27266 of 91-60%
134Port McNeillT2,402$24676 of 106-73%
135KamloopsC108,793$24619 of 22-57%
136EsquimaltD19,512$24539 of 48-61%
137North SaanichD12,986$24267 of 91-64%
138CastlegarC9,465$24168 of 91-64%
139Port AlberniC19,671$23940 of 48-62%
140LillooetD2,065$22978 of 106-75%
141VernonC49,527$22141 of 48-65%
142North VancouverD97,845$19820 of 22-65%
143SilvertonV196$163125 of 193-86%
144HighlandsD2,753$14084 of 106-85%
145LangleyD163,885$13410 of 10-84%
146WarfieldV1,729$11388 of 106-87%
147Port HardyD4,201$8090 of 106-91%
148ColdstreamD11,380$6178 of 91-91%
149SalmoV1,310$60136 of 193-95%
150KeremeosV1,779$4093 of 106-96%
151Daajing GiidsV999$17140 of 193-99%
152West KelownaC40,274$746 of 48-99%
153HopeD7,183-$7785 of 91-111%
154Port AliceV789-$144156 of 193-112%
155SaywardV329-$455174 of 193-138%
156Canal FlatsV889-$1,342190 of 193-213%

Municipalities with Incomplete Data

The following 5 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
Greenwood C Stale or missing fiscal reporting
Hazelton V Stale or missing fiscal reporting
Kitimat D Stale or missing fiscal reporting
Wells D Stale or missing fiscal reporting