OSB - Ticker AI Digest

OneSavings Bank PLC ๐Ÿ“ฐ 1
Important AI Risk Notice

Charts, catalyst summaries, AI scores, forecasts and price context are AI-driven and can hallucinate, lag or miss market-changing information.

Not investment advice. Markets can move fast and any trade or allocation decision remains your responsibility.
AI can hallucinate. Summaries, rankings, forecasts and commentary can be wrong, incomplete or misleading.
AI-driven data only. Signals, dates, prices, sentiment and automation outputs may be delayed, estimated or stale.
Always verify externally. Confirm prices, filings, broker notes and trade setup details with independent sources before acting.
Mobile Command Deck
OneSavings Bank PLC in one cleaner mobile flow.
Tap straight into the module you want. No sideways tab hunt, just a clean route into charts, news, Today’s AI, and the deeper desks.
OSB Data 2025-04-10 Preview Mode

Digested News

Today's Catalysts (OSB) 1
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
AI 0
No items for this category on selected date.
Acquisitions 0
No items for this category on selected date.
Agreement 0
No items for this category on selected date.
Approvals 0
No items for this category on selected date.
Authorisation 0
No items for this category on selected date.
Awards 0
No items for this category on selected date.
BTC 0
No items for this category on selected date.
Blockchain 0
No items for this category on selected date.
Breakthrough 0
No items for this category on selected date.
BuyBack 0
No items for this category on selected date.
Cancellations 0
No items for this category on selected date.
CashOffer 0
No items for this category on selected date.
Collaborate 0
No items for this category on selected date.
ContractWin 0
No items for this category on selected date.
Covid-19 0
No items for this category on selected date.
Deals 0
No items for this category on selected date.
Diamond 0
No items for this category on selected date.
DirectorDealing 9
OSB 11:43
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:16
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 09:40
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:26
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:02
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:00
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 14:57
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 10:45
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 16:00
OneSavings Bank PLC
Director/PDMR Shareholding
Discovery 0
No items for this category on selected date.
Exceeded 0
No items for this category on selected date.
FCA 0
No items for this category on selected date.
FDA 0
No items for this category on selected date.
Grants 0
No items for this category on selected date.
InvestmentPlan 0
No items for this category on selected date.
JV 0
No items for this category on selected date.
Launch 0
No items for this category on selected date.
Litigation 0
No items for this category on selected date.
NewContract 0
No items for this category on selected date.
Offers 0
No items for this category on selected date.
Offtake 0
No items for this category on selected date.
Orders 0
No items for this category on selected date.
Partner 0
No items for this category on selected date.
Patents 0
No items for this category on selected date.
Placing 0
No items for this category on selected date.
Positive 0
No items for this category on selected date.
Proposals 0
No items for this category on selected date.
Reports 1
Results 1
OSB 06:01
OneSavings Bank PLC
OSB GROUP PLC Preliminary Results
AI Expand: Explanation + Tables
Return to todayโ€™s catalyst cards, chart beacons and AI charts.
OSB GROUP PLC PRELIMINARY RESULTS
OSB GROUP PLC
Released 0700:00 13 March 2025
OSB GROUP PLC
Preliminary results
For the year ended 31 December 2024
LEI213800ZBKL9BHSL2K459
This announcement contains inside information
13 March 2025
Following the Combination with Charter Court Financial Services Group plc (CCFS) on 4 October 2019, this press release includes results on an underlying basis, in addition to the statutory basis, which Management believe provide a more consistent basis for comparing the Groupโ€™s results between financial periods. Underlying results exclude acquisition-related items (see the reconciliation in the Financial review). In 2024, the acquisition-related items were fully amortised and therefore, from 2025 the Groupโ€™s results will be presented on a statutory basis only.
OSB GROUP PLC (OSBG or the Group), the specialist lending and retail savings group, announces today its results for the year ended 31 December 2024. The Group has also published today its guidance for 2025 and its medium-term aspirations for 2027-29, see below for more details.
Financial and operational highlights
Underlying profit before tax increased by 4% to ยฃ442.9m (2023: ยฃ426.0m) and statutory profit before tax increased by 12% to ยฃ418.1m (2023: ยฃ374.3m)
Underlying and statutory net loan book decreased by 2% to ยฃ25.1bn (2023: ยฃ25.7bn and ยฃ25.8bn, respectively) due to the ยฃ1.25bn securitisation and deconsolidation transaction in December. The underlying net loan book would have increased by 2.5% since 31 December 2023 excluding this transaction
Underlying and statutory net interest margin (NIM) reduced to 230bps and 221bps (2023: 251bps and 231bps respectively) inclusive of a further adverse EIR adjustment of ยฃ15.9m, largely due to lower prevailing spreads to SONIA from mortgages and deposits as products written in prior years reached maturity and the cost of MREL
Underlying and statutory cost to income ratios increased to 37% and 39% (2023: 33% and 36%, respectively) as a result of continued investment in the transformation programme, redundancy costs and the new Bank of England levy. Core costs increased by 3% in the year
Underlying and statutory loan loss ratios were (5)bps and (4)bps, respectively (2023: 20bps) due to improved house price outlook in the updated forward-looking macroeconomic scenarios
Underlying and statutory return on equity of 16% and 15% (2023: 16% and 14%, respectively), broadly stable as higher profit was offset by an increase in the average equity balance
Basic earnings per share (EPS) increased to 82.2 pence and 77.6 pence on an underlying and statutory basis (2023: 75.0 pence and 66.1 pence) due to higher profit and a lower number of shares in issue following the completion of our share repurchase programmes totalling ยฃ100m in the year
The Common Equity Tier 1 capital ratio of 16.3% and total capital ratio of 19.7% remained strong (2023: 16.1% and 19.5%, respectively)
A new share repurchase programme of ยฃ100m over the next 12 months to commence on 14 March 2025
Total dividend of 33.6 pence per share (2023: 32.0 pence) including a recommended final dividend of 22.9 pence per share, in line with our stated commitment to provide a progressive dividend per share
Andy GoldingGroup CEOsaid
โ€œThe results delivered by OSB Group in 2024 demonstrate the strong fundamentals which underpin our business and also the focused and disciplined strategic choices made in the year by the Board and management that will shape the Groupโ€™s future.
The Groupโ€™s actions are delivering results, with an improved and attractive blended front book margin for new business originated in 2024, and progress with the planned increase in diversification into our well-established higher yielding specialist segments. The Group focused on reducing EIR sensitivity from changes in customer behaviour at product maturity in our Precise Buy-to-Let book. In December we completed a ยฃ1.25bn securitisation of Precise Buy-to-Let loans which was derecognised from the Groupโ€™s balance sheet and based on observed customer behaviour, we made the decision to reduce the expected time that Precise borrowers spend on the reversion rate from 5 months to 4 months. This led to an adverse EIR adjustment of ยฃ15.9m. These actions helped reduce the sensitivity of interest income to a two month reduction in the expected time Precise borrowers spend on the reversion rate to ยฃ27m. This is within the business-as-usual levels seen prior to 2023.
2024 marked the second year of our five-year transformation programme, delivery of which will ensure we remain competitive, deliver at scale with cost efficiency and also enhance the experience of dealing with the Group for our customers, our broker partners and our colleagues.
The Group continued to demonstrate strong capital generation and the Board remains committed to returning excess capital to shareholders. The recommended final dividend for 2024 of 22.9 pence per share, together with the interim dividend of 10.7 pence per share, resulted in a progressive total ordinary dividend per share of 33.6 pence, representing a 40% payout ratio. Together with the ยฃ100m of share repurchases completed in the year, this represents a total return to shareholders of ยฃ226m for the year. In addition, we have announced a further ยฃ100m share repurchase programme over the next 12 months commencing on 14 March.
Given our focus on returns we anticipate low single digit loan book growth in 2025 with similar dynamics to those seen in 2024. NIM in 2025 is expected to be c.225bps, as both lending spreads to SONIA and net funding impacts on NIM began to stabilise in the second half of 2024. We anticipate c.ยฃ270m of administrative expenses in 2025, as we continue to invest in our transformation programme, with core costs increasing below the rate of inflation. We anticipate a low teens RoTE ratio in 2025 and we will continue to prioritise returns to shareholders with total dividend increasing by 5%. In 2026, we expect broadly similar dynamics.
Today, we also set out our medium-term aspirations building on our actions over the next two years where we will focus on growing across all our segments and in particular increasing origination volumes where yields are strong and sustainable such as commercial lending, asset finance, development finance and bridging.
The Group remains well capitalised, with strong liquidity and a high-quality secured loan book. We remained focused on delivering good outcomes for our stakeholders and strong returns for our shareholders.โ€
Investor update
Along with the 2024 preliminary results, the Group updates the market with its medium-term aspirations, strengthening its position as the UKโ€™s leading specialist lender.
The Groupโ€™s strategy to deliver higher returns is supported by its key strengths
Intermediary strategy โ€“ trusted leadership with intermediaries, offering a single point of entry to access the Groupโ€™s diversified product range, through its 100+ sales relationship managers with deep product expertise
Deep experience and credit expertise in a range of higher yielding specialist segments - with increasing diversification and ability to grow, delivering strong risk adjusted returns
Structurally increasing operational leverage โ€“ focus on delivering cost efficiency and an increasing proportion of colleagues based in our fully integrated subsidiary OSB India
Building our bank for the future โ€“ entering the third year of a five-year transformation programme optimising operations for a digital future
Improving the broker and customer experience โ€“ combining our successful intermediary lending strategy with our transformation programme to deliver our optimised lending growth plan with a higher yielding, diversified loan book
This will maintain the Groupโ€™s position as the number one specialist lender, enabling us to deliver margin expansion, positive cost jaws, improved returns and enhanced distributions to shareholders.
2025 and 2026 will be transition years during which the Group will continue to invest, whilst lower margin mortgages will continue to roll-off. The Group today guides to the following metrics for these years
2025 Guidance 2026 Direction
Net loan book growth Low-single digit Modestly higher than 2025
NIM c.225bps Similar levels to 2025
Administrative expenses c.ยฃ270m Modestly higher than 2025
RoTE ratio Low-teens
CET1 ratio 14% target post Basel 3.1
Distributions 5% dividend per share growth per year and commitment to return excess capital
From 2027, with the transformation largely complete, the Group will be set on a trajectory of attractive growth with a higher yielding mix, improved returns and commitment to returning excess capital to shareholders. The Group today provides the following medium-term aspirations
Medium-term aspirations 2027-2029
Net loan book growth Mid-single digit if returns meet our requirements
Loan book diversification Buy-to-Let to comprise โ‰ค 60% of the loan book whilst all segments to continue to grow
Administrative
expenses Gradually to improve to low 30s% cost to income ratio and positive jaws
RoTE ratio Mid-teens
CET1 ratio 14% target post Basel 3.1
Distributions Progressive dividend per share and commitment to return excess capital
Transformation programme
The Group completed two years of its five-year transformation programme with c.ยฃ60m spend to-date, of which 68% was capitalised. The Group expects to spend a further c.ยฃ130m until the programme completes in 2027, of which 33% will be capitalised.
Enquiries
OSB GROUP PLC Brunswick Group
Alastair Pate, Investor Relations Robin Wrench/Simone Selzer
t020 7404 5959 t: 020 7404 5959
Results presentation
A Preliminary results webcast presentation for analysts will be held at 8.00am on Thursday 13 March, followed by an Investor update commencing at 10.00am
Both presentations will be webcast and available on the OSB Group website at www.osb.co.uk/investors/results-reports-presentations.
The UK dial in number is 020 3936 2999 and the password is 133425 for the 8.00am Preliminary results webcast. Registration is open immediately.
About OSB GROUP PLC
OneSavings Bank plc (OSB) began trading as a bank on 1 February 2011 and was admitted to the main market of the London Stock Exchange in June 2014 (OSB.L). OSB joined the FTSE 250 index in June 2015. On 4 October 2019, OSB acquired Charter Court Financial Services Group plc (CCFS) and its subsidiary businesses. On 30 November 2020, OSB GROUP PLC became the listed entity and holding company for the OSB Group. The Group provides specialist lending and retail savings and is authorised by the Prudential Regulation Authority, part of the Bank of England, and regulated by the Financial Conduct Authority and Prudential Regulation Authority. The Group reports under two segments, OneSavings Bank and Charter Court Financial Services.
OneSavings Bank (OSB)
OSB primarily targets market sub-sectors that offer high growth potential and attractive risk-adjusted returns in which it can take a leading position and where it has established expertise, platforms and capabilities. These include private rented sector Buy-to-Let, commercial and semi-commercial mortgages, residential development finance, bespoke and specialist residential lending and asset finance.
OSB originates mortgages organically via specialist brokers and independent financial advisers through its specialist brands including Kent Reliance for Intermediaries and InterBay Commercial. It is differentiated through its use of highly skilled, experience-based manual underwriting and efficient operating model.
OSB is predominantly funded by retail savings originated through the long-established Kent Reliance name, which takes deposits online and through a network of branches in the South East of England. Diversification of funding is currently provided by securitisation programmes and the Bank of Englandโ€™s Term Funding Scheme with additional incentives for SMEs.
Charter Court Financial Services Group (CCFS)
CCFS focuses on providing Buy-to-Let and specialist residential mortgages and retail savings products. It operates through its brands: Precise and Charter Savings Bank.
It is differentiated through risk management expertise and best-of-breed automated technology and systems, ensuring efficient processing, strong credit and collateral risk control and speed of product development and innovation. These factors have enabled strong balance sheet growth whilst maintaining high credit quality mortgage assets.
CCFS is predominantly funded by retail savings originated through its Charter Savings Bank brand. Diversification of funding is currently provided by securitisation programmes and the Bank of Englandโ€™s Term Funding Scheme with additional incentives for SMEs.
Important disclaimer
This document should be read in conjunction with any other documents or announcements distributed by OSB GROUP PLC (OSBG) through the Regulatory News Service (RNS).
This document is not audited and contains certain forward-looking statements with respect to the business, strategy and plans of OSBG, its current goals, beliefs, intentions, strategies and expectations relating to its future financial condition, performance and results, and ESG ambitions, targets and commitments described herein. Such forward-looking statements include, without limitation, those preceded by, followed by or that include the words โ€˜targetsโ€™, โ€˜believesโ€™, โ€˜estimatesโ€™, โ€˜expectsโ€™, โ€˜aimsโ€™, โ€˜intendsโ€™, โ€˜willโ€™, โ€˜mayโ€™, โ€˜anticipatesโ€™, โ€˜projectsโ€™, โ€˜plansโ€™, โ€˜forecastsโ€™, โ€˜outlookโ€™, โ€˜futureโ€™, โ€˜wouldโ€™, โ€˜couldโ€™, โ€˜shouldโ€™ or similar expressions or negatives thereof but are not the exclusive means of identifying such statements. Statements that are not historical or current facts, including statements about OSBG, its directorsโ€™ and/or managementโ€™s beliefs and expectations, are forward-looking statements. By their nature, forward-looking statements involve risk and uncertainty because they relate to events and depend upon circumstances that may or may not occur in the future that may or may not arise in the future that may or may not affect the future financial condition, performance and results, and ESG ambitions, targets and commitments described herein. Factors that could cause actual business, strategy, plans and/or financial condition, performance and results, and ESG ambitions to differ materially from the business, strategy, plans and/or financial condition, performance and results, and ESG ambitions, targets and commitments described herein.
Accordingly, no reliance may be placed on any forward-looking statement. Neither OSBG, nor any of its directors, officers or employees provides any representation, warranty or assurance that any of these statements or forecasts will come to pass or that any forecast results will be achieved. Any forward-looking statement may be influenced by, among other things: general economic and business conditions in the UK and internationally, including any changes in global trade policies
market related trends and developments
fluctuations in exchange ratesstock marketsinflationdeflationinterest ratesenergy prices and currencies
policies of the Bank of England, the European Central Bank and other G7 central banks
the ability to access sufficient sources of capital, liquidity and funding when required
changes to OSBGโ€™s credit ratings
the ability to derive cost savings
changing demographic developmentsand changing customer behaviourincluding consumer spendingsaving and borrowing habits
changes in customer preferences
changes to borrower or counterparty credit quality
unemployment levels
the ability to attract and retain senior management and other employees
the extent of any future impairment charges or write-downs caused by, but not limited to, depressed asset valuations, market disruptions and illiquid markets
market relating trends and developments
exposure to regulatory scrutiny, legal proceedings, regulatory investigations or complaints
changes in legislation, regulation, taxation, ESG reporting standards, accounting standards or practices, including as a result of the UKโ€™s exit from the EU
regulatory capital or liquidity requirements and similar contingencies outside OSBGโ€™s control
the policies and actions of governmental or regulatory authorities in the UK, the EU or elsewhere including the implementation and interpretation of key legislation and regulation
the ability to identify, assess, manage and monitor the risks faced by the Group
the ability to maintain appropriate levels of provision coverage levels and the ongoing appropriateness of macroeconomic scenarios utilised within IFRS 9 calculations
the impact of outbreaks, epidemics and pandemics or other such events
the ability to executemanage and integrate acquisitionsinvestmentsdivestmentsrestructuringsand strategic transactions
the ability to maintain or obtain regulatory approvals and to satisfy the conditions imposed in respect of regulatory approvals
the ability to attract and retain senior management and other employees
the extent of any future impairment charges or write-downs caused by, but not limited to, depressed asset valuations, market disruptions and illiquid markets
the actions of competitors, including non-bank financial services and lending companies
the success of OSBG in managing the risks of the foregoing
and other risks inherent to the industries and markets in which OSBG operates.
Accordingly, no reliance may be placed on any forward-looking statement. Neither OSBG, nor any of its directors, officers or employees provides any representation, warranty or assurance that any of these statements or forecasts will come to pass or that any forecast results will be achieved. Any forward-looking statement may be influenced by, among other things: general economic and business conditions in the UK and internationally, including any changes in global trade policies
market related trends and developments
fluctuations in exchange ratesstock marketsinflationdeflationinterest ratesenergy prices and currencies
policies of the Bank of England, the European Central Bank and other G7 central banks
the ability to access sufficient sources of capital, liquidity and funding when required
changes to OSBGโ€™s credit ratings
the ability to derive cost savings
changing demographic developmentsand changing customer behaviourincluding consumer spendingsaving and borrowing habits
changes in customer preferences
changes to borrower or counterparty credit quality
unemployment levels
the ability to attract and retain senior management and other employees
the extent of any future impairment charges or write-downs caused by, but
python import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates import seaborn as sns from io import StringIO import requests import re from datetime import datetime from datetime import timedelta from bs4 import BeautifulSoup import warnings warnings.filterwarnings("ignore") # Read in the data with open('OSB GROUP PLC PRELIMINARY RESULTS.txt', 'r') as f: data = f.read() soup = BeautifulSoup(data, ".parser") # Find the tables tables = soup.find_all("table") # Extract the data from the tables df_list = [] for table in tables: table_rows = table.find_all("tr") data = [] for row in table_rows: cols = row.find_all("td") cols = [ele.get_text() for ele in cols] data.append(cols) df_list.append(pd.DataFrame(data)) df = pd.concat(df_list) # Clean the data df = df.dropna(how="all") df = df.drop(df.columns[0], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop
Significant 0
No items for this category on selected date.
Speculation 0
No items for this category on selected date.
Strategic 0
No items for this category on selected date.
Suspension 0
No items for this category on selected date.
TR1 0
No items for this category on selected date.
Takeover 0
No items for this category on selected date.
Understanding 0
No items for this category on selected date.
Updates 0
No items for this category on selected date.
Vaccine 0
No items for this category on selected date.
Wins 0
No items for this category on selected date.
Worth 0
No items for this category on selected date.
All Market News (Last 30 Days) 27
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 11:43
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:16
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 09:40
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:26
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:02
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 15:00
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 14:57
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 10:45
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 06:01
OneSavings Bank PLC
Transaction in own shares
OSB 16:00
OneSavings Bank PLC
Director/PDMR Shareholding
OSB 16:23
OneSavings Bank PLC
Block Listing
OSB 06:31
OneSavings Bank PLC
Directorate change
OSB 06:06
OneSavings Bank PLC
Share Repurchase Programme
OSB 06:01
OneSavings Bank PLC
OSB GROUP PLC Preliminary Results
AI Expand: Explanation + Tables
Return to todayโ€™s catalyst cards, chart beacons and AI charts.
OSB GROUP PLC PRELIMINARY RESULTS
OSB GROUP PLC
Released 0700:00 13 March 2025
OSB GROUP PLC
Preliminary results
For the year ended 31 December 2024
LEI213800ZBKL9BHSL2K459
This announcement contains inside information
13 March 2025
Following the Combination with Charter Court Financial Services Group plc (CCFS) on 4 October 2019, this press release includes results on an underlying basis, in addition to the statutory basis, which Management believe provide a more consistent basis for comparing the Groupโ€™s results between financial periods. Underlying results exclude acquisition-related items (see the reconciliation in the Financial review). In 2024, the acquisition-related items were fully amortised and therefore, from 2025 the Groupโ€™s results will be presented on a statutory basis only.
OSB GROUP PLC (OSBG or the Group), the specialist lending and retail savings group, announces today its results for the year ended 31 December 2024. The Group has also published today its guidance for 2025 and its medium-term aspirations for 2027-29, see below for more details.
Financial and operational highlights
Underlying profit before tax increased by 4% to ยฃ442.9m (2023: ยฃ426.0m) and statutory profit before tax increased by 12% to ยฃ418.1m (2023: ยฃ374.3m)
Underlying and statutory net loan book decreased by 2% to ยฃ25.1bn (2023: ยฃ25.7bn and ยฃ25.8bn, respectively) due to the ยฃ1.25bn securitisation and deconsolidation transaction in December. The underlying net loan book would have increased by 2.5% since 31 December 2023 excluding this transaction
Underlying and statutory net interest margin (NIM) reduced to 230bps and 221bps (2023: 251bps and 231bps respectively) inclusive of a further adverse EIR adjustment of ยฃ15.9m, largely due to lower prevailing spreads to SONIA from mortgages and deposits as products written in prior years reached maturity and the cost of MREL
Underlying and statutory cost to income ratios increased to 37% and 39% (2023: 33% and 36%, respectively) as a result of continued investment in the transformation programme, redundancy costs and the new Bank of England levy. Core costs increased by 3% in the year
Underlying and statutory loan loss ratios were (5)bps and (4)bps, respectively (2023: 20bps) due to improved house price outlook in the updated forward-looking macroeconomic scenarios
Underlying and statutory return on equity of 16% and 15% (2023: 16% and 14%, respectively), broadly stable as higher profit was offset by an increase in the average equity balance
Basic earnings per share (EPS) increased to 82.2 pence and 77.6 pence on an underlying and statutory basis (2023: 75.0 pence and 66.1 pence) due to higher profit and a lower number of shares in issue following the completion of our share repurchase programmes totalling ยฃ100m in the year
The Common Equity Tier 1 capital ratio of 16.3% and total capital ratio of 19.7% remained strong (2023: 16.1% and 19.5%, respectively)
A new share repurchase programme of ยฃ100m over the next 12 months to commence on 14 March 2025
Total dividend of 33.6 pence per share (2023: 32.0 pence) including a recommended final dividend of 22.9 pence per share, in line with our stated commitment to provide a progressive dividend per share
Andy GoldingGroup CEOsaid
โ€œThe results delivered by OSB Group in 2024 demonstrate the strong fundamentals which underpin our business and also the focused and disciplined strategic choices made in the year by the Board and management that will shape the Groupโ€™s future.
The Groupโ€™s actions are delivering results, with an improved and attractive blended front book margin for new business originated in 2024, and progress with the planned increase in diversification into our well-established higher yielding specialist segments. The Group focused on reducing EIR sensitivity from changes in customer behaviour at product maturity in our Precise Buy-to-Let book. In December we completed a ยฃ1.25bn securitisation of Precise Buy-to-Let loans which was derecognised from the Groupโ€™s balance sheet and based on observed customer behaviour, we made the decision to reduce the expected time that Precise borrowers spend on the reversion rate from 5 months to 4 months. This led to an adverse EIR adjustment of ยฃ15.9m. These actions helped reduce the sensitivity of interest income to a two month reduction in the expected time Precise borrowers spend on the reversion rate to ยฃ27m. This is within the business-as-usual levels seen prior to 2023.
2024 marked the second year of our five-year transformation programme, delivery of which will ensure we remain competitive, deliver at scale with cost efficiency and also enhance the experience of dealing with the Group for our customers, our broker partners and our colleagues.
The Group continued to demonstrate strong capital generation and the Board remains committed to returning excess capital to shareholders. The recommended final dividend for 2024 of 22.9 pence per share, together with the interim dividend of 10.7 pence per share, resulted in a progressive total ordinary dividend per share of 33.6 pence, representing a 40% payout ratio. Together with the ยฃ100m of share repurchases completed in the year, this represents a total return to shareholders of ยฃ226m for the year. In addition, we have announced a further ยฃ100m share repurchase programme over the next 12 months commencing on 14 March.
Given our focus on returns we anticipate low single digit loan book growth in 2025 with similar dynamics to those seen in 2024. NIM in 2025 is expected to be c.225bps, as both lending spreads to SONIA and net funding impacts on NIM began to stabilise in the second half of 2024. We anticipate c.ยฃ270m of administrative expenses in 2025, as we continue to invest in our transformation programme, with core costs increasing below the rate of inflation. We anticipate a low teens RoTE ratio in 2025 and we will continue to prioritise returns to shareholders with total dividend increasing by 5%. In 2026, we expect broadly similar dynamics.
Today, we also set out our medium-term aspirations building on our actions over the next two years where we will focus on growing across all our segments and in particular increasing origination volumes where yields are strong and sustainable such as commercial lending, asset finance, development finance and bridging.
The Group remains well capitalised, with strong liquidity and a high-quality secured loan book. We remained focused on delivering good outcomes for our stakeholders and strong returns for our shareholders.โ€
Investor update
Along with the 2024 preliminary results, the Group updates the market with its medium-term aspirations, strengthening its position as the UKโ€™s leading specialist lender.
The Groupโ€™s strategy to deliver higher returns is supported by its key strengths
Intermediary strategy โ€“ trusted leadership with intermediaries, offering a single point of entry to access the Groupโ€™s diversified product range, through its 100+ sales relationship managers with deep product expertise
Deep experience and credit expertise in a range of higher yielding specialist segments - with increasing diversification and ability to grow, delivering strong risk adjusted returns
Structurally increasing operational leverage โ€“ focus on delivering cost efficiency and an increasing proportion of colleagues based in our fully integrated subsidiary OSB India
Building our bank for the future โ€“ entering the third year of a five-year transformation programme optimising operations for a digital future
Improving the broker and customer experience โ€“ combining our successful intermediary lending strategy with our transformation programme to deliver our optimised lending growth plan with a higher yielding, diversified loan book
This will maintain the Groupโ€™s position as the number one specialist lender, enabling us to deliver margin expansion, positive cost jaws, improved returns and enhanced distributions to shareholders.
2025 and 2026 will be transition years during which the Group will continue to invest, whilst lower margin mortgages will continue to roll-off. The Group today guides to the following metrics for these years
2025 Guidance 2026 Direction
Net loan book growth Low-single digit Modestly higher than 2025
NIM c.225bps Similar levels to 2025
Administrative expenses c.ยฃ270m Modestly higher than 2025
RoTE ratio Low-teens
CET1 ratio 14% target post Basel 3.1
Distributions 5% dividend per share growth per year and commitment to return excess capital
From 2027, with the transformation largely complete, the Group will be set on a trajectory of attractive growth with a higher yielding mix, improved returns and commitment to returning excess capital to shareholders. The Group today provides the following medium-term aspirations
Medium-term aspirations 2027-2029
Net loan book growth Mid-single digit if returns meet our requirements
Loan book diversification Buy-to-Let to comprise โ‰ค 60% of the loan book whilst all segments to continue to grow
Administrative
expenses Gradually to improve to low 30s% cost to income ratio and positive jaws
RoTE ratio Mid-teens
CET1 ratio 14% target post Basel 3.1
Distributions Progressive dividend per share and commitment to return excess capital
Transformation programme
The Group completed two years of its five-year transformation programme with c.ยฃ60m spend to-date, of which 68% was capitalised. The Group expects to spend a further c.ยฃ130m until the programme completes in 2027, of which 33% will be capitalised.
Enquiries
OSB GROUP PLC Brunswick Group
Alastair Pate, Investor Relations Robin Wrench/Simone Selzer
t020 7404 5959 t: 020 7404 5959
Results presentation
A Preliminary results webcast presentation for analysts will be held at 8.00am on Thursday 13 March, followed by an Investor update commencing at 10.00am
Both presentations will be webcast and available on the OSB Group website at www.osb.co.uk/investors/results-reports-presentations.
The UK dial in number is 020 3936 2999 and the password is 133425 for the 8.00am Preliminary results webcast. Registration is open immediately.
About OSB GROUP PLC
OneSavings Bank plc (OSB) began trading as a bank on 1 February 2011 and was admitted to the main market of the London Stock Exchange in June 2014 (OSB.L). OSB joined the FTSE 250 index in June 2015. On 4 October 2019, OSB acquired Charter Court Financial Services Group plc (CCFS) and its subsidiary businesses. On 30 November 2020, OSB GROUP PLC became the listed entity and holding company for the OSB Group. The Group provides specialist lending and retail savings and is authorised by the Prudential Regulation Authority, part of the Bank of England, and regulated by the Financial Conduct Authority and Prudential Regulation Authority. The Group reports under two segments, OneSavings Bank and Charter Court Financial Services.
OneSavings Bank (OSB)
OSB primarily targets market sub-sectors that offer high growth potential and attractive risk-adjusted returns in which it can take a leading position and where it has established expertise, platforms and capabilities. These include private rented sector Buy-to-Let, commercial and semi-commercial mortgages, residential development finance, bespoke and specialist residential lending and asset finance.
OSB originates mortgages organically via specialist brokers and independent financial advisers through its specialist brands including Kent Reliance for Intermediaries and InterBay Commercial. It is differentiated through its use of highly skilled, experience-based manual underwriting and efficient operating model.
OSB is predominantly funded by retail savings originated through the long-established Kent Reliance name, which takes deposits online and through a network of branches in the South East of England. Diversification of funding is currently provided by securitisation programmes and the Bank of Englandโ€™s Term Funding Scheme with additional incentives for SMEs.
Charter Court Financial Services Group (CCFS)
CCFS focuses on providing Buy-to-Let and specialist residential mortgages and retail savings products. It operates through its brands: Precise and Charter Savings Bank.
It is differentiated through risk management expertise and best-of-breed automated technology and systems, ensuring efficient processing, strong credit and collateral risk control and speed of product development and innovation. These factors have enabled strong balance sheet growth whilst maintaining high credit quality mortgage assets.
CCFS is predominantly funded by retail savings originated through its Charter Savings Bank brand. Diversification of funding is currently provided by securitisation programmes and the Bank of Englandโ€™s Term Funding Scheme with additional incentives for SMEs.
Important disclaimer
This document should be read in conjunction with any other documents or announcements distributed by OSB GROUP PLC (OSBG) through the Regulatory News Service (RNS).
This document is not audited and contains certain forward-looking statements with respect to the business, strategy and plans of OSBG, its current goals, beliefs, intentions, strategies and expectations relating to its future financial condition, performance and results, and ESG ambitions, targets and commitments described herein. Such forward-looking statements include, without limitation, those preceded by, followed by or that include the words โ€˜targetsโ€™, โ€˜believesโ€™, โ€˜estimatesโ€™, โ€˜expectsโ€™, โ€˜aimsโ€™, โ€˜intendsโ€™, โ€˜willโ€™, โ€˜mayโ€™, โ€˜anticipatesโ€™, โ€˜projectsโ€™, โ€˜plansโ€™, โ€˜forecastsโ€™, โ€˜outlookโ€™, โ€˜futureโ€™, โ€˜wouldโ€™, โ€˜couldโ€™, โ€˜shouldโ€™ or similar expressions or negatives thereof but are not the exclusive means of identifying such statements. Statements that are not historical or current facts, including statements about OSBG, its directorsโ€™ and/or managementโ€™s beliefs and expectations, are forward-looking statements. By their nature, forward-looking statements involve risk and uncertainty because they relate to events and depend upon circumstances that may or may not occur in the future that may or may not arise in the future that may or may not affect the future financial condition, performance and results, and ESG ambitions, targets and commitments described herein. Factors that could cause actual business, strategy, plans and/or financial condition, performance and results, and ESG ambitions to differ materially from the business, strategy, plans and/or financial condition, performance and results, and ESG ambitions, targets and commitments described herein.
Accordingly, no reliance may be placed on any forward-looking statement. Neither OSBG, nor any of its directors, officers or employees provides any representation, warranty or assurance that any of these statements or forecasts will come to pass or that any forecast results will be achieved. Any forward-looking statement may be influenced by, among other things: general economic and business conditions in the UK and internationally, including any changes in global trade policies
market related trends and developments
fluctuations in exchange ratesstock marketsinflationdeflationinterest ratesenergy prices and currencies
policies of the Bank of England, the European Central Bank and other G7 central banks
the ability to access sufficient sources of capital, liquidity and funding when required
changes to OSBGโ€™s credit ratings
the ability to derive cost savings
changing demographic developmentsand changing customer behaviourincluding consumer spendingsaving and borrowing habits
changes in customer preferences
changes to borrower or counterparty credit quality
unemployment levels
the ability to attract and retain senior management and other employees
the extent of any future impairment charges or write-downs caused by, but not limited to, depressed asset valuations, market disruptions and illiquid markets
market relating trends and developments
exposure to regulatory scrutiny, legal proceedings, regulatory investigations or complaints
changes in legislation, regulation, taxation, ESG reporting standards, accounting standards or practices, including as a result of the UKโ€™s exit from the EU
regulatory capital or liquidity requirements and similar contingencies outside OSBGโ€™s control
the policies and actions of governmental or regulatory authorities in the UK, the EU or elsewhere including the implementation and interpretation of key legislation and regulation
the ability to identify, assess, manage and monitor the risks faced by the Group
the ability to maintain appropriate levels of provision coverage levels and the ongoing appropriateness of macroeconomic scenarios utilised within IFRS 9 calculations
the impact of outbreaks, epidemics and pandemics or other such events
the ability to executemanage and integrate acquisitionsinvestmentsdivestmentsrestructuringsand strategic transactions
the ability to maintain or obtain regulatory approvals and to satisfy the conditions imposed in respect of regulatory approvals
the ability to attract and retain senior management and other employees
the extent of any future impairment charges or write-downs caused by, but not limited to, depressed asset valuations, market disruptions and illiquid markets
the actions of competitors, including non-bank financial services and lending companies
the success of OSBG in managing the risks of the foregoing
and other risks inherent to the industries and markets in which OSBG operates.
Accordingly, no reliance may be placed on any forward-looking statement. Neither OSBG, nor any of its directors, officers or employees provides any representation, warranty or assurance that any of these statements or forecasts will come to pass or that any forecast results will be achieved. Any forward-looking statement may be influenced by, among other things: general economic and business conditions in the UK and internationally, including any changes in global trade policies
market related trends and developments
fluctuations in exchange ratesstock marketsinflationdeflationinterest ratesenergy prices and currencies
policies of the Bank of England, the European Central Bank and other G7 central banks
the ability to access sufficient sources of capital, liquidity and funding when required
changes to OSBGโ€™s credit ratings
the ability to derive cost savings
changing demographic developmentsand changing customer behaviourincluding consumer spendingsaving and borrowing habits
changes in customer preferences
changes to borrower or counterparty credit quality
unemployment levels
the ability to attract and retain senior management and other employees
the extent of any future impairment charges or write-downs caused by, but
python import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates import seaborn as sns from io import StringIO import requests import re from datetime import datetime from datetime import timedelta from bs4 import BeautifulSoup import warnings warnings.filterwarnings("ignore") # Read in the data with open('OSB GROUP PLC PRELIMINARY RESULTS.txt', 'r') as f: data = f.read() soup = BeautifulSoup(data, ".parser") # Find the tables tables = soup.find_all("table") # Extract the data from the tables df_list = [] for table in tables: table_rows = table.find_all("tr") data = [] for row in table_rows: cols = row.find_all("td") cols = [ele.get_text() for ele in cols] data.append(cols) df_list.append(pd.DataFrame(data)) df = pd.concat(df_list) # Clean the data df = df.dropna(how="all") df = df.drop(df.columns[0], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop(df.columns[-1], axis=1) df = df.drop

