We sample real ISA and pension activity across 33+ UK platforms monthly and map it to publicly traded financial equities.
ISA and pension modelling behaviour mapped to 11 publicly traded UK financial equities. 9,741 behavioural observations across 14 months of data.
| 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 |
| 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 |
| 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 |
Full transparency on data sourcing, signal derivation, evaluation framework, and replication guidance. No black boxes.
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:
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.
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).
Event classification per ticker per month:
Net signal formula:
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.
We evaluate three weighting approaches for the pension sell component:
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.
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:
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:
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.
To prevent spurious signals from low-data months or thin-activity tickers, two minimum thresholds are enforced:
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:
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.
Signal edge analysis ("Why Not Just Hold?"): All ticker-month observations are binned by signal presence:
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.
Signal returns are benchmarked against the iShares Core FTSE 100 ETF (ISF.L), the most liquid passive UK equity exposure.
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.
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).
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?"
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.
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.
To independently verify or replicate the signal:
| 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 |
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.
| # | 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% | - |
The raw retail flow data that generates our equity signals. 264 users sampled in April 2026.
Monthly signal data, provider-level predictions, historical accuracy, and raw behavioural flow data delivered via API to your team.
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).