How many samples does a voice profile need before it stabilises?

SGR-003, conducted 2026-09-20. Analyst: Jack Stovell, founder, ScriptGrain.

Question: As pieces are added to a voice profile, when do its attributes stop moving, and when does it start telling its author from a stranger?

Sample

Great Expectations (Gutenberg #1400), Pride and Prejudice (#1342) and Emerson's Essays (#16643), body text only, cut at paragraph boundaries into pieces of about 800 words (600 to 1,400 accepted). With a fixed seed (20260920), 15 training pieces and 4 held-out pieces were drawn per author; the training sets are nested, so the 1-piece profile's sample is inside the 2-piece profile's, and so on. Public-domain prose was used so the study is reproducible from the source text and needs nobody's consent.

Method

Profiles: POST /v1/profiles with the first k training pieces (k = 1, 2, 3, 5, 8, 15), status polled to complete. Extraction is the same two-pass pipeline every user gets; extractions are rate-limited to five an hour, so the run spans several hours.

Same-author score: POST /v1/voice-match for each of the author's four held-out pieces against the k-piece profile; the mean is reported.

Other-author score: the same call for the other two authors' eight held-out pieces; the mean is reported. The gap (same minus other) is how well the profile tells its author from a stranger.

Attribute agreement: each k-piece profile's enumerated attributes (complexity, clause ordering, humour, expressiveness, opening style, argument structure, ellipsis habit, list preference, connective preference, specificity, rhythm, paragraph length, power-sentence position) compared with the author's 15-piece profile; the share that agree is reported. Numeric attributes are reported as the absolute difference from the 15-piece value.

Confidence: the confidence_score the extraction itself returns with each profile.

Runner: scripts/experiments/run-stability-study.mjs in ScriptGrain's research repository; data file linked below.

Variables measured

Findings

What this study does not show

Results by pieces in the profile (means over three authors)

PiecesWords (mean)Same-author matchOther-author matchGapConfidenceAttributes agreeing with 15-piece profile
18630.860.760.100.6782%
217180.860.800.060.7872%
325890.860.780.080.7982%
543170.860.750.100.8074%
869860.860.770.090.8687%
15130890.860.780.080.87reference

Results by author

AuthorPiecesWordsSame-author matchOther-author matchGapConfidenceAttributes agreeing
Dickens18190.840.790.050.6085%
Dickens216320.850.790.070.7885%
Dickens324500.860.770.100.7885%
Dickens541540.860.700.170.7269%
Dickens866440.880.720.160.8892%
Dickens15126610.890.710.170.90reference
Austen18640.900.750.150.7085%
Austen218040.880.810.070.8285%
Austen327820.890.800.090.80100%
Austen544780.870.810.060.8692%
Austen872690.880.800.080.8892%
Austen15130460.870.810.060.88reference
Emerson19060.840.740.090.7077%
Emerson217170.840.790.050.7446%
Emerson325350.840.770.070.7862%
Emerson543200.840.750.090.8262%
Emerson870450.830.780.040.8277%
Emerson15135600.830.830.010.83reference

How far the numeric attributes sit from the 15-piece profile (mean absolute difference)

Attribute1 piece2358
Average sentence length (words)4.901.951.171.551.93
Contractions per 1,0003.601.800.820.280.62
Formality (0 to 10)0.930.430.270.070.12
Commas per sentence0.500.700.230.430.22

What the numbers say

The question was how many pieces a profile needs before it stabilises, and the answer splits in two. The score stabilises immediately: one piece is enough for the author's other writing to read as on voice, because the features the scorer counts are already present in 800 words. The profile itself takes longer. Its numbers move by several words of sentence length and several contractions per thousand between one piece and three, then settle; its labels keep flipping until about eight. Three pieces and about 3,000 words, the product's standing recommendation, is where a profile stops being a reading of one piece and becomes a reading of a writer.

The uncomfortable number is the gap. On three literary voices that share a register, the profile tells its author from the others by 0.06 to 0.10 on average, and Emerson's not at all. That is a property of the corpus and of what the score measures: distance on habits, and these three share the habits. It is also a limit to state plainly: a voice-match score says how far a piece sits from a profile, and two writers who sit close to each other will score close to each other's profiles. For a real user the comparison that matters is usually their own conversational writing against a model's default register, which we expect to be a much larger distance than Dickens to Austen. This study did not measure it.

Three authors, one draw of pieces, one extraction each: read the curves, not the decimals. Every profile, every score and the piece hashes are in the data file, and the runner and the source texts are public, so the whole study can be re-run.

Limitations

Competing interests

ScriptGrain sells writing-voice measurement and generation, and the analyst builds it. The study design was fixed before it ran, nothing was re-run or selected, and the scripts are published, so the numbers can be checked without taking our word for them.

Reproducing this

Data

Released under CC BY 4.0: free to reuse, including commercially, with credit to ScriptGrain and a link to this page.

About the analyst

Jack Stovell has worked in finance and data for more than twelve years, building management reporting, forecasting and profitability models for advertising agencies and tech scale-ups, from SQL and Power BI reporting to board-level analysis. Since 2016 he has run Adapt Progress Evolve, an applied AI studio, where he builds and operates AI systems and data products: ScriptGrain's measurement of writing voice across 45 attributes, UK Spend, which brings 16.7 million rows of UK council spending into one queryable dataset, and more than thirty AI agents running in production. He designs ScriptGrain's studies and is accountable for every number in them.

More research