Today's AI

Today's AI Starts With News

1 live catalyst is opening Today’s AI for OSB.

Start with the live headline tape first. Today’s AI findings sit next, and the AI Blend stack drops lower once the news context is framed. Financial Forecastist now feeds the blend too.
Live Tape Data 2025-04-10 Blend Lower Down
Read the alert tape first, then open Today’s AI findings. Use AI Expand on any card to open the AI explanation, results tables and financial forecast rows instantly.
1 Today
Front Of Desk
OneSavings Bank PLC has fresh news flow live now, so Today’s AI is leading with the tape before the blended signal stack below.
Single-Ticker Today's AI
OSB signal theatre built from scored market catalysts, automated AI forecasts, financial forecasting and live trigger logic.

This is the ticker-specific Today’s AI desk for OneSavings Bank PLC. It compresses the live catalyst tape, bullish and bearish scoring, AI price forecasts, financial forecasting and trigger logic into one cockpit so users can judge conviction without hopping across screens.

Subscription Required Bullish vs Bearish Scoring AI + Financial Blend Buy / Sell Trigger Engine Today's AI Findings
Subscriber Unlock
Subscribe to unlock the full OSB Today’s AI cockpit.

Subscription turns this tab into a live signal desk with today’s news findings at the top, AI plus financial blend comparisons at the bottom, buy and sell trigger logic, and the full findings ledger behind every scored row.

  • AI-scored market headlines with sentiment buckets and buzzword breakdowns.
  • Forecast leaders ranked by projected gain against current market price.
  • Advanced technical scans, AI forecast stacks, and predictive MACD inside the live stock terminal charts.
  • Single-ticker AI Crunch desks with buy or sell trigger logic and full catalyst ledgers.
  • Scored earnings shock board with predicted direction, sector pulse and catalyst narrative.
  • Fast market scan built for event-driven trading, not passive dashboards.
