Paper 3 · the method · published 20/10/2026

Controlled Research at a High-Street Practice.

That artificial intelligence lowers the cost of analysis while judgement remains necessary is, by now, unremarkable. What is less common is an audited account of exactly where the machine was wrong, what caught it, and what would have been printed if nothing had. This paper is that account.

Back to the summary Have the PDF emailed

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.

MeasureFigureBasis
Elapsed time, first script to research closed16 days16–31 August 2026, from the repository record
Further correction before publication1 day1 October 2026
Practice timeAbout 30 hoursMeasured from session records: 19 hours of direct direction, about 40 hours of active sessions
Machine and tool spendAbout £150–£300Share of a monthly AI subscription (US$100–200 a month) across six weeks; data and compute free
Estimated conventional cost60–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£0Every 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.

TaskAnalyst-days
Scoping, hypotheses and source review3–5
Data acquisition: register walk, cached API client, accounts archives by range request, premises register8–12
Cleaning and linkage: address normalisation, service addresses, address histories, premises matching10–15
Exit-route classification from filing histories, with validation samples6–10
Statistical analysis: survival, competing risks, models, robustness, rank reversal, control sectors12–18
Chain accounts, VAT model and delivery-platform figures4–7
Writing, charts and typesetting of four papers12–18
Review rounds and corrections5–10
Total60–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.

#ErrorSeverityCaught by
1Kaplan–Meier treated strike-off as censoring when it is a competing exitHeadlineExternal review
2A gazette prefix match also captured voluntary strike-offsCountDevelopment checks
3Premises address keys built from the first address line onlyCountDevelopment checks
4Current registered office used as the historical locationCountDevelopment checks
5A weak accounts tag overwrote equity in 88% of figuresCountDevelopment checks
6“2.7 times the secured borrowing” was 2.7 times the proportion with a chargeClaimDevelopment checks
7An ordering built during analysis described as predicted in advanceClaimExternal review
8Conditional insolvency computed on a selected denominatorHeadlineExternal review
9A stale snapshot label overrode the register’s later “dissolved” statusCountExternal review (count reconciliation)
10The solvent-liquidation branch of the classifier was unreachableHeadlineAdversarial recomputation
11Survivors censored at one date, deaths counted to anotherHeadlineAdversarial recomputation
12Two postcode districts never collected: a loop began at oneHeadlineAdversarial recomputation
13An address-move statistic not decomposed by timingCountExternal review
14A survival cut on a live-register field; a metric with no data behind itClaimDevelopment checks
15Certain court winding-up forms missed by the exit classifierCountAssisted validation
16A stock projection that made older companies immortalClaimExternal review
17Bakery survival read as trading failure; it was pre-deadline churnClaimDevelopment checks
18The premises table counted address keys, not establishmentsHeadlineExternal review
19Exits in live insolvency proceedings timed at the observation dateHeadlineExternal review
20Filing histories never retrieved for 1,452 exits in two late districtsHeadlinePre-publication reconciliation
21A leading-borough figure carried over from an early draft, no longer matching the dataHeadlinePre-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.

8
Caught by written external review
3
Caught by adversarial recomputation from the database
3
Caught by validation and final reconciliation
7
Found during development

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 machine’s worst errors were not in its arithmetic. They were in its sentences.

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.

  1. Write the hypotheses down before the data arrives, together with a commitment to publish whatever it shows.
  2. Freeze the observation. Cache every response; record the date; never re-fetch silently.
  3. Keep a corrections log from the first day, and publish it with the work.
  4. Recompute every headline by an independent route before it is printed, from the stored data rather than the pipeline’s output.
  5. Make every table sum to its total. Treat a discrepancy as a finding until it is explained.
  6. Commission hostile external review, and answer it point by point in writing.
  7. Label every number as measured, derived or modelled, and say which on the page.
  8. Read every sentence for what it claims, separately from the figure beside it.
  9. Keep client data out of the repository entirely unless there is a written basis for using it.
  10. Disclose AI use specifically — what it did, what it did not do, and who is responsible.
  11. 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.
Roseworth
ROSEWORTH® RESEARCH
Roseworth Limited · 662 High Road, Finchley, London N12 0NL · 020 3603 4495 · info@roseworth.co · www.roseworth.co

Roseworth Research is the research arm of Roseworth Limited. We act for businesses in this sector and have a commercial interest in the subject. Public data only, and no client information of any kind.

Talk to Rose