1The claim, with its price attached
The claim is narrow. A high-street accountancy practice, with no research staff and no data budget, produced a study of a size that would ordinarily need a funded team, and the reason it can be trusted is not the machine that did most of the work but the controls placed around it.
A claim about cost is worthless without the cost. The table below is the one this paper commits to printing in full, and it is the part a sceptical reader should check first.
| Measure | Figure | Basis |
|---|---|---|
| Elapsed time, first script to research closed | 16 days | 16–31 August 2026, from the repository record |
| Further correction before publication | 1 day | 1 October 2026 |
| Practice time | About 30 hours | Measured from session records: 19 hours of direct direction, about 40 hours of active sessions |
| Machine and tool spend | About £150–£300 | Share of a monthly AI subscription (US$100–200 a month) across six weeks; data and compute free |
| Estimated conventional cost | 60–95 analyst-days; about £46,000 (range £25,000–£75,000) | Bottom-up task estimate (Table 2) at UK contract data-scientist day rates |
| Data cost | £0 | Every source is free public data |
Table 1. The price of the study.
The conventional comparison is built from the bottom up: the tasks the study actually required, each estimated in analyst-days for one competent data scientist working conventionally, without an AI assistant.
| Task | Analyst-days |
|---|---|
| Scoping, hypotheses and source review | 3–5 |
| Data acquisition: register walk, cached API client, accounts archives by range request, premises register | 8–12 |
| Cleaning and linkage: address normalisation, service addresses, address histories, premises matching | 10–15 |
| Exit-route classification from filing histories, with validation samples | 6–10 |
| Statistical analysis: survival, competing risks, models, robustness, rank reversal, control sectors | 12–18 |
| Chain accounts, VAT model and delivery-platform figures | 4–7 |
| Writing, charts and typesetting of four papers | 12–18 |
| Review rounds and corrections | 5–10 |
| Total | 60–95 |
Table 2. Conventional effort, estimated by task. Costed at UK contract data-scientist day rates for the six months to 1 October 2026 — median £600, 10th percentile £410, 90th percentile £788 (IT Jobs Watch) — the midpoint is about £46,000, and the range runs from about £25,000 (60 days at the 10th percentile) to £75,000 (95 days at the 90th). Data preparation alone is consistent with industry surveys that put it near two-fifths of a data scientist’s time (Anaconda, State of Data Science 2022). An in-house research economist at a leading UK think tank is paid £44,500–£67,000 a year (Institute for Fiscal Studies, published salary bands), so even salaried, the work represents several months of a full-time post.
On those figures the practice spent roughly thirty hours against a conventional 450 to 700 (at seven and a half hours a day): about a twentieth of the time, with a machine spend well under one per cent of the conventional cost. The estimate is ours and is stated so that it can be argued with.
2What was built
The study is described fully in Paper 1. In outline, and because the scale is part of the argument:
- A register walk. The free Companies House bulk file contains live companies only, so every dissolved company had to be requested from the register itself. Walking London one postcode district at a time took 403 requests and four minutes, and recovered 119,220 food companies, living and dead. A control sample of 295,324 non-food companies took 23 minutes more.
- Complete filing histories for every company that left the register in the study window, from which each exit route was classified rather than inferred.
- 165,052 sets of accounts, parsed from the monthly bulk archives by reading only the bytes needed over HTTP range requests — about 6 gigabytes of traffic in place of some 200 gigabytes of downloads.
- A linkage between the company register and the Food Standards Agency’s register of 70,470 London food establishments.
- A frozen observation. Every response was cached to disk, so the published figures can be recomputed from the same bytes.
The work was a partnership with a clear division. Roseworth Research set the question, the scope, the sources, the evidential standards, the confidentiality rules and the publication criteria; made every editorial judgement; reviewed the analysis and drafts throughout; and is responsible for the result. Claude assisted with software development, analytical-method exploration and implementation, the statistical analysis, primary-source research, drafting and typesetting, under that direction and review.
3The ledger
Every correction made between the first draft and publication, with its severity and the control that caught it. Severity is judged by what would have reached print: Headline means a headline figure or direction in a published paper would have been wrong; Count means a count, label or table; Claim means a sentence that said more than the evidence allowed.
| # | Error | Severity | Caught by |
|---|---|---|---|
| 1 | Kaplan–Meier treated strike-off as censoring when it is a competing exit | Headline | External review |
| 2 | A gazette prefix match also captured voluntary strike-offs | Count | Development checks |
| 3 | Premises address keys built from the first address line only | Count | Development checks |
| 4 | Current registered office used as the historical location | Count | Development checks |
| 5 | A weak accounts tag overwrote equity in 88% of figures | Count | Development checks |
| 6 | “2.7 times the secured borrowing” was 2.7 times the proportion with a charge | Claim | Development checks |
| 7 | An ordering built during analysis described as predicted in advance | Claim | External review |
| 8 | Conditional insolvency computed on a selected denominator | Headline | External review |
| 9 | A stale snapshot label overrode the register’s later “dissolved” status | Count | External review (count reconciliation) |
| 10 | The solvent-liquidation branch of the classifier was unreachable | Headline | Adversarial recomputation |
| 11 | Survivors censored at one date, deaths counted to another | Headline | Adversarial recomputation |
| 12 | Two postcode districts never collected: a loop began at one | Headline | Adversarial recomputation |
| 13 | An address-move statistic not decomposed by timing | Count | External review |
| 14 | A survival cut on a live-register field; a metric with no data behind it | Claim | Development checks |
| 15 | Certain court winding-up forms missed by the exit classifier | Count | Assisted validation |
| 16 | A stock projection that made older companies immortal | Claim | External review |
| 17 | Bakery survival read as trading failure; it was pre-deadline churn | Claim | Development checks |
| 18 | The premises table counted address keys, not establishments | Headline | External review |
| 19 | Exits in live insolvency proceedings timed at the observation date | Headline | External review |
| 20 | Filing histories never retrieved for 1,452 exits in two late districts | Headline | Pre-publication reconciliation |
| 21 | A leading-borough figure carried over from an early draft, no longer matching the data | Headline | Pre-publication reconciliation |
Table 3. The corrections log, classified. “Development checks” means the error was found and fixed while the work was under way, without a record of which check found it; we do not claim more precision about those than the record holds.
4Four errors in detail
Four of the nine headline errors deserve full treatment, because each was invisible on the surface of the work and each would have reached print with confident prose around it.
The unreachable branch
The classifier that sorted company exits tested for insolvency before testing for a solvent members’ voluntary liquidation — and every such filing carries the Companies House category “insolvency”. The solvent branch could never be reached. One hundred and thirty-four solvent wind-ups, typically retirements, were counted as failures, and 121 of them sat on the service side of the study’s central comparison: the error biased the very contrast the study existed to measure. The code ran without complaint and its output looked plausible. It was caught only when an audit recomputed the classification against the cached filing histories and found that the database contained no members’ voluntary liquidations at all among sixty thousand exits — a number that cannot be right.
Two observation dates
Surviving companies were censored at the date of one data source, in March, while deaths were counted from another, in August. Deaths therefore occurred at durations where no survivor remained in the risk set, and every published survival level was out by four to eight points. The direction of the result survived; the levels did not. It was caught by recomputing the headline from source rather than trusting the pipeline’s own output.
The duplicated table
The food-premises data was stored one row per candidate address rather than one row per establishment, and the linkage counted rows. A population of 231,089 was really 70,470. An external reviewer caught it, not the drafting process and not us — which is exactly what external reviewers are for, and is recorded here for that reason.
The table that did not add up
The last two corrections were made a month after the research was declared closed. Building the final versions of these papers, a route-by-route table of exits summed to 1,161 fewer than its own stated total. The cause was a fix made weeks earlier: two postcode districts that had never been collected were added to the cohort, but the filing histories of their 1,452 exits were never retrieved, so those exits carried no classification. Every downstream figure that depended on exit routes was quietly computed without them. The repair took a day, most of it machine time. The lesson is older than any software: a table must sum to its total, and when it does not, the discrepancy is a finding about the method.
5The controls that caught them
None of the controls is novel. What matters is that each was applied deliberately, and that the study was designed so that its output could be checked by them.
- A frozen observation. Every response cached to disk. Without it, no recomputation is possible, because the public register changes daily.
- Recomputation from source. Headline figures re-derived from the database by an independent route, not read from the pipeline’s own logs. This caught three of the nine headline errors.
- Written external review, adopted in writing. Three reviews, one of them referee-grade, each answered point by point in the record. This caught eight errors, more than any other control.
- A second classifier. Two hundred exits re-derived by an independently constructed method; agreement 96.5 per cent at route level, with every disagreement adjudicated. It found one genuine gap.
- Reconciliation. Every population count required to add up to its total. This caught a mislabelled status in August, and in October both the missing histories and a borough figure that had survived from an early draft.
- A published corrections log. Not a control in itself, but the condition that makes the others honest: an error that will be published is an error worth finding.
Together these controls meant that no headline figure reached a final paper on the strength of the pipeline’s own output alone: each was recomputed, reviewed or reconciled by a route independent of the one that produced it.
6How the machine went wrong
The arithmetic was rarely the problem. Where the machine was given a precise instruction and a checkable output, it was fast and, after checking, reliable. Its characteristic failures were of two other kinds, and both are worth knowing because both are persuasive.
Narrative tidying
A ranking of food categories by how much VAT advantage each enjoys was constructed during the analysis, after the growth figures had been seen. In the draft it became an ordering “predicted from the tax rules before it was measured”. Nobody instructed that sentence. It is what a fluent writer produces when asked to explain a pattern, and it converted an exploratory observation into an apparent confirmation. External review caught it.
Prose outrunning evidence
The drafts produced memorable lines faster than the evidence could support them. “The counter is where people try, the restaurant is where people lose” rested on a difference in formal insolvency of a fraction of a percentage point. A ratio was described as “a factor of about sixty” where the honest presentation was two small numbers side by side. A category of companies that left the register before their first accounts were due was at first described as having “never traded” — something the public record cannot show either way. Each line was withdrawn. Each would have been quoted.
The practical consequence is a reviewing habit. A figure produced by the pipeline should be checked by recomputation. A sentence produced by the drafting should be checked by asking what exactly would have to be true for it to be accurate, and whether the data shows that.
7What stayed human
- The question. Why a high-street practice would study the high street at all, and which question was worth asking of the register.
- The tax judgement. The VAT treatment in Paper 2 is reviewed against primary sources by the practice, because responsibility for a statement of tax law cannot be delegated to software.
- The confidentiality line. The decision that no client data of any kind would enter the study, not even in aggregate, was made before the analysis and never revisited.
- The scope rules. No suggestion of non-compliance where the data cannot show it; no call for new filing burdens on small businesses; neutral language about registered-office services, which the practice itself provides.
- The decision to publish against our own thesis. The study set out to show that the VAT boundary had reshaped London’s food trade. It did not, and the papers say so. A machine can report a rejected hypothesis; only the people whose name is on the work can decide to publish it.
- Responsibility. An AI cannot be an author, because it cannot answer for the work. Roseworth can, and does.
8A checklist for another practice
The part of this paper with lasting value. Each item is cheap; together they are the difference between a study and a press release.
- Write the hypotheses down before the data arrives, together with a commitment to publish whatever it shows.
- Freeze the observation. Cache every response; record the date; never re-fetch silently.
- Keep a corrections log from the first day, and publish it with the work.
- Recompute every headline by an independent route before it is printed, from the stored data rather than the pipeline’s output.
- Make every table sum to its total. Treat a discrepancy as a finding until it is explained.
- Commission hostile external review, and answer it point by point in writing.
- Label every number as measured, derived or modelled, and say which on the page.
- Read every sentence for what it claims, separately from the figure beside it.
- Keep client data out of the repository entirely unless there is a written basis for using it.
- Disclose AI use specifically — what it did, what it did not do, and who is responsible.
- Name the controls you did not apply, so that a reader knows where any remaining risk sits.
Written this way, a study of this kind is within reach of any practice with the patience to check its own work. The machine changes the cost of doing the analysis. It does not change the cost of being wrong in public, and that remains the practice’s to bear.
StandingSources and disclosures
- Record
- The corrections log, the three external reviews and the responses to them, the adversarial audit of 17 August 2026, the assisted-validation worksheets and the pipeline code. Every error described in this paper is recorded there with its cause and effect.
- AI use
- This research is human-directed and AI-assisted. Roseworth Research originated and directed the study and set its questions, scope, sources, evidential standards, confidentiality rules and publication criteria. Claude (Anthropic) was used extensively as a research, software-engineering, analytical and drafting tool under Roseworth’s direction and review. Every claim derives from public data, published code, reconciliation and documented review. Roseworth Limited is responsible for the publication and any errors. Claude is not an author, and Anthropic did not review, commission or endorse the research.
- Interest
- Roseworth acts for businesses in the food and hospitality sector and has a commercial interest in the subject of the study. No client data of any kind appears in this research.
- Standing
- Roseworth Limited is a licensed, supervised and professionally insured accountancy practice. This paper is general information and not advice.