Subscribe to unlock the ticker-specific Today’s AI stack, sentiment gauges, AI blend stage, and the full findings ledger for OSB on 2025-04-10.

Fundamentals Matrix

Overall Fundamentals
Signal: Pending
Capital Strength
Signal: Pending
Float Liquidity
Signal: Pending
Short Pressure
Signal: Pending
Target Setup
Signal: Pending
Market Profile
Signal: Pending
Market Cap
1.7B
Enterprise Value
4.3B
Public Float
102.0
Broker Target
678
Shares Out
344.4M
Long Interest
85
Short Interest
15
Exchange
LSE
Currency Code
GBX
ISIN
GB00BLDRH360
Market
LSE - MAIN MARKET
Sector
Finance and Credit Services
Float / Shares Ratio
-
Short vs Long Delta
-
EV / Market Cap
-

Financials Matrix

News And Alerts First

1 live alert now opens the financials desk for OSB.

Start with the headline flow and alert tape first. Then drop straight into Financial Forecastist below for the revenue path, EPS shape, cash pressure and balance-sheet read while the catalyst context is still hot.
Live Alerts Data 2025-04-10 Forecastist Below
Read the alert tape first, then move into Financial Forecastist below. Use AI Expand on any catalyst card to open the AI explanation and results tables without losing the ticker context.
1 Alerts
Front Of Desk
OneSavings Bank PLC has fresh filing flow live now, so the tape is framing the revenue, leverage and valuation story below.
Overall Stability
Signal: Pending
Profitability
Signal: Pending
Debt & Cash
Signal: Pending
Valuation Risk
Signal: Pending
Forward Expectation
Signal: Pending
Dividend Safety
Signal: Pending
Divi Rate
0.35
Ex Divi
2026-04-02
Earnings Date
2026-03-05
Net Debt
4.0B
Cash
400.0K
EPS
0.74
Net Income
285.7M
Revenue
1.9B
Enterprise Value
4.3B
Trailing PE
6.8243
Forward PE
6.9881
Price Sales TTM
2.6554
Price Book MRQ
0.7745
EV Revenue
5.6567
EV EBITDA
-
Financial Forecastist

