How SlopScore scores text, how we ran the Agency AI Writing Index, and what the scores can and cannot tell you.
The short version. SlopScore flags patterns associated with AI-written copy; it does not prove authorship. We do not claim an accuracy rate, and we have not yet published measured false-positive or false-negative rates. Don't use a SlopScore result as the only basis for a decision about a person.
What SlopScore measures
SlopScore is a deterministic, rule-based checker. It looks for about 20 writing patterns that people now associate with AI drafts, based on Wikipedia's "Signs of AI writing" and the MIT-licensed humanizer and no-ai-slop projects. Each pattern is a set of regular expressions or a simple sentence-length rule. The rules are public in the open-source repository, and the same text always gets the same score.
It is not a machine-learning classifier and does not estimate the probability that a model wrote a text. It counts phrasing. A person who writes "let's dive in" and "it's not just a tool, it's a mindset" will score high; a model output that was edited well will score low.
How the score is calculated
Each pattern has a strength: strong (3 points), medium (2) or weak (1). See the pattern list.
Weak patterns only count when at least one strong or medium pattern is also present. Em dashes count by rate (per 100 words), not one by one. Lists of three only count when there are two or more.
Points are divided by length (per 100 words, minimum 100), giving a density. The score is round(100 × (1 − e−density/5)), so it rises fast at first and flattens near 100.
Bands: 0-19 "reads human", 20-44 "a little sloppy", 45-69 "sloppy", 70-100 "pure slop". These bands are labels for the density of patterns. They are not a verdict.
How we ran the Agency AI Writing Index
Sample. 100 agencies selling content, SEO or digital-PR services, mostly in the US and UK, compiled from public web research in October 2026. It is a convenience sample, not a random one.
Polite collection. Our crawler identifies itself as SlopScoreBot (about the bot). It read each site's robots.txt first and followed it, including Crawl-delay. It made one request at a time per site, at least 2 seconds apart, and skipped sites that blocked automated requests or showed a bot challenge. It only fetched public pages and ignored pages marked noindex.
Choosing posts. We took the newest posts listed in the site's sitemap (or linked from its blog index if there was no usable sitemap), skipped category, tag and author pages, and kept posts of at least 250 words. We scored up to 5 per agency and included an agency only if we had at least 3.
Extracting text. We used the page's main article area where one existed, removed navigation, footers, forms, sidebars and scripts, and dropped very short lines such as buttons. Some leftover boilerplate (author bios, calls to action) can still get through.
Results. 81 agencies and 402 posts made it into the index. 0 sites blocked us and 19 had too few usable posts or could not be reached.
Anonymity. The public study reports totals only. We don't name agencies or quote their sentences publicly. Each agency's results are on a private, unlisted page that search engines are told not to index. Agencies can ask us to delete theirs at slopscore@agentmail.to.
Limits
No authorship claim. Human writers use every one of these patterns. Marketing copy in particular has always leaned on triads, punchy fragments and words like "seamless". A high score says the text has a lot of this phrasing, nothing more.
No measured error rates yet. We have not tested SlopScore on a labeled set of human-written and AI-written texts, so we make no claim about how often it is right or wrong at telling them apart. If we publish a benchmark, it will go on this page with the data.
Easy to game. Rules are public. Anyone can edit a text to score zero, and an unedited AI draft on an unusual topic may score low.
English only. The rules target English phrasing.
Small, non-random sample. 402 posts from 81 agencies cannot stand in for the industry, and the newest posts on a blog may not be typical of it.
Extraction noise. Page templates differ, and a sidebar or call-to-action block can add or remove flags.
Snapshot. Sites change. The data was collected on October 3-4, 2026.
Corrections
If you think a number here is wrong, or you want an agency audit removed, email slopscore@agentmail.to and we'll fix it.