# Contraction frequency analyser: how it is scored and how to change it

> Contraction frequency is how often contractions such as it's, don't and we're appear in a piece of writing, expressed as contractions per 1,000 words.

Canonical: https://scriptgrain.com/attributes/contraction-frequency

# Contraction frequency analyser

*By Jack Stovell · published 2026-09-24*

Contraction frequency is how often contractions such as it's, don't and we're appear in a piece of writing, expressed as contractions per 1,000 words. It's one of the 45 attributes in a ScriptGrain voice profile, in the Lexical group. Across ScriptGrain's reference corpus of 299 published pieces, the median is 19.4 per 1,000 words.

## Analyse your contraction frequency free

Your free voice profile measures contraction frequency among all 45 attributes, from a sample of your own writing. No card needed.

[Try the six-signal check first](https://scriptgrain.com/#sg-measure)

## At a glance

- API field: **contraction_frequency**
- How it is measured: **Measured in code**
- Group: **Lexical** (ScriptGrain voice profile, 45 attributes in 8 groups)
- Unit: **per 1,000 words** (ScriptGrain attribute definitions)
- Voice match: **Scored, weight 2** (ScriptGrain voice-match engine (published method))
- Median in published writing: **19.4 contractions per 1,000 words** (ScriptGrain reference corpus: 299 public pieces, built 20 September 2026)

## What contraction frequency measures

Contraction frequency measures how often a writer contracts two words into one, per 1,000 words of text. The app's own definition is blunt: "How often contractions (it's, don't, we're) appear." The value stored in your profile is the extraction model's reading of your samples. When a draft is scored, code counts words with an internal apostrophe, straight or curly, which also catches possessive 's along the way. The free writing style analyser is narrower and counts specific endings: 's, 't, 're, 've, 'll, 'd and 'm, per 1,000 words. Both are proxies for the same instinct: does this writer talk to the reader, or address them?