Worsening financial engine

Revenue is slipping -10.7% against the prior comparable period. Net margin is compressing by 5.4 pts. Net debt is building +43.4%.

Revenue -10.7% Net Income -34.4% FCF -50.9% Current Ratio 0.01x Forward Rev 0
Worsening
Quarter Revenue
957.8M
-10.7%
vs prior comparable quarter
Net Margin
+15.0%
-5.4 pts
profitability pulse
Free Cash Flow
-183.7M
-50.9%
cash conversion
Net Debt / EBITDA
21.1x
+43.4%
lower is cleaner
Revenue Engine

Latest quarter printed 957.8M with the top line cooling off against the last comparable period.

Profit Stack

Net income landed at 143.6M and the margin profile is tightening. That usually tells us whether operating leverage is finally kicking in.

Balance-Sheet Pressure

Cash sits near 400.0K while net debt is 4.0B. The leverage stack is moving the wrong way.

Quarterly Revenue Runway

Actual revenue bars, consensus revenue where available, plus the terminal model path.

Profit And Cash Conversion

Net income and free cash flow moving together is usually what separates genuine improvement from noise.

Balance-Sheet Pressure

Cash, net debt and liquidity tell us whether the business is strengthening or just surviving.

Annual Power Curve

Longer-cycle revenue and net income help frame whether the company is compounding or rolling over.
Q1 2021
Consensus
0
Revenue Path
0.00
EPS / Earnings
Growth cue -
Q1 2024
Consensus
0
Revenue Path
0.00
EPS / Earnings
Growth cue -
Q2 2024
Consensus
0
Revenue Path
0.00
EPS / Earnings
Growth cue -
FY 2026
Consensus
693.4M
Revenue Path
0.78
EPS / Earnings
Growth cue +0.1%
FY 2027
Consensus
733.3M
Revenue Path
0.89
EPS / Earnings
Growth cue +0.1%

