Behavioural Alpha from UK Retail Flows

We sample real ISA and pension activity across 33+ UK platforms monthly and map it to publicly traded financial equities.

71.4%
Directional Accuracy
11
Equities Tracked
14
Months of Data
9,741
Behavioural Observations
Capital Markets

Capital Markets Intelligence

ISA and pension modelling behaviour mapped to 11 publicly traded UK financial equities. 9,741 behavioural observations across 14 months of data.

71%
Directional Accuracy
35/49
Correct Calls
+21.4pp
Signal Edge vs Random
14
Months of Data
11
Equities Tracked
How It Works
What we track: 11 publicly traded UK financial companies (banks, wealth managers, platforms) whose share prices are influenced by retail savings and pension flows.
Why these stocks: When consumers model ISA deposits with a provider or transfer to them, that provider is likely gaining assets under management, which is a positive signal for the share price. When consumers transfer away, that provider is losing assets, a negative signal. We track the companies where this retail behaviour is most visible: Lloyds, Barclays, NatWest, HSBC, Quilter, abrdn, AJ Bell, Hargreaves Lansdown, St. James's Place, Prudential, and M&G.
The signal: Each month, we count ISA buy events (users modelling or transferring to a provider) and ISA sell events (users transferring away). The net difference as a percentage of total events produces a directional signal: buy or sell. This month's data predicts next month's stock direction.
What it does not do: The signal predicts direction only, not magnitude. A strong buy signal means the stock is more likely to go up, not by how much. Returns are not guaranteed, and the signal is tested against 14 months of completed data.
Methodology Comparison
Three signal weighting approaches tested against the same stock data. ISA Only uses ISA events exclusively (strongest signal). ISA Weighted and Equal Weight include pension drawdown data at different weights, but perform worse. The best-performing methodology is used for all signal calculations.
ISA Only
Best
71%
Accuracy
+21.4pp
Edge vs Random
35/49 predictions
ISA Weighted (pension 0.25x)
54%
Accuracy
+4.1pp
Edge vs Random
46/85 predictions
Equal Weight
51%
Accuracy
+1.2pp
Edge vs Random
44/86 predictions
This Month's Data → Next Month's Signal
Behavioural data collected this month generates directional signals for next month's stock price. ISA modelling and transfer destinations = buy signal. ISA transfers away = sell signal. Pension drawdown excluded (ISA Only methodology).
Company Ticker Price YTD ISA Buy ISA Sell Net Signal Next Month
Lloyds Banking Group LLOY.L £101 -7.6% 105 15 +50.6pp ▲ Buy
NatWest Group NWG.L £613 -7.9% 28 4 +13.5pp ▲ Buy
Barclays BARC.L £435 -10.5% 13 3 +5.6pp ▲ Buy
HSBC HSBA.L £1,332 3.7% 10 0 +5.6pp ▲ Buy
Historical Signal Performance
Each month's behavioural data generates signals tested against the following month's actual stock returns. For example, January data predicts February stock direction.
Mar 2026 data → tested against Apr 2026 returns n=930
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Lloyds Banking Group LLOY.L 103 7 +37.9pp Strong ▲ Buy pending -
NatWest Group NWG.L 72 13 +23.3pp Strong ▲ Buy pending -
HSBC HSBA.L 20 0 +7.9pp Strong ▲ Buy pending -
Barclays BARC.L 24 5 +7.5pp Strong ▲ Buy pending -
AJ Bell AJB.L 5 0 +2.0pp Weak ▲ Buy pending -
Feb 2026 data → tested against Mar 2026 returns n=773
1/5 correct (20%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Lloyds Banking Group LLOY.L 37 9 +29.5pp Strong ▲ Buy -1.5%
HSBC HSBA.L 13 0 +13.7pp Strong ▲ Buy -3.8%
Barclays BARC.L 12 1 +11.6pp Strong ▲ Buy -2.6%
NatWest Group NWG.L 13 2 +11.6pp Strong ▲ Buy -0.7%
AJ Bell AJB.L 7 0 +7.4pp Strong ▲ Buy +19.7%
Jan 2026 data → tested against Feb 2026 returns n=689
1/4 correct (25%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Lloyds Banking Group LLOY.L 28 2 +46.4pp Strong ▲ Buy -6.0%
HSBC HSBA.L 13 1 +21.4pp Strong ▲ Buy +8.4%
Barclays BARC.L 9 0 +16.1pp Strong ▲ Buy -6.9%
Prudential PRU.L 1 0 +1.8pp Weak ▲ Buy -5.6%
Dec 2025 data → tested against Jan 2026 returns n=802
4/5 correct (80%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
NatWest Group NWG.L 47 9 +38.4pp Strong ▲ Buy +2.1%
Barclays BARC.L 9 1 +8.1pp Strong ▲ Buy +2.1%
HSBC HSBA.L 8 0 +8.1pp Strong ▲ Buy +9.5%
Lloyds Banking Group LLOY.L 9 15 -6.1pp Strong ▼ Sell +10.9%
Quilter QLT.L 1 0 +1.0pp Weak ▲ Buy +6.2%
Nov 2025 data → tested against Dec 2025 returns n=831
4/4 correct (100%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
NatWest Group NWG.L 28 3 +22.1pp Strong ▲ Buy +3.1%
HSBC HSBA.L 22 0 +19.5pp Strong ▲ Buy +9.7%
Lloyds Banking Group LLOY.L 27 11 +14.2pp Strong ▲ Buy +2.2%
Barclays BARC.L 14 7 +6.2pp Strong ▲ Buy +10.6%
abrdn ABDN.L 1 0 +0.9pp Weak ▲ Buy -0.8% -
Oct 2025 data → tested against Nov 2025 returns n=852
4/4 correct (100%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
NatWest Group NWG.L 27 3 +30.4pp Strong ▲ Buy +8.2%
Lloyds Banking Group LLOY.L 21 1 +25.3pp Strong ▲ Buy +7.9%
Barclays BARC.L 17 2 +19.0pp Strong ▲ Buy +5.7%
HSBC HSBA.L 8 0 +10.1pp Strong ▲ Buy +0.6%
Sep 2025 data → tested against Oct 2025 returns n=1018
5/5 correct (100%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Lloyds Banking Group LLOY.L 27 5 +21.1pp Strong ▲ Buy +4.0%
Barclays BARC.L 24 4 +19.2pp Strong ▲ Buy +2.9%
NatWest Group NWG.L 21 8 +12.5pp Strong ▲ Buy +4.1%
HSBC HSBA.L 11 0 +10.6pp Strong ▲ Buy +0.3%
Quilter QLT.L 3 0 +2.9pp Moderate ▲ Buy +2.5%
abrdn ABDN.L 1 0 +1.0pp Weak ▲ Buy +1.0% -
Aug 2025 data → tested against Sep 2025 returns n=1101
4/5 correct (80%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Barclays BARC.L 34 9 +21.7pp Strong ▲ Buy +7.2%
HSBC HSBA.L 19 0 +16.5pp Strong ▲ Buy +1.8%
Lloyds Banking Group LLOY.L 22 4 +15.7pp Strong ▲ Buy +6.3%
NatWest Group NWG.L 17 0 +14.8pp Strong ▲ Buy +12.0%
AJ Bell AJB.L 10 0 +8.7pp Strong ▲ Buy -0.7%
Jul 2025 data → tested against Aug 2025 returns n=480
4/4 correct (100%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
HSBC HSBA.L 25 0 +32.0pp Strong ▲ Buy +10.4%
Lloyds Banking Group LLOY.L 26 2 +30.8pp Strong ▲ Buy +5.4%
Barclays BARC.L 13 2 +14.1pp Strong ▲ Buy +5.3%
NatWest Group NWG.L 8 0 +10.3pp Strong ▲ Buy +2.1%
Jun 2025 data → tested against Jul 2025 returns n=331
1/3 correct (33%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
NatWest Group NWG.L 11 0 +28.2pp Strong ▲ Buy -3.1%
Barclays BARC.L 9 0 +23.1pp Strong ▲ Buy -2.9%
Lloyds Banking Group LLOY.L 12 3 +23.1pp Strong ▲ Buy +2.2%
May 2025 data → tested against Jun 2025 returns n=548
3/3 correct (100%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Barclays BARC.L 26 0 +36.1pp Strong ▲ Buy +10.1%
Lloyds Banking Group LLOY.L 27 2 +34.7pp Strong ▲ Buy +1.4%
HSBC HSBA.L 13 0 +18.1pp Strong ▲ Buy +4.7%
Apr 2025 data → tested against May 2025 returns n=450
2/4 correct (50%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Lloyds Banking Group LLOY.L 53 3 +53.2pp Strong ▲ Buy -0.7%
HSBC HSBA.L 16 0 +17.0pp Strong ▲ Buy +1.0%
Barclays BARC.L 10 0 +10.6pp Strong ▲ Buy +3.0%
NatWest Group NWG.L 8 2 +6.4pp Strong ▲ Buy -2.5%
Mar 2025 data → tested against Apr 2025 returns n=224
2/3 correct (67%)
Provider ISA Buy ISA Sell Net Signal Confidence Signal Actual Return Result
Lloyds Banking Group LLOY.L 22 0 +61.1pp Strong ▲ Buy +5.3%
Barclays BARC.L 8 0 +22.2pp Strong ▲ Buy +10.3%
NatWest Group NWG.L 2 4 -5.6pp Strong ▼ Sell +9.7%
Monthly Accuracy Trend
Directional accuracy by month. Each signal predicts whether a stock will move up or down the following month based on net user flow. Signal strength (magnitude) is not predictive, only direction matters.
Cumulative Directional Accuracy
71%
35 of 49 direction calls correct across 14 months. Signal edge: +21.4pp above coin-flip baseline.
Month Events Testable Signals Monthly Accuracy Result
Mar 2025 224 3 67% above baseline
Apr 2025 450 4 50% at baseline
May 2025 548 3 100% above baseline
Jun 2025 331 3 33% below baseline
Jul 2025 480 4 100% above baseline
Aug 2025 1101 5 80% above baseline
Sep 2025 1018 5 100% above baseline
Oct 2025 852 4 100% above baseline
Nov 2025 831 4 100% above baseline
Dec 2025 802 5 80% above baseline
Jan 2026 689 4 25% below baseline
Feb 2026 773 5 20% below baseline
Mar 2026 930 0 n/a n/a
Signal Alpha vs UK Equity ETF
Comparing the average return of signal-selected stocks against the iShares Core FTSE 100 (ISF.L). Alpha = signal return minus ETF return for the same period.
+44.5%
Signal Cumulative Return
Average return of stocks flagged by signal
+22.9%
FTSE 100 ETF Return
iShares Core FTSE 100 (ISF.L) over same period
+21.7pp
Cumulative Alpha
Signal outperformance vs passive ETF
Data Month Outcome Month Signal Return ETF Return Alpha Cumul. Signal Cumul. ETF Cumul. Alpha
Mar 2025 Apr 2025 +8.5% +3.9% +4.5pp +8.5% +3.9% +4.5pp
Apr 2025 May 2025 +0.2% -1.3% +1.5pp +8.7% +2.6% +6.0pp
May 2025 Jun 2025 +5.4% +4.2% +1.2pp +14.1% +6.8% +7.2pp
Jun 2025 Jul 2025 -1.3% +1.2% -2.5pp +12.8% +8.1% +4.7pp
Jul 2025 Aug 2025 +5.8% +0.8% +5.0pp +18.6% +8.8% +9.7pp
Aug 2025 Sep 2025 +5.3% +4.3% +1.0pp +23.9% +13.1% +10.8pp
Sep 2025 Oct 2025 +2.8% +0.2% +2.6pp +26.6% +13.3% +13.3pp
Oct 2025 Nov 2025 +5.6% +0.3% +5.3pp +32.3% +13.7% +18.6pp
Nov 2025 Dec 2025 +6.4% +1.7% +4.7pp +38.7% +15.3% +23.3pp
Dec 2025 Jan 2026 +6.2% +3.1% +3.1pp +44.8% +18.4% +26.4pp
Jan 2026 Feb 2026 -2.5% +7.1% -9.6pp +42.3% +25.6% +16.8pp
Feb 2026 Mar 2026 +2.2% -2.7% +4.9pp +44.5% +22.9% +21.7pp
Why Not Just Hold?
We track 11 stocks across 14 completed months. In some of those months a stock receives a buy signal, in others it does not. This compares the average next-month return for each group.
When We Said Buy
+3.38%
avg. next-month return (53 instances where a stock had a buy signal)
When We Had No View
+2.07%
avg. next-month return (77 instances where a stock had no ISA activity)
The Edge
+1.31pp
Stocks we flagged as a buy returned +1.31pp more per month than stocks we had no signal on
Best Calls
AJ Bell
AJB.L
Feb 2026 data: Signal = up (net +7.4pp)
Mar 2026 return: Stock rose 19.71%
Correct ✓
NatWest Group
NWG.L
Aug 2025 data: Signal = up (net +14.8pp)
Sep 2025 return: Stock rose 11.96%
Correct ✓
Barclays
BARC.L
Nov 2025 data: Signal = up (net +6.2pp)
Dec 2025 return: Stock rose 10.62%
Correct ✓
HSBC
HSBA.L
Jul 2025 data: Signal = up (net +32.0pp)
Aug 2025 return: Stock rose 10.38%
Correct ✓
Statistical Confidence: Monte Carlo Analysis
10,000 random simulations of 49 coin-flip predictions. How likely is 71.4% accuracy by chance alone?
Confidence
High
Less than 1% probability this is random chance
Z-Score
3.0
standard deviations above random
p-value
0.00135
probability of this result by chance
Simulation Distribution
Random Mean
49.9%
95th Percentile
61.2%
99th Percentile
67.3%
Observed
71.4%
Random distribution
0%
50% (coin flip)
100%
Interpretation: With 35 correct predictions out of 49 total, the observed accuracy of 71.4% exceeds the 99th percentile of random performance (67.3%). This is statistically significant at the 1% level (p=0.00135). The probability of achieving this result by random guessing is less than 0.2%. Note: n=49 is a live, growing dataset. Statistical power increases with each additional month of data.
Inquire for Institutional API Access
Monthly signal data, provider-level predictions, and historical accuracy delivered to your team.
Methodology

Signal Construction & Methodology

Full transparency on data sourcing, signal derivation, evaluation framework, and replication guidance. No black boxes.

1. Data Source & Collection

The signal is derived from proprietary first-party behavioural data collected from TFE Group's financial calculator tools (ISA and Pension modelling applications). These are real user interactions, not survey data, panel estimates, or sentiment scraping.

Two event streams are ingested via the TFE Group API:

-- ISA events (accumulation wrapper)
tfe.api/v1/isa-events

-- Pension events (decumulation wrapper)
tfe.api/v1/pension-events

Each record is a user session capturing: provider selection (current and target), deposit amounts, wrapper type (Cash ISA vs Stocks & Shares), transfer intent, age demographics, and modelling parameters. Pension events capture: pot size, withdrawal age, drawdown strategy, annuity provider, and lump sum preferences.

Deduplication: Events are deduplicated by session_id to ensure one observation per unique user interaction. Users who refresh or adjust inputs are counted once.

Provider canonicalization: Provider names are normalised via a deterministic mapping dictionary (e.g., "HL", "Hargreaves", "Hargreaves Landsdown" all resolve to "Hargreaves Lansdown"). Unknown providers are matched using Levenshtein distance against a valid provider list (similarity threshold ~70%). Junk entries ("test", profanity) are filtered via regex.

2. Signal Construction

Behavioural events are mapped to 11 LSE-listed equities via a static PROVIDER_TICKER_MAP. Multiple providers can map to the same ticker (e.g., Halifax, Lloyds, and Scottish Widows all map to LLOY.L).

Ticker Universe
AV.L Aviva BARC.L Barclays HSBA.L HSBC LLOY.L Lloyds/Halifax/ScotWidows NWG.L NatWest AJB.L AJ Bell QLT.L Quilter PRU.L Prudential LGEN.L Legal & General STJ.L St. James's Place ABDN.L abrdn/ii/StdLife

Event classification per ticker per month:

ISA Buy  = current_provider (non-transfer) + new_provider (transfer destination)
ISA Sell = current_provider (transfer away, i.e. has new_provider)
Pen Sell = annuity_provider (pension outflow)

Net signal formula:

weighted_buy[t] = isa_buy[t]
weighted_sell[t] = isa_sell[t] + (pension_sell[t] * pension_weight)
total = Σ weighted_buy + Σ weighted_sell  -- across all tickers

buy_share[t] = weighted_buy[t] / total * 100
sell_share[t] = weighted_sell[t] / total * 100

net_signal[t] = buy_share[t] - sell_share[t]  -- in percentage points

The net signal is a share-of-flow measure, not an absolute count. A ticker with +5.2pp has 5.2 percentage points more buy-side flow share than sell-side flow share relative to total market activity that month. This normalisation controls for month-to-month variation in total sample size.

3. Pension Weighting & Methodology Selection

We evaluate three weighting approaches for the pension sell component:

ISA Only
w = 0.0
Pension events ignored entirely
ISA Weighted
w = 0.25
Pension sell counted at 25% weight
Equal Weight
w = 1.0
ISA and Pension events treated equally

All three methodologies are backtested against the same price data. The methodology with the highest directional accuracy is auto-selected as the production signal. Currently: ISA Only (w=0.0) at 71.4% accuracy.

The intuition: ISA transfer and modelling activity is a stronger leading indicator of provider sentiment than pension annuity selection, which is a one-time decision rather than an ongoing behavioural signal. Adding pension noise dilutes signal quality.

4. Evaluation Framework

Time framing: Each month's behavioural data generates a signal vector. That signal is tested against the next available month's stock returns. In practice this is usually the following calendar month (e.g., January data predicts February direction). However, if there are gaps in the behavioural data (months with zero observations), the evaluation steps forward to the next month with data, which may extend the prediction horizon beyond one calendar month. This ensures the signal is genuinely predictive, not contemporaneous.

Directional accuracy:

prediction = "up" if net_signal[t] > 0 else "down"
actual     = "up" if stock_return[t+1] > 0 else "down"

correct = (net > 0 AND return > 0) OR (net < 0 AND return < 0)

-- Only signals with |net| >= 1pp are testable
accuracy = correct_count / testable_count * 100

Stock price source: Monthly closing prices from Yahoo Finance (query1.finance.yahoo.com, free, no API key, 6-hour cache). Returns are simple percentage change: (P[t] - P[t-1]) / P[t-1] * 100.

Missing price interpolation: If a month's close is unavailable, the return is estimated by finding the nearest available prices on either side and dividing the total return by the month span:

full_return = (price[next_available] - price[prev_available]) / price[prev_available] * 100
span = months_between(prev_available, next_available)
estimated_return = full_return / span

Incomplete month exclusion: If the outcome month is the current calendar month, it is excluded from all accuracy and correlation calculations because the full month's return is not yet finalised.

5. Statistical Thresholds & Filters

To prevent spurious signals from low-data months or thin-activity tickers, two minimum thresholds are enforced:

MIN_MONTH_SIGNALS = 20
Total events across all tickers in a given month must reach this threshold for the month to qualify. Below-threshold months are shown but excluded from aggregate accuracy.
MIN_PROVIDER_EVENTS = 5
A ticker must have at least this many events in a month to generate a testable signal. Tickers below threshold are suppressed from accuracy counts.

Signal magnitude filter: Only signals with |net_signal| >= 1pp are treated as directional predictions. Sub-1pp signals are classified as "no signal" (market-neutral for that ticker-month).

Confidence tiers based on signal magnitude:

Strong   = |net| >= 5pp
Moderate = |net| >= 2pp
Weak     = |net| >= 1pp (but < 2pp)
6. Correlation & Signal Edge

Rank correlation (Spearman's ρ): Computed between net signal vectors and subsequent stock returns. We use Spearman rather than Pearson because signal magnitude is not linearly related to return magnitude. Only direction matters. Spearman tests monotonic rank-order agreement, which is the appropriate statistic for an ordinal directional signal.

-- Spearman rho = Pearson r applied to ranked values
ranks_x = rank(net_signals)
ranks_y = rank(stock_returns)
rho = pearson_r(ranks_x, ranks_y)

-- Minimum n=4 ticker-months required for computation
-- Computed both monthly and cumulatively

Signal edge analysis ("Why Not Just Hold?"): All ticker-month observations are binned by signal presence:

Buy signal present:  |net| >= 1pp AND net > 0
No signal (absent):  |net| < 1pp (or ticker absent from data)

edge = avg_return(buy_signals) - avg_return(no_signal)

This decomposition answers whether the signal adds value versus passive exposure. If buy-signal ticker-months outperform absent ticker-months, the behavioural data contains alpha that a "hold everything" strategy misses.

7. ETF Benchmark & Alpha Calculation

Signal returns are benchmarked against the iShares Core FTSE 100 ETF (ISF.L), the most liquid passive UK equity exposure.

signal_return[m] = mean(stock_return[t+1] for all tickers with |net[t]| >= 1)
etf_return[m]    = ISF.L return for month t+1

monthly_alpha[m] = signal_return[m] - etf_return[m]
cumulative_alpha = Σ monthly_alpha

This is a simple long-only comparison: if you bought only the stocks the signal flagged (equal weight) versus buying the FTSE 100 index, what is the excess return? The signal portfolio is rebalanced monthly based on new behavioural data.

8. Aggregate Flow Index

The per-ticker signal engine generates directional predictions for 11 individual equities. The Aggregate Flow Index constructs an equal-weight portfolio from those predictions and tracks its performance against the FTSE 100 ETF (ISF.L).

-- Step 1: Classify tickers by signal
longs  = tickers where net[t] >= +1pp  (buy signal)
shorts = tickers where net[t] <= -1pp  (sell signal)

-- Step 2: Compute equal-weight portfolio return
long_return  = mean(stock_return[t+1] for t in longs)
short_return = mean(stock_return[t+1] for t in shorts)
portfolio   = long_return - short_return

-- Step 3: Compare to passive benchmark
alpha = portfolio - ISF.L_return[t+1]

This is a rebalanced monthly portfolio that goes long stocks where behavioural data shows net inflows (buy signals) and short stocks with net outflows (sell signals). When no sell signals exist (common with ISA Only methodology), the portfolio is long-only.

Alpha is measured as the excess return of this signal portfolio over the FTSE 100 ETF, answering: "If you only bought the stocks our signal flagged, would you outperform a passive UK equity allocation?"

9. Monte Carlo Statistical Confidence

A directional accuracy of 71.4% sounds compelling, but with only 49 testable predictions, how confident should you be that it is not random luck?

We run 10,000 Monte Carlo simulations where each simulation randomly guesses "up" or "down" for 49 predictions (fair coin, p=0.5). We then count how many simulations achieve an accuracy equal to or higher than the observed result.

for i in 1..10,000:
  hits = count(random() < 0.5 for _ in 1..n)
  if hits >= observed_correct: exceed_count += 1

p_value_mc = exceed_count / 10,000

-- Also computed analytically (binomial z-test):
z = (k - n*0.5) / sqrt(n*0.25)
p_analytical = 1 - Φ(z)

Both the empirical (Monte Carlo) and analytical (z-test) p-values are reported. The z-score measures how many standard deviations the observed accuracy is above the random baseline of 50%. Conventional significance thresholds: p < 0.05 (moderate), p < 0.01 (high), p < 0.001 (very high).

The seed is fixed (seed=42) for reproducibility. Anyone with access to the count (35/49) can independently verify the p-value.

10. Replication Guide

To independently verify or replicate the signal:

  1. Obtain behavioural flow data via the institutional API access form below. We provide monthly provider-level buy/sell event counts for all 11 mapped tickers.
  2. Fetch stock prices from Yahoo Finance (free). Monthly unadjusted close for each LSE ticker. We use raw close rather than adjusted close, so dividends are not reflected in returns. This is a known simplification.
  3. Compute net signal per ticker per month using the formula above. Set pension_weight = 0 (ISA Only methodology).
  4. Shift by one month: Compare month M signals against month M+1 returns. This is the core prediction lag.
  5. Filter: Only include ticker-months with |net| >= 1pp and months with total events >= 20.
  6. Score: Count directional hits: signal > 0 AND return > 0, or signal < 0 AND return < 0. Divide by total testable signals.
Current Backtest Summary
14
Months of Data
35/49
Correct / Testable
71.4%
Directional Accuracy
9,741
Observations
Ticker Coverage
11 LSE-listed equities mapped to behavioural flow data. Bloomberg, Refinitiv (RIC), and ISIN identifiers provided for direct integration.
Company Bloomberg RIC ISIN Sector Mapped Providers
Aviva plc AV/ LN AV.L GB00BPQY8M80 Insurance Aviva
Barclays plc BARC LN BARC.L GB0031348658 Banking Barclays
HSBC Holdings plc HSBA LN HSBA.L GB0005405286 Banking HSBC
Lloyds Banking Group plc LLOY LN LLOY.L GB0008706128 Banking Lloyds, Halifax, Scottish Widows
NatWest Group plc NWG LN NWG.L GB00B7T77214 Banking NatWest
AJ Bell plc AJB LN AJB.L GB00BFZNLB60 Platform AJ Bell
Quilter plc QLT LN QLT.L GB00BNHSJN34 Wealth Mgmt Quilter
Prudential plc PRU LN PRU.L GB0007099541 Insurance Prudential
Legal & General Group plc LGEN LN LGEN.L GB0005603997 Insurance Legal & General
St. James's Place plc STJ LN STJ.L GB0007669376 Wealth Mgmt St. James's Place
abrdn plc ABDN LN ABDN.L GB00BF8Q6K64 Asset Mgmt abrdn, Standard Life, Interactive Investor
All tickers trade on the London Stock Exchange Main Market. Data delivered via API in JSON format with Bloomberg, RIC, and ISIN fields per signal.
11. Limitations & Caveats
  • Signal is directional only. The magnitude of net_signal does not predict the magnitude of stock returns. A +10pp signal is not necessarily better than a +3pp signal in terms of return size. Spearman rank correlation is used precisely because Pearson linear correlation is not appropriate here.
  • 11-ticker universe. Coverage is limited to providers with publicly listed equity. Vanguard, Nutmeg, Moneybox, and other major platforms are not investable via this signal because they have no public stock ticker.
  • Sample size. With 14 months and 11 tickers, the total testable observation count is 49. This is a small-sample backtest. Results should be interpreted with appropriate scepticism and are not a guarantee of future performance.
  • Survivorship and selection bias. The ticker universe is defined by current provider-to-ticker mappings. Tickers that delisted during the sample period would be excluded, introducing potential survivorship bias.
  • No transaction costs. Returns are gross of transaction costs, stamp duty, and bid-ask spread.
  • Look-ahead risk. The signal strictly uses month M data to predict month M+1 returns. No future data leaks into the signal construction. However, the methodology selection (ISA Only vs weighted) is chosen ex-post based on full-sample accuracy. In live deployment, methodology would need to be fixed or selected via rolling window.
  • Unadjusted close prices. Stock returns are calculated from raw closing prices, not dividend-adjusted close. This means dividend income is not captured, slightly understating total returns for high-yield tickers (e.g., LGEN.L, AV.L). Since the signal is directional, not magnitude-based, the impact on accuracy scoring is minimal.
  • Yahoo Finance data gaps. When monthly close prices are missing, linear interpolation over the gap span is used. This smooths returns and may understate or overstate true monthly volatility.
Platform Intelligence

Platform & Provider Intelligence

Where retail capital is moving across ISA and pension platforms. Transfer flows, switching dynamics, and provider market share shifts: the behavioural inputs behind our equity signals.

12.0%
Transfer Intent
+4.4pp MoM
90.6%
Cash ISA
-2.3pp
9.4%
S&S
+2.3pp
Wrapper Preference
4.12%
Market Avg Rate
24%
Seeking ≥4.5%
Switching & Competitive Dynamics

Transfer intent at 12.0% is within normal range. up 4.4pp MoM. Gaining share: Nationwide (+4.9pp), Santander (+3.2pp), Halifax (+1.9pp). Losing share: Trading 212 (-1.5pp), NatWest (-2.5pp).

ISA Provider Market Share
# Provider Share MoM
1 Nationwide 19.3% +4.9pp
2 Lloyds 8.2% -
3 Trading 212 7.7% -1.5pp
4 Santander 6.9% +3.2pp
5 NatWest 5.6% -2.5pp
6 Halifax 5.6% +1.9pp
7 Vanguard 4.3% +2.7pp
8 Moneybox 3.9% -
Nationwide Lloyds Trading 212 Santander NatWest Halifax
Rate Sensitivity
4.12%
Market Avg Rate
24%
Rate Sensitive
4.31%
Switcher Threshold
Request Full Provider Flow Data
Underlying Flow Data

ISA & Pension Flow Indices

The raw retail flow data that generates our equity signals. 264 users sampled in April 2026.

ISA Accumulation
233
Users Sampled
£32,224
Mean Opening Amount
90.6%
Cash ISA
9.4%
S&S ISA
12.0%
Transfer Intent
Wrapper rotation shifting toward S&S. Stocks & Shares allocation up +2.3pp to 9.4%, Cash at 90.6%. Transfer intent steady at 12.0%. Mean opening amount rising at £32,224 (+35.9%).
Pension Decumulation
31
Users Sampled
£590,968
Mean Pension Pot
62.0
Mean Drawdown Age
60.0%
4% Rule Adoption
75.0%
Tax-Free Cash
Withdrawal strategies are split: 60.0% systematic (4% rule) vs 40.0% custom rates, with systematic adoption gaining ground (+13.2pp). Tax-free lump sum uptake at 75.0%, accelerating MoM. Capital release pressure remains significant. Early planning demand visible: 45.2% under 60, mean withdrawal age 62.0.
Full ISA, Pension & Advisory Intelligence

Institutional API Access

Monthly signal data, provider-level predictions, historical accuracy, and raw behavioural flow data delivered via API to your team.

Thank you. We'll be in touch within 24 hours with details on accessing our alpha signal dataset.