There's a related trip-wire worth knowing about. The free AI cliché checker runs a "No contractions" meter that fires on 300 or more words of prose with not one contraction anywhere. For scale, nine in ten pieces in ScriptGrain's reference corpus run at 8.1 or more per 1,000 words. In ScriptGrain's stylometric fingerprint, "Casualness" is just the corpus percentile of a writer's rate, and the free habits report places the rate against the same corpus. The [Lexical group](https://scriptgrain.com/attributes/lexical) puts it beside [filler phrases](https://scriptgrain.com/attributes/filler-phrases) and [word length distribution](https://scriptgrain.com/attributes/word-length-distribution).

## How contraction frequency is scored

Contraction frequency moves the [voice match](https://scriptgrain.com/glossary/voice-match) score, with a weight of 2. When a draft is scored, code counts contractions directly from the text (measureTextFeatures); no model judges it. Similarity is 1 minus the gap between draft and profile divided by a tolerance, floored at 0 so it never goes negative.

The tolerance is whichever is larger: 10 per 1,000 words, or 70% of the profile's stored rate. So a heavily contracted profile gets more room to drift before the score drops, and a lightly contracted one gets the floor of 10. For the full method behind this calculation, see the [voice measurement framework](https://scriptgrain.com/reference/voice-measurement-framework).

## How to analyse contraction frequency in your own writing

You can count this by hand in a few minutes, no tools required.

1. Take a sample of at least 300 words, ideally closer to 1,000 for a stable reading.
2. Count every contraction: it's, don't, we're, you'll, they've, and so on. Both of ScriptGrain's counters also catch possessive 's, so decide up front whether you will.
3. Divide the count by the total word count, then multiply by 1,000. That's your rate per 1,000 words.
4. Compare the result to the reference figures below to see where you sit.
5. Repeat across two or three pieces if you can; one sample can mislead you, especially short ones.

That's the manual version. ScriptGrain's free voice profile reads this straight from a writing sample, as one of all 45 attributes, with no counting required on your end.

## Typical contraction frequency in published writing

Eight in ten published pieces in ScriptGrain's reference corpus sit between 8.1 and 32.2 contractions per 1,000 words. The corpus is 299 recent public English-language pieces (blogs, newsletters and essay sites) from 47 sources, built on 20 September 2026, each measured with the product's own code and then discarded: p10 sits at 8.1, p25 at 13.8, the median at 19.4, p75 at 24.7, and p90 at 32.2, all per 1,000 words.

The habits report uses these percentiles to label a piece. At or above the 75th percentile, it's called "Heavily contracted." At or below the 25th, "Few contractions." Anywhere in between is unremarkable, which is, to be fair, half the corpus. The lexical layer reference covers the group's corpus data.

## How to make AI use more contractions

Getting an AI assistant to write with natural contractions takes more than asking nicely.

1. Tell it explicitly to contract wherever a person reading aloud would: it's, don't, we're, you'll, rather than leaving it to infer tone.
2. In ScriptGrain, select the Conversational register, which tells the generator to use contractions freely.
3. Check the result against your own samples afterwards. In ScriptGrain's published study ChatGPT vs a measured voice (SGR-002), a one-page prompt asked GPT-5 for about 14 contractions per 1,000 words and got 0.5.

That gap is the whole argument for measuring rather than asking. When a ScriptGrain profile generates text, the full voice profile JSON, including contraction_frequency, is sent in the system prompt under an instruction to treat every attribute as a hard constraint, not a suggestion. The profile reaches ChatGPT, Claude and other tools through the API and MCP server, so the same stored rate goes wherever the writing happens.

## How to make AI use fewer contractions

Cutting contractions matters most in formal documents, where "do not" and "it is" read as more careful than "don't" and "it's."

1. Ask directly for full forms throughout: do not instead of don't, it is instead of it's, across the whole piece rather than just the opening.
2. In ScriptGrain, choose the Formal register, which tells the generator to "Avoid contractions, slang, and colloquialisms".
3. Keep contractions out of headings, legal lines and quoted figures even when the surrounding body text uses them. Consistency here matters more than the overall rate.

Worth knowing: a draft with none at all is achievable. In ScriptGrain's SGR-001 study, a draft written from a Victorian-novelist profile ran 626 words without a single contraction.

## Questions

### How is contraction frequency scored?

It carries a weight of 2 in the voice match calculation, counted directly from the draft in code rather than judged by a model. The similarity score is 1 minus the gap between draft and profile divided by a tolerance, floored at 0. The tolerance is the larger of 10 per 1,000 words or 70% of the profile's own rate, so high-contraction writers get a wider allowance.

### How do I count contractions in writing by hand?

Take a sample of at least 300 words, count every contraction (it's, don't, we're, you'll), then divide by total words and multiply by 1,000. That gives contractions per 1,000 words. Decide up front whether you're counting possessive 's: both of ScriptGrain's counters do. Repeat across a few samples for a steadier reading.

### Should you use contractions in writing?

It depends on register and on your own habit. In ScriptGrain's reference corpus of 299 published pieces, the median is 19.4 per 1,000 words and only one piece in ten runs below 8.1. Formal documents often use full forms, and ScriptGrain's Formal register tells its generator to avoid contractions. Note that 300+ words with none trips the "No contractions" meter in ScriptGrain's AI cliché checker.

### How do I make ChatGPT use more contractions?

A plain instruction may not be enough: in ScriptGrain's SGR-002 study, a one-page prompt asked GPT-5 for about 14 per 1,000 words and got 0.5. Be explicit about which words to contract (it's, don't, we're), and if you're using ScriptGrain, select the Conversational register, which instructs the generator to use contractions freely rather than leaving tone to guesswork.

### What counts as a contraction for scoring purposes?

Code counts any word with an internal apostrophe, straight or curly, which also catches possessive forms like "the writer's." The free analyser counts only words ending in 's, 't, 're, 've, 'll, 'd or 'm, so it also counts possessive 's but skips other apostrophes. The two methods won't always agree on borderline cases, and the value stored in your profile is the extraction model's reading of your samples, not either count.

## Related

- [Lexical attributes](https://scriptgrain.com/attributes/lexical)
- [Vocabulary diversity](https://scriptgrain.com/attributes/vocabulary-diversity)
- [Preferred words](https://scriptgrain.com/attributes/preferred-words)
- [Word length distribution](https://scriptgrain.com/attributes/word-length-distribution)
- [The lexical layer: which vocabulary metrics identify a writer](https://scriptgrain.com/reference/lexical-layer)
- [Free in-browser analyser (counts it)](https://scriptgrain.com/tools/writing-style-analysis)
- [micro-habits](https://scriptgrain.com/micro-habits)
- [ai-cliche-checker](https://scriptgrain.com/tools/ai-cliche-checker)

## Sources

- [How ScriptGrain scores voice match](https://scriptgrain.com/reference/voice-measurement-framework)
- [The attributes and their corpus percentiles](https://scriptgrain.com/reference/writing-voice-attributes)
- [ChatGPT vs a measured voice (SGR-002)](https://scriptgrain.com/research/chatgpt-vs-a-measured-voice)
- [How many samples does a voice profile need before it stabilises? (SGR-003)](https://scriptgrain.com/research/how-many-samples-does-a-voice-profile-need)