Quarterly Statement Tape

Last 6 Quarters
Period Revenue Net Income FCF Net Debt
Q4 2025 957.8M 143.6M -183.7M 4.0B
Q2 2025 323.8M 142.1M -239.0M -880.7M
Q4 2024 312.2M 129.8M 360.8M -3.1B
Q2 2024 367.8M 173.8M 95.7M 630.5M
Q4 2023 1.1B 218.8M -373.8M 2.8B
Q2 2023 698.5M 54.8M 307.6M 2.6B

Annual Financial Power

Last 5 Years
Period Revenue Net Income EBITDA FCF
FY 2025 1.9B 285.7M 382.5M 161.4M
FY 2024 2.1B 308.1M - 2.2B
FY 2023 609.6M 282.6M 386.2M -66.2M
FY 2022 1.1B 410.0M 544.9M 416.8M
FY 2021 758.7M 345.3M 479.1M -468.5M

Structure DNA

Market Structure DNA

Yield Compounder profile with trend mixed

Price is 76.5% through the 52-week range, +0.6% vs 50DMA and -0.4% vs 200DMA. 74.2% of the register is locked by institutions and insiders, leaving 25.8% free float. Capital rhythm reads semi-annual with forward yield near 6.2% and payout around 46.3%.

Trend mixed Institutional gravity Reliable income rhythm As Of 2026-04-19
Yield Compounder
Structure Score
71.6 / 100
Yield Compounder
Trend Stack
+0.6% / -0.4%
vs 50DMA / 200DMA
52W Position
76.5%
auction position inside the yearly range
Ownership Lock
74.2%
73.7% institutions | 50.0% insiders
Pressure Pocket
25.8% free float
Vendor short-float fields were not supplied
Capital Rhythm
Semi-Annual
Yield 6.2% | payout 46.3%
Trend Runway

