Mixed signals — flagged for pre-raise, but forward-looking tone is also improving across 3 corroborating channels. Tone trajectory is deteriorating ( → below → below → ); last update 2026-04-28. Macro backdrop: recovery.
Mixed signals — flagged for pre-raise, but forward-looking tone is also improving across 3 corroborating channels. Tone trajectory is deteriorating ( → below → below → ); last update 2026-04-28. Macro backdrop: recovery.
| Signal / Date | Status | Detail | Indicator |
|---|---|---|---|
| Composite signals | |||
| Multi-channel | Improver flagged | Tone improving across multiple channels — flagged improver in MAIN_MARKET. 2 of 3 channels in agreement | tone 65.0 · broker 100.0 · director -100.0 · sector 12.3 |
| Tone trajectory | deteriorating | Tone has been deteriorating. most recent 2026-04-28 · 72 statements in last 180d | |
| Distress | Not flagged | Not flagged for distress. | |
| Pre-raise | Flagged | Active hype-language pattern — historically precedes equity raises (1.32× baseline). Hype-language density 0.0 per 1k words across recent disclosures. RNS cadence alone isn't a signal — buybacks and routine reporting can dominate; this measures language patterns, not announcement count. 12.3 RNS/month | |
| Narrative drift | Stable | Narrative consistent with historical baseline. | |
| Broker actions — last 90 days (20) | |||
| 2026-04-29 | reiteration | Berenberg BankBuy | 700p |
| 2026-04-29 | reiteration | RBC Capital MarketsSector Perform | 700p |
| 2026-04-29 | target_raise | GOLDMANbuy | 680p(was 650) |
| 2026-04-29 | reiteration | Berenberg Bankbuy | GBX 700 |
| 2026-04-29 | reiteration | RBC Capital Marketssector perform | GBX 700 |
| 2026-04-28 | target_raise | DZ BANKbuy | 650p(was 526) |
| 2026-04-23 | target_raise | KEPLER CHEUVREUXhold | 600p(was 445) |
| 2026-04-22 | target_raise | RBCsector perform | 700p(was 640) |
| 2026-04-17 | — | EXANE BNPoutperform (neutral) | — |
| 2026-04-16 | target_raise | UBSbuy (neutral) | 700p(was 650) |
| 2026-04-15 | reiteration | JefferiesHold | 650p |
| 2026-04-02 | reiteration | JP Morgan CazenoveNeutral | 600p(was 520) |
| 2026-04-02 | target_raise | JEFFERIEShold | 650p(was 440) |
| 2026-04-02 | target_raise | BERENBERGbuy | 700p(was 520) |
| 2026-04-02 | target_raise | CITIGROUPbuy | 680p(was 540) |
| 2026-03-26 | target_raise | GOLDMANbuy | 650p(was 640) |
| 2026-03-25 | — | MORGAN STANLEYoverweight | — |
| 2026-03-24 | — | MORGAN STANLEYoverweight | — |
| 2026-03-20 | target_raise | HSBChold (reduce) | 565p(was 430) |
| 2026-03-19 | target_raise | GOLDMANbuy | 640p(was 590) |
| Director deals — last 90 days (12; 4 purchases / 4 sales) | |||
| 2026-03-23 | Sale | Michael Sosso14,308 shares | £4.8k |
| 2026-03-19 | Sale | Douglas Dryburgh228,847 shares | £12.9k |
| 2026-03-17 | Sale | William Lin100,000 shares | £5.5k |
| 2026-03-17 | Sale | William Lin10,000 shares | — |
| 2026-03-10 | Purchase | Carol Howle62 shares | £3 |
| 2026-03-10 | Purchase | Kate Thomson5 shares | £0 |
| 2026-02-18 | Award | Kate Thomson50,158 shares | £0 |
| 2026-02-18 | Award | Carol Howle90,298 shares | £0 |
| 2026-02-18 | Award | Carol Howle74,355 shares | £0 |
| 2026-02-18 | Award | Kate Thomson47,672 shares | £0 |
| 2026-02-10 | Purchase | Kate Thomson5 shares | £0 |
| 2026-02-10 | Purchase | Carol Howle65 shares | £3 |
| Backdrop | |||
| UK macro regime | recovery | UK cycle classification: recovery (78% confidence). | See macro indicators → |
Tone improving across multiple channels — flagged improver in MAIN_MARKET.
2 of 3 channels in agreement
Tone has been deteriorating.
most recent 2026-04-28 · 72 statements in last 180d
Not flagged for distress.
Active hype-language pattern — historically precedes equity raises (1.32× baseline).
Hype-language density 0.0 per 1k words across recent disclosures. RNS cadence alone isn't a signal — buybacks and routine reporting can dominate; this measures language patterns, not announcement count.
Narrative consistent with historical baseline.
Berenberg BankBuy
RBC Capital MarketsSector Perform
GOLDMANbuy
Berenberg Bankbuy
RBC Capital Marketssector perform
DZ BANKbuy
KEPLER CHEUVREUXhold
RBCsector perform
EXANE BNPoutperform (neutral)
UBSbuy (neutral)
JefferiesHold
JP Morgan CazenoveNeutral
JEFFERIEShold
BERENBERGbuy
CITIGROUPbuy
GOLDMANbuy
MORGAN STANLEYoverweight
MORGAN STANLEYoverweight
HSBChold (reduce)
GOLDMANbuy
Michael Sosso14,308 shares
Douglas Dryburgh228,847 shares
William Lin100,000 shares
William Lin10,000 shares
Carol Howle62 shares
Kate Thomson5 shares
Kate Thomson50,158 shares
Carol Howle90,298 shares
Carol Howle74,355 shares
Kate Thomson47,672 shares
Kate Thomson5 shares
Carol Howle65 shares
Mixed signals — flagged for pre-raise, but forward-looking tone is also improving across 3 corroborating channels. Tone trajectory is deteriorating ( → below → below → ); last update 2026-04-28. Macro backdrop: recovery.
| Signal / Date | Status | Detail | Indicator |
|---|---|---|---|
| Composite signals | |||
| Multi-channel | Improver flagged | Tone improving across multiple channels — flagged improver in MAIN_MARKET. 2 of 3 channels in agreement | tone 65.0 · broker 100.0 · director -100.0 · sector 12.3 |
| Tone trajectory | deteriorating | Tone has been deteriorating. most recent 2026-04-28 · 72 statements in last 180d | |
| Distress | Not flagged | Not flagged for distress. | |
| Pre-raise | Flagged | Active hype-language pattern — historically precedes equity raises (1.32× baseline). Hype-language density 0.0 per 1k words across recent disclosures. RNS cadence alone isn't a signal — buybacks and routine reporting can dominate; this measures language patterns, not announcement count. 12.3 RNS/month | |
| Narrative drift | Stable | Narrative consistent with historical baseline. | |
| Broker actions — last 90 days (20) | |||
| 2026-04-29 | reiteration | Berenberg BankBuy | 700p |
| 2026-04-29 | reiteration | RBC Capital MarketsSector Perform | 700p |
| 2026-04-29 | target_raise | GOLDMANbuy | 680p(was 650) |
| 2026-04-29 | reiteration | Berenberg Bankbuy | GBX 700 |
| 2026-04-29 | reiteration | RBC Capital Marketssector perform | GBX 700 |
| 2026-04-28 | target_raise | DZ BANKbuy | 650p(was 526) |
| 2026-04-23 | target_raise | KEPLER CHEUVREUXhold | 600p(was 445) |
| 2026-04-22 | target_raise | RBCsector perform | 700p(was 640) |
| 2026-04-17 | — | EXANE BNPoutperform (neutral) | — |
| 2026-04-16 | target_raise | UBSbuy (neutral) | 700p(was 650) |
| 2026-04-15 | reiteration | JefferiesHold | 650p |
| 2026-04-02 | reiteration | JP Morgan CazenoveNeutral | 600p(was 520) |
| 2026-04-02 | target_raise | JEFFERIEShold | 650p(was 440) |
| 2026-04-02 | target_raise | BERENBERGbuy | 700p(was 520) |
| 2026-04-02 | target_raise | CITIGROUPbuy | 680p(was 540) |
| 2026-03-26 | target_raise | GOLDMANbuy | 650p(was 640) |
| 2026-03-25 | — | MORGAN STANLEYoverweight | — |
| 2026-03-24 | — | MORGAN STANLEYoverweight | — |
| 2026-03-20 | target_raise | HSBChold (reduce) | 565p(was 430) |
| 2026-03-19 | target_raise | GOLDMANbuy | 640p(was 590) |
| Director deals — last 90 days (12; 4 purchases / 4 sales) | |||
| 2026-03-23 | Sale | Michael Sosso14,308 shares | £4.8k |
| 2026-03-19 | Sale | Douglas Dryburgh228,847 shares | £12.9k |
| 2026-03-17 | Sale | William Lin100,000 shares | £5.5k |
| 2026-03-17 | Sale | William Lin10,000 shares | — |
| 2026-03-10 | Purchase | Carol Howle62 shares | £3 |
| 2026-03-10 | Purchase | Kate Thomson5 shares | £0 |
| 2026-02-18 | Award | Kate Thomson50,158 shares | £0 |
| 2026-02-18 | Award | Carol Howle90,298 shares | £0 |
| 2026-02-18 | Award | Carol Howle74,355 shares | £0 |
| 2026-02-18 | Award | Kate Thomson47,672 shares | £0 |
| 2026-02-10 | Purchase | Kate Thomson5 shares | £0 |
| 2026-02-10 | Purchase | Carol Howle65 shares | £3 |
| Backdrop | |||
| UK macro regime | recovery | UK cycle classification: recovery (78% confidence). | See macro indicators → |
Tone improving across multiple channels — flagged improver in MAIN_MARKET.
2 of 3 channels in agreement
Tone has been deteriorating.
most recent 2026-04-28 · 72 statements in last 180d
Not flagged for distress.
Active hype-language pattern — historically precedes equity raises (1.32× baseline).
Hype-language density 0.0 per 1k words across recent disclosures. RNS cadence alone isn't a signal — buybacks and routine reporting can dominate; this measures language patterns, not announcement count.
Narrative consistent with historical baseline.
Berenberg BankBuy
RBC Capital MarketsSector Perform
GOLDMANbuy
Berenberg Bankbuy
RBC Capital Marketssector perform
DZ BANKbuy
KEPLER CHEUVREUXhold
RBCsector perform
EXANE BNPoutperform (neutral)
UBSbuy (neutral)
JefferiesHold
JP Morgan CazenoveNeutral
JEFFERIEShold
BERENBERGbuy
CITIGROUPbuy
GOLDMANbuy
MORGAN STANLEYoverweight
MORGAN STANLEYoverweight
HSBChold (reduce)
GOLDMANbuy
Michael Sosso14,308 shares
Douglas Dryburgh228,847 shares
William Lin100,000 shares
William Lin10,000 shares
Carol Howle62 shares
Kate Thomson5 shares
Kate Thomson50,158 shares
Carol Howle90,298 shares
Carol Howle74,355 shares
Kate Thomson47,672 shares
Kate Thomson5 shares
Carol Howle65 shares