Celt Rowlands & CO Limited operates 157 NHS community pharmacies across 28 integrated care boards in England. Dispensed 17.9m NHS items in the last 12 months, broadly flat year-on-year. Estimated annual NHS income from dispensing and advanced services is around £57.6m. Biggest footprint in Cheshire and Merseyside ICB with 36 branches (23% of the network). Deeply engaged with advanced services — nearly every branch is active, averaging 5.4 of 6 service lines. Operates 1 distance-selling pharmacy. Largest single-month intake of +11 branches in Jan 2000 points to a discrete acquisition.
A step-change usually marks an acquisition; a steady slope is organic trade. The Pharmacy First launch in January 2024 shows up across most groups.
Parsed from Celt Rowlands & CO Limited’s iXBRL-tagged filed accounts at Companies House. Values reflect the consolidated group figure where the filing is a group account. “—” means the figure was absent or filleted out of that year’s filing (smaller companies can omit P&L line items when filing abridged accounts). NHS dispensing revenue is included in these totals but cannot be separated from private / over-the-counter income at Companies House granularity — see the estimated NHS income panel for the split.
Plus 18 more ICBs with ≤5 branches each.
Celt Rowlands & CO Limited is modestly over-indexed to deprived communities (+14pp). National baseline: exactly 30% of LSOAs sit in the most-deprived third, so that's the neutral line.
Least-deprived third: 29% · middle: 27%
Each coloured segment is one of the ten IMD deciles (segment widths scale with branch counts). Red = most-deprived communities; green = least-deprived. A heavy red-weighted bar reads as “serves deprived communities” — a meaningful operator identity in a sector where historical contract allocation concentrated pharmacies in low-income areas.
Half of Celt Rowlands & CO Limited’s 157 reporting branches sit above the 43th national percentile for combined service engagement (NMS, Pharmacy First, BP, DMS, contraception, flu per 1,000 items). 45 branches beat the national median; 112 sit below.
Long-running appointments suggest a stable owner-operator. A cluster of resignations or a short director pattern can indicate a recent change in control, a restructure, or onboarding of external investors.
| # | Location | ICB | 12-month trend | Items (12m) | 6-mo Δ | Services |
|---|---|---|---|---|---|---|
| 1 | WA7 3DJ | Cheshire and Merseyside ICB | 443.2k | -1% | 3 / 6 DSP | |
| 2 | Cheshire · CW10 9BE | Cheshire and Merseyside ICB | 255.1k | +2% |
Group identity reconciled from NHSBSA Contractor Details using legal-entity name, enriched with Companies House registry data for the top 100 corporate groups. Dispensing aggregated across every branch currently owned by the group. Officer tenure and SIC codes sourced live from Companies House under Crown Copyright.
Estimate derived from published NHS fee rates: £2.85/item (SAF + professional fee), £28/NMS, £35/DMS, £17/Pharmacy First, £15/BP check, £18/contraception consultation; flu uses actual £ fees published per dose. Category M reimbursement, establishment payment, transitional payment, PQS banding and the £1,000 Pharmacy First monthly fixed fee are all excluded. Private and locally-commissioned income is not included.
Each cell is one month. Darker cells mean more branches joined the network that month. Evenly-spaced light cells suggest organic growth or absorption by transfer; concentrated hot cells mark discrete acquisitions.
100-hour contracts carry higher opening-hour commitments for a higher core NHS fee. Distance-selling pharmacies fulfil prescriptions by post only — no walk-in customers.
Emerald shading is national pharmacy density; amber outlines flag hexes containing a Celt Rowlands & CO Limited branch. Lets you read regional strategy at a glance — clustered around a few cities, broadly distributed, or concentrated in one corner of the country.
Each sparkline shows one branch's 12-month items trend. The percentage is the six-month change (last six vs prior six months); it's coloured green when the branch is growing by 3%+, red when declining by 3%+, neutral otherwise. Shapes that cluster tightly suggest a homogeneous chain; wide variation points to an acquired portfolio of independents. Click any card for its profile.
Each dot is one branch. The vertical line is the median 12-month items in this network; the horizontal line is flat (0%) trend. Quadrants are descriptive, not judgemental: a smaller-volume branch can be entirely appropriate where it serves a small or remote population. Commissioners and operators typically look at the lower-left quadrant as an early-warning area. Click any dot for the branch profile.
Each cell is the branch's year-on-year % items change for that month — red for decline, stone for flat, green for growth, capped at ±25%. A branch that turns red and stays red is a genuine contractor; a stone band is stable; an intermittent amber-to-green ramp signals recovery. Rows are ordered by 12-month volume — the right-hand number is items dispensed in the last 12 months, coloured red/green by the branch's 6-month trend so growth and decline are visible at both granularities. Showing the 60 busiest branches out of 157.
| 5 / 6 |
| 3 | L21 9HQ | Cheshire and Merseyside ICB | 217.5k | +5% | 6 / 6 |
| 4 | Dorset · DT3 6NQ | Dorset ICB | 209.7k | +5% | 6 / 6 |
| 5 | Lancashire · WN8 0EN | Lancashire and South Cumbria ICB | 208.0k | +6% | 6 / 6 |
| 6 | Lancashire · WN8 8LP | Lancashire and South Cumbria ICB | 206.4k | +2% | 6 / 6 |
| 7 | Hampshire · PO13 0HY | Hampshire and Isle of Wight ICB | 190.6k | +3% | 6 / 6 |
| 8 | L19 2LW | Cheshire and Merseyside ICB | 190.2k | +1% | 6 / 6 |
| 9 | BH23 1EU | Dorset ICB | 181.3k | +5% | 6 / 6 |
| 10 | Co.durham · DL3 8SD | North East and North Cumbria ICB | 180.8k | +2% | 4 / 6 |
| 11 | L32 8RE | Cheshire and Merseyside ICB | 180.3k | +1% | 6 / 6 |
| 12 | Leicestershire · LE12 9DF | Leicester, Leicestershire and Rutland ICB | 175.9k | +3% | 6 / 6 |
| 13 | County Durham · TS23 2LA | North East and North Cumbria ICB | 169.9k | +5% | 6 / 6 |
| 14 | Derbyshire · S44 6DT | Derby and Derbyshire ICB | 169.0k | +6% | 6 / 6 |
| 15 | PR25 1HR | Lancashire and South Cumbria ICB | 164.0k | -1% | 5 / 6 |
| 16 | Somerset · TA6 4GP | Somerset ICB | 161.6k | +4% | 4 / 6 |
| 17 | Co.durham · DL1 3RT | North East and North Cumbria ICB | 160.4k | -3% | 5 / 6 |
| 18 | Sheffield · S35 1RN | South Yorkshire ICB | 158.8k | +1% | 5 / 6 |
| 19 | NG19 8AN | Nottingham and Nottinghamshire ICB | 151.4k | +2% | 6 / 6 |
| 20 | Surrey · GU9 9QL | Frimley ICB (C 02-Apr-26) | 149.3k | +1% | 5 / 6 |
| 21 | Bedfordshire · LU3 3AH | Bedfordshire, Luton and Milton Keynes ICB (C 02-Apr-26) | 147.9k | -0% | 5 / 6 |
| 22 | L33 6XE | Cheshire and Merseyside ICB | 146.5k | -1% | 6 / 6 |
| 23 | Middleton, Manchester · M24 5QJ | Greater Manchester ICB | 145.0k | -2% | 5 / 6 |
| 24 | PE25 3TD | Lincolnshire ICB | 142.8k | +2% | 6 / 6 |
| 25 | West Lancashire · WN8 9HR | Lancashire and South Cumbria ICB | 141.2k | -6% | 6 / 6 |
| 26 | Telford, Shropshire · TF3 1FB | Shropshire, Telford and Wrekin ICB | 140.7k | -5% | 6 / 6 |
| 27 | Northamptonshire · NN8 3QE | Northamptonshire ICB | 139.4k | +3% | 6 / 6 |
| 28 | Liverpool · L32 9QU | Cheshire and Merseyside ICB | 138.7k | +7% | 6 / 6 |
| 29 | PR2 7DS | Lancashire and South Cumbria ICB | 138.1k | +12% | 5 / 6 |
| 30 | Warwickshire · CV21 3QF | Coventry and Warwickshire ICB | 137.8k | +1% | 6 / 6 |
| 31 | Cheshire · WA5 0LZ | Cheshire and Merseyside ICB | 137.5k | +4% | 5 / 6 |
| 32 | Northamptonshire · NN10 9EB | Northamptonshire ICB | 133.5k | +5% | 5 / 6 |
| 33 | Hampshire · PO12 3JP | Hampshire and Isle of Wight ICB | 132.6k | +4% | 5 / 6 |
| 34 | L11 2YA | Cheshire and Merseyside ICB | 131.9k | -1% | 6 / 6 |
| 35 | Nottinghamshire · NG20 0JN | Nottingham and Nottinghamshire ICB | 131.4k | +4% | 6 / 6 |
| 36 | West Yorkshire · WF3 1RQ | West Yorkshire ICB | 131.3k | +2% | 5 / 6 |
| 37 | Merseyside · L32 0TU | Cheshire and Merseyside ICB | 129.9k | +4% | 6 / 6 |
| 38 | HX2 9LL | West Yorkshire ICB | 129.3k | +3% | 5 / 6 |
| 39 | Lancashire · BL4 9QZ | Greater Manchester ICB | 128.9k | +1% | 6 / 6 |
| 40 | CH45 5BG | Cheshire and Merseyside ICB | 128.6k | -2% | 6 / 6 |
| 41 | SK7 5LD | Greater Manchester ICB | 128.5k | +5% | 5 / 6 |
| 42 | South Yorkshire · S73 0DD | South Yorkshire ICB | 128.0k | +1% | 6 / 6 |
| 43 | Buckinghamshire · HP20 1XB | Buckinghamshire, Oxfordshire and Berkshire West ICB (C 02-Apr-26) | 127.0k | +3% | 6 / 6 |
| 44 | Hampshire · PO4 8EA | Hampshire and Isle of Wight ICB | 126.3k | +2% | 6 / 6 |
| 45 | Worcestershire · WR15 8BB | Herefordshire and Worcestershire ICB | 125.5k | +4% | 5 / 6 |
| 46 | South Yorkshire · S73 0AJ | South Yorkshire ICB | 123.5k | -4% | 6 / 6 |
| 47 | Nottinghamshire · NG20 0AU | Nottingham and Nottinghamshire ICB | 121.7k | +6% | 5 / 6 |
| 48 | Dorset · BH16 5NJ | Dorset ICB | 119.0k | +2% | 6 / 6 |
| 49 | Merseyside · L34 5QJ | Cheshire and Merseyside ICB | 118.3k | +3% | 6 / 6 |
| 50 | Lancashire · PR7 6JW | Lancashire and South Cumbria ICB | 117.7k | +6% | 5 / 6 |
| 51 | Buckinghamshire · HP27 0AW | Buckinghamshire, Oxfordshire and Berkshire West ICB (C 02-Apr-26) | 117.1k | +9% | 6 / 6 |
| 52 | South Yorkshire · S5 0AW | South Yorkshire ICB | 116.3k | +0% | 5 / 6 |
| 53 | PR8 4AY | Cheshire and Merseyside ICB | 116.3k | +0% | 6 / 6 |
| 54 | L8 3SS | Cheshire and Merseyside ICB | 114.6k | +2% | 6 / 6 |
| 55 | Lancashire · L39 5DZ | Lancashire and South Cumbria ICB | 113.9k | +4% | 6 / 6 |
| 56 | Surrey · GU3 3NA | Surrey Heartlands ICB (C 02-Apr-26) | 113.8k | -3% | 5 / 6 |
| 57 | Wiltshire · SP2 7TD | Bath and North East Somerset, Swindon and Wiltshire ICB | 113.6k | -1% | 5 / 6 |
| 58 | Nr.wigan · WN4 9SU | Greater Manchester ICB | 113.3k | +1% | 6 / 6 |
| 59 | WA4 1LJ | Cheshire and Merseyside ICB | 112.5k | -6% | 6 / 6 |
| 60 | Cheshire · SK10 5JH | Cheshire and Merseyside ICB | 112.3k | +3% | 5 / 6 |
| 61 | West Yorkshire · HD8 0SJ | West Yorkshire ICB | 112.2k | +4% | 6 / 6 |
| 62 | L24 2WZ | Cheshire and Merseyside ICB | 111.9k | +2% | 6 / 6 |
| 63 | Merseyside · L32 6QA | Cheshire and Merseyside ICB | 111.9k | +2% | 6 / 6 |
| 64 | Co.durham · DL1 4BN | North East and North Cumbria ICB | 111.6k | +2% | 5 / 6 |
| 65 | Shropshire · SY4 5AF | Shropshire, Telford and Wrekin ICB | 111.1k | -3% | 5 / 6 |
| 66 | Lancashire · PR4 6TU | Lancashire and South Cumbria ICB | 109.4k | +4% | 5 / 6 |
| 67 | Merseyside · CH46 7TE | Cheshire and Merseyside ICB | 108.6k | +1% | 6 / 6 |
| 68 | Wiltshire · SN3 3TQ | Bath and North East Somerset, Swindon and Wiltshire ICB | 108.2k | +2% | 6 / 6 |
| 69 | CH45 3HW | Cheshire and Merseyside ICB | 108.2k | +6% | 5 / 6 |
| 70 | BD2 1QG | West Yorkshire ICB | 107.9k | -3% | 6 / 6 |
| 71 | Merseyside · PR8 5NA | Cheshire and Merseyside ICB | 107.8k | +1% | 6 / 6 |
| 72 | Derbyshire · DE75 7HA | Derby and Derbyshire ICB | 107.5k | +6% | 5 / 6 |
| 73 | Buckinghamshire · HP14 3TA | Buckinghamshire, Oxfordshire and Berkshire West ICB (C 02-Apr-26) | 106.4k | +1% | 5 / 6 |
| 74 | Merseyside · CH62 5HS | Cheshire and Merseyside ICB | 106.3k | -5% | 5 / 6 |
| 75 | North Yorkshire · DL8 1AF | Humber and North Yorkshire ICB | 106.3k | +1% | 4 / 6 |
| 76 | Cambridgeshire · PE7 3JL | Cambridgeshire and Peterborough ICB (C 02-Apr-26) | 106.2k | -3% | 5 / 6 |
| 77 | BH15 2PG | Dorset ICB | 106.2k | +4% | 5 / 6 |
| 78 | Cheshire · CW8 2NT | Cheshire and Merseyside ICB | 106.2k | +4% | 6 / 6 |
| 79 | Liverpool · L14 0JF | Cheshire and Merseyside ICB | 105.8k | +3% | 6 / 6 |
| 80 | Dorset · BH9 3RE | Dorset ICB | 105.5k | +2% | 5 / 6 |
| 81 | Hampshire · PO2 8AL | Hampshire and Isle of Wight ICB | 105.1k | -4% | 5 / 6 |
| 82 | L24 2SF | Cheshire and Merseyside ICB | 104.9k | -2% | 6 / 6 |
| 83 | BL5 3UB | Greater Manchester ICB | 104.6k | +2% | 6 / 6 |
| 84 | SY3 0HT | Shropshire, Telford and Wrekin ICB | 104.2k | -2% | 6 / 6 |
| 85 | S8 7LD | South Yorkshire ICB | 103.8k | -2% | 5 / 6 |
| 86 | CV21 2AS | Coventry and Warwickshire ICB | 103.4k | +5% | 6 / 6 |
| 87 | CW1 5QY | Cheshire and Merseyside ICB | 103.4k | +9% | 6 / 6 |
| 88 | BL5 3AN | Greater Manchester ICB | 101.8k | -2% | 6 / 6 |
| 89 | S6 4GQ | South Yorkshire ICB | 101.7k | +3% | 5 / 6 |
| 90 | Shropshire · SY2 6DL | Shropshire, Telford and Wrekin ICB | 101.0k | -3% | 6 / 6 |
| 91 | Liverpool · L33 1ZQ | Cheshire and Merseyside ICB | 100.9k | +2% | 4 / 6 |
| 92 | Merseyside · CH42 2AG | Cheshire and Merseyside ICB | 100.9k | +1% | 5 / 6 |
| 93 | Wiltshire · SN3 2RJ | Bath and North East Somerset, Swindon and Wiltshire ICB | 99.6k | -3% | 5 / 6 |
| 94 | Nottingham · NG5 6HP | Nottingham and Nottinghamshire ICB | 99.3k | +1% | 6 / 6 |
| 95 | WA3 2LA | Greater Manchester ICB | 99.2k | +6% | 5 / 6 |
| 96 | HR2 7XT | Herefordshire and Worcestershire ICB | 98.6k | +7% | 6 / 6 |
| 97 | Lancashire · WN8 6UJ | Lancashire and South Cumbria ICB | 98.0k | +4% | 6 / 6 |
| 98 | Dorset · DT3 6LD | Dorset ICB | 97.6k | +3% | 5 / 6 |
| 99 | HR4 0JF | Herefordshire and Worcestershire ICB | 97.5k | +6% | 5 / 6 |
| 100 | West Sussex · BN12 4FD | Sussex ICB (C 02-Apr-26) | 97.2k | +8% | 5 / 6 |
| 101 | West Yorkshire · HD9 5QQ | West Yorkshire ICB | 97.1k | +6% | 6 / 6 |
| 102 | West Yorkshire · LS29 0LZ | West Yorkshire ICB | 96.9k | +6% | 5 / 6 |
| 103 | Shropshire · TF7 4DH | Shropshire, Telford and Wrekin ICB | 96.3k | +1% | 6 / 6 |
| 104 | Hampshire · PO16 9UW | Hampshire and Isle of Wight ICB | 96.3k | +8% | 5 / 6 |
| 105 | Dorset · BH15 3DH | Dorset ICB | 96.2k | +6% | 5 / 6 |
| 106 | Greater Manchester · M33 5JD | Greater Manchester ICB | 95.8k | +2% | 6 / 6 |
| 107 | CW2 8HY | Cheshire and Merseyside ICB | 95.0k | +4% | 5 / 6 |
| 108 | Hampshire · PO12 1SE | Hampshire and Isle of Wight ICB | 94.0k | +0% | 5 / 6 |
| 109 | Lancashire · BL9 8JR | Greater Manchester ICB | 93.8k | +2% | 5 / 6 |
| 110 | Lancashire · OL16 4JF | Greater Manchester ICB | 93.7k | +18% | 5 / 6 |
| 111 | West Sussex · BN15 9AH | Sussex ICB (C 02-Apr-26) | 93.7k | +3% | 5 / 6 |
| 112 | Merseyside · WA12 9BS | Cheshire and Merseyside ICB | 93.0k | -1% | 6 / 6 |
| 113 | Shropshire · SY13 1AX | Shropshire, Telford and Wrekin ICB | 92.4k | -0% | 5 / 6 |
| 114 | Cumbria · LA18 4DG | Lancashire and South Cumbria ICB | 91.3k | +3% | 5 / 6 |
| 115 | HD5 8RX | West Yorkshire ICB | 90.5k | +2% | 5 / 6 |
| 116 | Merseyside · L32 8RH | — | 90.3k | +3% | 6 / 6 |
| 117 | L10 0AF | Cheshire and Merseyside ICB | 90.2k | +5% | 6 / 6 |
| 118 | WS3 3JJ | Black Country ICB | 89.8k | +3% | 5 / 6 |
| 119 | Kent · CT10 2TP | Kent and Medway ICB | 89.1k | +2% | 5 / 6 |
| 120 | Dorset · BH17 7XW | Dorset ICB | 89.0k | -2% | 5 / 6 |
| 121 | Dorset · BH10 5BG | Dorset ICB | 87.6k | +4% | 6 / 6 |
| 122 | Surrey · GU21 8TB | Surrey Heartlands ICB (C 02-Apr-26) | 87.6k | +3% | 6 / 6 |
| 123 | West Sussex · PO22 6DH | Sussex ICB (C 02-Apr-26) | 87.4k | +10% | 5 / 6 |
| 124 | Dorset · BH21 1SQ | Dorset ICB | 87.0k | +3% | 5 / 6 |
| 125 | West Yorkshire · BD10 8EW | West Yorkshire ICB | 86.6k | +1% | 6 / 6 |
| 126 | Hampshire · GU11 1AY | Frimley ICB (C 02-Apr-26) | 85.0k | -0% | 5 / 6 |
| 127 | Buckinghamshire · HP15 7LQ | Buckinghamshire, Oxfordshire and Berkshire West ICB (C 02-Apr-26) | 85.0k | +3% | 5 / 6 |
| 128 | Cheshire · SK12 1RD | Cheshire and Merseyside ICB | 84.6k | +2% | 6 / 6 |
| 129 | Cheshire · SK8 4BE | Greater Manchester ICB | 84.3k | +5% | 6 / 6 |
| 130 | Sheffield · S5 0EP | South Yorkshire ICB | 83.4k | -1% | 5 / 6 |
| 131 | West Sussex · BN12 5JP | Sussex ICB (C 02-Apr-26) | 83.3k | +4% | 6 / 6 |
| 132 | Gloucestershire · GL53 7NB | Gloucestershire ICB | 82.6k | +4% | 5 / 6 |
| 133 | HR1 1UN | Herefordshire and Worcestershire ICB | 82.5k | +5% | 6 / 6 |
| 134 | CW6 0AB | Cheshire and Merseyside ICB | 81.3k | +4% | 6 / 6 |
| 135 | WS1 2NA | Black Country ICB | 81.2k | -8% | 6 / 6 |
| 136 | PR2 1NT | Lancashire and South Cumbria ICB | 80.9k | +5% | 5 / 6 |
| 137 | HD8 0DS | West Yorkshire ICB | 79.6k | +10% | 5 / 6 |
| 138 | Buckinghamshire · HP13 6JH | Buckinghamshire, Oxfordshire and Berkshire West ICB (C 02-Apr-26) | 79.4k | +6% | 6 / 6 |
| 139 | Shropshire · SY4 5NY | — | 79.4k | +1% | 5 / 6 |
| 140 | Hampshire · PO5 3LT | Hampshire and Isle of Wight ICB | 78.8k | +3% | 5 / 6 |
| 141 | Wiltshire · SN3 3FS | — | 78.6k | +8% | 5 / 6 |
| 142 | Worcestershire · B98 9AA | Herefordshire and Worcestershire ICB | 76.9k | +7% | 4 / 6 |
| 143 | Hampshire · PO8 0JU | Hampshire and Isle of Wight ICB | 75.6k | +1% | 5 / 6 |
| 144 | WF2 0JG | West Yorkshire ICB | 74.5k | -2% | 6 / 6 |
| 145 | Hampshire · PO9 4AB | Hampshire and Isle of Wight ICB | 74.0k | -5% | 5 / 6 |
| 146 | Hampshire · PO8 8RE | Hampshire and Isle of Wight ICB | 73.0k | +5% | 5 / 6 |
| 147 | CH41 6AN | Cheshire and Merseyside ICB | 72.5k | +1% | 6 / 6 |
| 148 | LN5 7LB | Lincolnshire ICB | 72.2k | +11% | 5 / 6 |
| 149 | Hampshire · PO10 8UJ | Sussex ICB (C 02-Apr-26) | 71.6k | -0% | 6 / 6 |
| 150 | Merseyside · L13 6QE | Cheshire and Merseyside ICB | 70.1k | +8% | 6 / 6 |
| 151 | Gloucestershire · GL54 2AN | Gloucestershire ICB | 69.5k | -3% | 5 / 6 |
| 152 | WN5 0PU | Greater Manchester ICB | 68.4k | +7% | 5 / 6 |
| 153 | L31 1DY | Cheshire and Merseyside ICB | 64.9k | +7% | 6 / 6 |
| 154 | Surrey · GU24 9LH | Surrey Heartlands ICB (C 02-Apr-26) | 62.2k | +6% | 5 / 6 |
| 155 | OL4 3BP | Greater Manchester ICB | 57.4k | +6% | 6 / 6 |
| 156 | Rochdale, Lancashire · OL16 4JD | — | 55.5k | -14% | 5 / 6 |
| 157 | Hampshire · PO4 9BZ | Hampshire and Isle of Wight ICB | 51.9k | +4% | 5 / 6 |