Implied spot is 568.30 with the stock +0.6% vs 50DMA and -0.4% vs 200DMA. The tape is sitting 76.5% through the 52-week range, which frames the regime as trend mixed.

Ownership Register

Institutions hold about 73.7% and insiders about 50.0%, locking roughly 74.2% of the register and leaving 25.8% in free float. That reads as institutional gravity.

Pressure Pocket

The API did not return a usable short-float field for this ticker, so the pressure score leans more on float lock and crowding than a full short ledger.

Capital Rhythm

Dividend cadence reads semi-annual with 2 event(s) in the last full year, a five-year average of 2.0, and stability score 100.0/100. Forward yield sits near 6.2% while payout is around 46.3%.

Structure Score

One-glance gauge for the current market-structure regime.

Pillar Radar

Trend, ownership, pressure, and capital rhythm mapped on one wheel.

Position And Float Balance

Shows whether the stock is extended, tightly held, or carrying capital-return support.

Dividend Cadence Tape

Historical dividend-event counts help reveal how dependable the income rhythm has been.

Dividend Cadence Ledger

Semi-Annual
Year Dividend Count Context
2026 1 Current partial year
2025 2 Full year
2024 2 Full year
2023 2 Full year
2022 2 Full year
2021 2 Full year
2020 1 Full year
2019 2 Full year

