Consumer favourite TSB runs skinniest margin amid record bank profits

KPMG's John Kensington said bank profits ended the year at a record, despite slowing growth in the final quarter. (Image: KPMG)
Community-owned TSB Bank took out Consumer’s People’s Choice Award for an eighth year in a row as the minnow lender continues to operate on the skinniest margins among the major banks tracked by KPMG’s financial institutional performance survey. But skinny margins alone aren’t enough to win over respondents to Consumer’s banking satisfaction survey, with Westpac operating at a similar margin to TSB and coming last in the customer satisfaction survey for a second year in a row. The survey’s results c...
Subscribe to BusinessDesk
Stay informed on business, government and financial developments across New Zealand.
- Deeply researched, twice-edited and fact-checked news
- Annual subscribers also receive a complimentary subscription to The Wall Street Journal
- Personalised email news alerts, plus gift up to 5 stories a month to non-subscribers
You can cancel anytime with two clicks, an email or a phone call.
Find out
more.
We are serious about journalism.
{{ registerForm.errors.get('form') }}
We had trouble validating your card. It's possible your card provider is preventing us from charging the card. Please contact your card provider or customer support.
{{ cardForm.errors.get('card') }}
{{ registerForm.errors.get('plan') }}
{{ __(plans[index].name) | capitalize }}
{{ plans[index].attributes.old_price | currency }}
{{ plans[index].price | currency }}
All subscriptions auto renew but are easy to cancel.
Tax: {{ taxAmount(selectedPlan) | currency }}
Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
Total Price Including Tax: {{ priceWithTax(selectedPlan) | currency }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerSeat ? '/ '+ spark.seatName : '' }} {{ selectedPlan.type == 'user' && spark.chargesUsersPerTeam ? '/ '+ __('teams.team') : '' }} / {{ __(selectedPlan.interval) | capitalize }}
{{ registerForm.errors.get('email') }}
Not convinced yet?
Subscribe to our free 7am Headlines newsletter.
A quick summary of everything BusinessDesk has published in the previous 24 hours. No BusinessDesk
subscription needed.