Structure Facts

Live Snapshot
Implied Spot
568.30
derived from market cap / shares
52W High
618.60
upper auction edge
52W Low
404.21
lower auction edge
Beta
1.10
volatility character
Shares Out
350.9M
fully diluted count
Shares Float
352.0M
tradable register
Shares Short
0
borrowed stock
Short Ratio
0.0x
days-to-cover style read
Ex-Dividend
2026-04-02
-17 day(s) to ex-date
Dividend Pay
-
payment date not supplied
Last Split
-
split date not supplied

Capital Radar

Capital Regime
Building signal blend...
Smart Money Tilt
Public vs institutions
Target Conviction
Broker coverage pulse
Insider Pressure
Director + TR1 flow
Last Held Position
-
Public Hands
-
Institutions
8.0
Institutions As Of
2026-05-14
Avg Broker Target
-
Upside Vs Price
-
Purchase Director Dealing
2
Sale Director Dealing
20
Purchase TR1
9
Sale TR1
6
Broker Coverage Rows
4
Institution Holders Tracked
1
Public Vs Institutional Ownership (3D)
Top Institution Holders (Latest Per Holder)
Director Dealing Sentiment Flow
Broker Target Bias
Signal: Pending
Capital Momentum Matrix
Broker Targets Vs Price
Aggregated Institution Weight By Holder

Short Data - Last 30 Days

Nexus Pulse Engine

Overall Buy/Sell/Hold
Signal: Pending
Technical Composite
Signal: Pending
Financial Composite
Signal: Pending
Fundamental Composite
Signal: Pending
Short Pressure
Signal: Pending
Momentum Bias
Signal: Pending

Volatility Lab

ATR(14)
Realized Vol (20d)
Volume Spike Z

AI Charts

News And Alerts First

The alert tape opens the door for OSB, and AI Charts sits just below.

Start with the headline flow and live catalyst tape first. Then move straight into AI Charts below for price reaction, AI targets, chart structure and catalyst beacons while the news context is still hot.
Live Tape Data 2025-04-10 AI Charts Below
Read the alert tape first, then move into AI Charts below. Use AI Expand on any catalyst card to open the AI explanation and results tables instantly.
1 Today
Catalyst Pulse
OneSavings Bank PLC has fresh news flow live now, so the tape is framing the chart workspace below.
AI Charts Studio
OSB Price History
Live structure, automated forecasts, technical overlays and catalyst beacons in one chart workspace.
30 Day View Window 30D Data 2025-04-10 Open Preview Studio Brief
Chart Intelligence Suite
Swipe the timeframe, call the overlays, and keep the AI signal stack fused into one chart cockpit.
The mobile chart console is now framed as one connected surface so forecasting, structure, catalyst beacons and chart tools all sit inside the price workspace.

Automated signalling scans momentum shifts, crossovers and volatility breaks in real time. Automated AI forecasts map best, average and worst simulation paths forward, predictive MACD extends the momentum story, and catalyst beacons pin market-moving headlines directly onto price action so users can connect news, signals and structure without leaving the chart.

Automated Signalling Automated AI Forecasts Predictive MACD Catalyst Beacons Live Price Structure
Indicators0
Technicals0
AI Forecast 39.56%
RSI Gauge
Price Change
AI Forecast