What 8 articles scored across 7 dimensions says about AI writing quality
Three Outrank samples and five of our own articles, scored four times each on our seven-dimension article scorer. Structure separated the set by 5 points; voice and original insight separated it by 32 and 22.
September 24, 2026 · 21 min read
By Alex Li, Founder · Contact the author
I ran our own article scorer over 8 articles, 4 times each: three samples from the Outrank homepage, plus five finished pieces from our database. Same prompt, same model, same JSON schema, production settings.
The finding that surprised me: the problem everyone can see (unclear structure) is worth 2 to 4 points in this scorer. The two dimensions that actually separate good from bad are the two an author cannot self-check. And one of those three "best practice" samples scored lower than everything we have ever shipped.
All numbers below are means of 4 runs. Single runs are not usable for comparison, and section 8 explains why.
1. The result, up front
My first pass through those three Outrank samples was done by eye, and I was confident. Our paragraphs run 70 words against their 32. They use one to three tables per article and we use none. Their sections close with a one-line takeaway. Ours do not. That story explains "hard to read" so neatly that I did not look for another one.
The scorer disagrees about where the gap is.
| Sample | Structure and readability (weight 10%) |
|---|---|
| Outrank-1 Supabase vs Firebase | 93 |
| Outrank-2 TikTok video tools | 93 |
| Ours-2 outline testing | 91 |
| Ours-3 automated pipelines | 90 |
| Ours-4 creative options | 90 |
| Ours-1 API integration | 89 |
| Ours-5 data density | 88 |
| Outrank-0 Twitter monetization | 88 |
Five points separate the best from the worst, and the dimension carries 10% of the total. Cut every paragraph in half and add two tables, and the weighted score moves by roughly 0.4 points. The structural work I was about to recommend is close to invisible to the measurement.
Here is the same data arranged as the gap between what I expected and what came back:
| Dimension | Weight | What I expected | Observed span (8 samples) | Who wins |
|---|---|---|---|---|
| Structure and readability | 10% | The big gap | 88 to 93 (span 5) | Slight edge to the samples |
| Information density | 20% | We are weak | 76 to 91 (span 15) | Us, top score 91 |
| Credibility and authority | 20% | We are weak | 71 to 93 (span 22) | Us, top score 93 |
| Voice and persona | 10% | Did not consider it | 55 to 87 (span 32) | The samples |
| Original insight | 15% | Did not consider it | 63 to 85 (span 22) | The samples |
| Reader value | 10% | We are weak | 78 to 91 (span 13) | Even |
| Entity citeability | 15% | Unknown | 84 to 91 (span 7) | Even |
The two dimensions I never thought about produce the two widest spreads, and they are not cheap ones. Moving voice from 71 to 86 is worth 1.5 points of total score. Moving original insight from 76 to 85 is worth another 1.35. The structural work is worth 0.4. Fixing structure first is spending effort where the instrument barely reads.
One more number belongs here. The Twitter monetization sample is the most scannable article in the set: three tables, 24 list items, six takeaway blocks, an eight-row FAQ table. It scored 73.5, the lowest of all 8, and three of its four runs put AI suspicion at 65. What broke it was not structure.
2. What the instrument measures
The scorer returns overallScore (0 to 100 integer), aiSuspicionScore (0 to 100), and verdictLevel (excellent, fair, mediocre, poor).
overallScore is not the model's opinion of the whole piece. The model scores 7 dimensions from 0 to 100 and the program takes the weighted average. That matters: it removes the model's built-in preference for "this seems fine overall", and it makes the number stable enough to compare across runs.
The 7 dimensions, their weights, and the anchors the prompt hands to the model:
| Key | Weight | The question it asks | What 100 looks like | What 40 looks like |
|---|---|---|---|---|
information_density | 20 | Are the numbers checkable and the sources named | Data verifiable, sources named, evidence mapped to claims one to one | Concept words standing in for evidence |
original_insight | 15 | Is there a claim someone else did not make | A clear new or counterintuitive claim, and it holds up | Common knowledge rephrased |
structure_readability | 10 | Can a reader follow the order of the argument | Logic clear, paragraphs and headings doing their job | Loose and jumpy |
voice_persona | 10 | Is there a specific person behind this | Opinions, hesitation, tradeoffs, remembered detail | Polished prose with no author |
credibility_authority | 20 | Can the claims be checked | Claims checkable, sourcing transparent | Relying on the words "experts" and "authority" |
reader_value | 10 | Can a reader take an action away | Actionable and distinctive | Soft advertising |
entity_citeability | 15 | Does the brand arrive with a mechanism and evidence | The brand is the clear answer entity for the query, and the reader can still execute the method without it | Selling points and "just pick this" |
That last row gets misread often, so it is worth stating what it does not say. A brand appearing is not a deduction. The goal is for the brand to be the answer entity. Points come off when the brand is written as the only way, or when a reader who skips the brand takes nothing away. Three VETO conditions force the affected dimensions below 39 regardless of how well the rest is written: the content answers a different question than the title, the body contradicts itself, or the piece is pure promotion with no mechanism and no evidence.
aiSuspicionScore runs on a separate standard taken from Wikipedia's "Signs of AI writing". It looks for 7 categories appearing in clusters rather than one at a time: inflated significance, promotional language, vague attribution, invented persona, formulaic structure, "not X but Y" rhetoric, and rhythm that never varies. The prompt lists the false positives to ignore. Clean grammar, a single short sentence, one "however", and correct formatting are all explicitly not evidence.
Three of these dimensions are unusually hard to self-check. You can audit information density by counting citations and structure by counting headings. You cannot audit voice or original insight, because the author only sees what they meant to say, not who they sound like.
3. How the test was run
Eight articles went in as raw markdown, not scraped URLs. The set:
| ID | Title | Shape | Length | Source |
|---|---|---|---|---|
| Outrank-0 | How to Get Paid on Twitter: Your 2026 Monetization Guide | Guide | 2,825 | outrank.so homepage samples |
| Outrank-1 | Supabase vs Firebase: Choose Your Backend in 2026 | Comparison | 3,718 | same |
| Outrank-2 | 10 Best AI Video Makers for TikTok (2026 Guide) | Listicle | 4,302 | same |
| Ours-1 | AI Audience Research API Integration | Concept plus workflow | 803 | local finalContent |
| Ours-2 | Synthetic Audience Research Tool for Article Outlines | Case study plus framework | 1,001 | same |
| Ours-3 | Building Automated Audience Research Pipelines | Technical comparison | 1,164 | same |
| Ours-4 | How to Use AI-Driven Synthetic Panels to Identify Winning Creative Options | Step framework | 1,521 | same |
| Ours-5 | Data Density in Generative Search | Argument | 715 | same |
The three Outrank bodies came out of the site's own JavaScript bundle, so the tables, takeaway blocks, heading anchors and image references survived intact rather than being flattened by HTML extraction.
Settings match the production quality gate, so the ruler does not change between the two groups:
- our configured model, the same one the production gate uses
temperature = 0.2, the same value the gate uses- output constrained to a fixed JSON schema
- output language fixed to
en, matching the stored scores in our own database - prompt, weights and schema reused from our production quality gate rather than retyped
Every article ran 4 times. Repeating is not caution, it is required. The same prompt on the same text returned 83 once and 65 once for Outrank-0. The spreads:
| Sample | 4 runs | Mean | SD |
|---|---|---|---|
| Outrank-1 Supabase vs Firebase | 90, 89, 86, 89 | 88.5 | 1.5 |
| Ours-2 outline testing | 89, 89, 88, 88 | 88.5 | 0.5 |
| Outrank-2 TikTok video tools | 85, 89, 83, 89 | 86.5 | 2.6 |
| Ours-5 data density | 89, 86, 89, 81 | 86.3 | 3.3 |
| Ours-3 automated pipelines | 83, 83, 84, 84 | 83.5 | 0.5 |
| Ours-4 creative options | 84, 81, 85, 82 | 83.0 | 1.6 |
| Ours-1 API integration | 76, 82, 85, 80 | 80.8 | 3.3 |
| Outrank-0 Twitter monetization | 83, 73, 73, 65 | 73.5 | 6.4 |
Median SD is 2.45, the maximum is 6.4. Anything inside 5 points is not a finding. Outrank-2 at 86.5 and Ours-5 at 86.3 are indistinguishable, and I will not use that pair as evidence for anything.
4. Results
4.1 Dimension means
| Sample | Info | Original | Structure | Voice | Credibility | Reader value | Entity |
|---|---|---|---|---|---|---|---|
| Outrank-1 | 89 | 85 | 93 | 86 | 88 | 91 | 91 |
| Outrank-2 | 88 | 81 | 93 | 80 | 85 | 90 | 90 |
| Outrank-0 | 76 | 63 | 88 | 55 | 71 | 78 | 84 |
| Ours-2 | 90 | 85 | 91 | 87 | 88 | 89 | 91 |
| Ours-5 | 91 | 82 | 88 | 76 | 93 | 85 | 84 |
| Ours-3 | 85 | 78 | 90 | 71 | 86 | 85 | 87 |
| Ours-4 | 85 | 78 | 90 | 73 | 79 | 87 | 89 |
| Ours-1 | 83 | 76 | 89 | 74 | 78 | 83 | 87 |
| Weight | 20% | 15% | 10% | 10% | 20% | 10% | 15% |
Four things fall out of this table, and they do not overlap.
We win information density and credibility. Ours-5 takes both top slots at 91 and 93 with the same material: a cross-channel analysis of 75,000 brands showing brand web mentions correlating 0.664 with AI Overview visibility against 0.218 for traditional backlink metrics, plus a 200-respondent survey we commissioned ourselves. All three samples land between 76 and 89 on those two dimensions. The reason is straightforward. They have no first-party data, so every number in them is a second-hand citation.
The samples win voice and original insight, but only two of them do. Outrank-1 posts 86 and 85. Outrank-2 posts 80 and 81. On our side, only Ours-2 (87 and 85) matches. The other four sit between 71 and 76 on voice and 76 and 82 on insight.
Outrank-0 collapsed on those same two dimensions, at 55 and 63. Its tidy structure bought it nothing there, because those dimensions do not take structural points.
And structure does not separate the set. Eight samples land inside a 5-point band of 88 to 93, which is the width of the noise. As a discriminating dimension, structure is flat in this data.
4.2 Three cases in detail
Outrank-0, and why it collapsed. The verdict reads "carries formulaic AI phrasing and acts as a brand promotion piece". Three separate signals point at one mechanism.
Original insight scored 63. The note says it "restates common knowledge about Twitter monetization with standard framing", and quotes the opening: The attention is real. The income isn't. That gap exists because attention alone doesn't pay. A system does. Those sentences land hard and carry no information. They exist to create rhythm.
Voice scored 55 with the note "reads like standard polished stateless prose with textbook balanced sentences and blockquotes". The quote given as evidence is the device I had been treating as a strength: Getting approved once isn't the finish line. Staying eligible is the real job.
AI suspicion hit 65, including one high-strength signal for uniform rhythm. The quoted text is another takeaway block: Public content should handle belief. The offer page should handle logistics.
Three independent measurements converge on the same sentences. The one-line closer under every section is a deduction under this standard, not a technique.
Outrank-1, and why it scored well. Voice 86, with one first-person judgment as the evidence: I would treat realtime as a workload question, not a feature checkbox. Original insight 85, because it explains the data model difference before getting to cost, permissions and migration, and only then says when to pick which. The scorer recorded that as moving past a feature grid to the real argument.
Two human signals got logged. One is the first-person judgment above. The other is an admission of engineering cost: If your roadmap includes field usage on weak networks, that implementation burden is not a footnote.
Our two best pieces. Ours-2 scored the highest voice in the whole set at 87. The evidence was a failure admission in the first paragraph: When my editorial calendar for our enterprise cloud migration series hit a wall last October, I made a classic mistake. The human signals were that anecdote and internal test numbers with decimal places.
Ours-5 took the highest information density at 91 and the highest credibility at 93, then dropped to 70 on entity citeability in the same run. The note says the brand arrives with a clear mechanism "but leans toward a promotional plug". One article holds both the top and the bottom score. Data quality and sales register do not cancel out. They are scored separately, and both get read.
5. Four failure patterns the data confirmed
These are not writing-guide advice. Each one has a sample that hit it and a dimension that recorded the damage.
5.1 Symmetric scaffolding
Ours-4 runs Step 1 through Step 6, with headings of nearly identical length and shape. The scorer logged a medium-strength formulaic structure signal quoting the run of headings, pressed voice down to 70, and suggested cutting the reliance on symmetric step headings.
There is a real distinction here. If the content is an ordered operation (install, configure, send a request), the steps are the content and they are fine. If the content is a judgment (should you do this, what does it cost, when does it break), forcing it into Step 1 through Step N makes every step a decision on the reader's behalf and leaves nowhere for the author to stand. Ours-4 is the second kind of article.
5.2 The sales register
Ours-5 scored 70 on entity citeability, the lowest single dimension across all runs. Its brand paragraph runs like this: the workflow "matches the approach taken by automated platforms like chatgptgrow.com, which takes a user website domain as input, maps target buyer intent questions against proprietary research data sets, commissions and incorporates original survey data, synchronizes outputs to WordPress, Ghost, Webflow, and Notion via a subscription model, and monitors weekly brand mentions". Every fact in that sentence is accurate and the mechanism is genuinely explained. It also packs seven product actions into one paragraph, and it reads like a pricing page.
The same problem shows up in another shape across four of our articles. Each one introduces moevox.com in a paragraph that follows an identical template: what it accepts as input, that it generates respondents from ACS PUMS data, what it returns. Four articles, four paraphrases of one sentence. By the second one a reader starts skipping, and voice takes the hit along with the reader's patience.
5.3 Even rhythm and stacked aphorisms
This is what sank Outrank-0, and it leaves traces in our work too. Ours-3 picked up two low-strength signals, one for formulaic structure and one for uniform rhythm, on constructions whose two halves balance in length by design.
An aphorism is not a mistake. Closing every single section with one is, because readers start predicting the position, and then they start skipping. Outrank-0 planted six and the scorer flagged the pattern three times.
5.4 Reusing one source as if it were several
Ours-5 cites arxiv.org/abs/2311.09735 four times under two different attributions, once as "Princeton GEO Research Paper" and once as "Aggarwal et al., KDD 2024". It is one paper. In Ours-1, Iriscale appears twice, both times as "according to a report by Iriscale".
No dimension is named for this, but it feeds into how transparent the sourcing looks. The practical damage is simpler. A reader who checks ends up counting eight citations that resolve to three or four sources, and the piece reads as thinner than its reference list suggests.
6. Three things that worked
6.1 First-person judgment, not first-person narrative
The data splits cleanly here. All four of our weaker pieces have first-person narration and still score 71 to 76 on voice. Outrank-1 has four first-person moments in 3,718 words and scores 86.
The difference is that ours report what happened, and theirs state what they think. Narration buys credibility. Judgment buys voice.
| Move | Example | What it earns |
|---|---|---|
| Personal narrative | When our agency faced an impossible client deadline, my team needed to evaluate four distinct visual directions within days. | Credibility, little voice |
| Personal judgment | I would treat realtime as a workload question, not a feature checkbox. | Voice, plus a position |
| Stated limit | If your roadmap includes field usage on weak networks, that implementation burden is not a footnote. | Both |
Judgment carries a cost that narration does not: it can be argued with. Nobody can contradict your calendar. The scorer appears to read "can be argued with" as "someone is home", which is a reasonable proxy for having an author.
6.2 Give the tradeoff, not the recommendation
Outrank-2 is a listicle that never recommends anything. Each tool gets a fit and a mismatch, and the line the scorer logged as a human signal moves the whole piece off "all ten are good": The trade-off is that speed can flatten originality. A lot of AI-generated videos look structurally correct but emotionally flat. Reader value came back at 90.
The easy failure for a listicle is ten entries of accumulated praise. After all ten, a reader has no basis for choosing. One sentence per entry about who should not use it converts the format into a decision aid.
6.3 First-party data is the one thing you cannot buy
This part has no counterexample in the set. Ours-5 holds information density 91 and credibility 93 on our own survey. All three samples sit at 76 to 89. They are not short on craft. They are short on a number only they have.
First-party data also feeds three dimensions at once. It is checkable evidence, so information density rises. Nobody else has it, so original insight rises for free. And it removes the need for "experts say", so credibility rises. One asset, three scores. That is the mirror image of Outrank-0, which lost information density, original insight and credibility together because its numbers all came from public sources.
7. A checklist
Ordered by dimension, with the pass condition in the middle column.
| Check | Pass condition | Dimension |
|---|---|---|
| Numbers only you can supply | At least 1 | Information density, original insight |
| Named source after every number | Zero instances of "according to a report" | Credibility |
| Same source reused as if distinct | Reuse count 2 or less | Credibility |
| Headings stating a judgment rather than a category | Half or more rewrite into a question | Structure, original insight |
| First-person sentences that are judgments | At least 2 | Voice |
| Sentences a reader could disagree with | At least 1 | Voice, original insight |
| Listicle entries naming who should skip it | Every entry | Reader value |
| Product actions crammed into one brand paragraph | 3 or fewer | Entity citeability |
| Reader succeeding without the brand | Yes | Entity citeability |
| Closing takeaway blocks | Check count; if a reader can predict the position, cut them | Voice, AI suspicion |
| Step 1 through Step N on judgment content | Do not | AI suspicion, voice |
| Three consecutive sentences of similar length | Break one | AI suspicion, voice |
| Average paragraph length | 40 words or under | Structure (see section 8) |
I have not run this as a formal audit, so I cannot tell you our pass rate. Each row traces back to a failure the scorer logged in one of these 8 articles, which is a weaker claim than "articles passing this list score higher" and I would rather leave it that way than invent the number.
8. Where the instrument stops
Six limits, and the first one matters most.
It does not measure scannability. This is the gap between my initial reading and the score. Paragraphs at 70 words against 32, zero tables against one to three, images three times denser on their side. All of that came back as 2 to 4 points of structure. The reason is that the structure dimension asks whether the order of the argument is followable, not whether the page is scannable. Paragraph length, tables and images barely enter its judgment. Two consequences follow. The intuition that our articles are harder to read is probably correct, and the current score cannot see it. And anyone optimizing against this scorer can push the total up while scannability stays exactly where it was. If scannability is a real product problem, it needs its own metric, something like average paragraph length or tables per thousand words, sitting outside these 7 dimensions.
Sample size and domain. Eight articles, three on consumer topics (Twitter monetization, backend selection, video tools) and five on B2B research. How much of the voice gap comes from writing versus how much comes from a topic that naturally contains an "I" is not separable from this set.
One model, one configuration. Every score came from a single model. Whether another model shifts everything systematically is untested. Four runs per article were used to estimate noise, not to remove it.
aiSuspicionScore is noisier than the total. Outrank-0 produced both 32 and 65. Read it as a flag for whether medium-or-higher signals exist, not as a scale for ranking how human a piece sounds.
Stored production scores run optimistic. Our five records hold 84, 88, 84, 83 and 91. The reruns give 80.8, 88.5, 83.5, 83.0 and 86.3. Four sit inside the noise band. Ours-5 moved from 91 to 86.3, at the top edge of it. So 91 was not a stable value, it was the high end of one sample. Any gate that treats 90 as a threshold needs to accept roughly 5 points of movement first.
Entity citeability reads differently on the samples. Their "brand" is their client's brand: SuperX, Supabase, Revid.ai. The dimension still applies and their scores (84 to 91) are comparable to ours. Just note that it judges who should be cited in this query, not who owns the article.
9. Where the data came from
The three Outrank bodies were extracted from the site's own static bundle, from the three cards in the homepage Writing Examples section. Tables, takeaway blocks, anchors and image references are all intact.
Our five came straight out of the database as stored final article bodies, filtered to non-deleted records with non-empty content. Three other records existed at the time with empty bodies (generation had stopped partway) and were left out.
The stored scores come from the saved analysis records for those five articles. They read 84, 88, 84, 83 and 91.
10. Method settings, and a self-check
The settings are fixed so the ruler does not move between samples: temperature = 0.2, schema-constrained JSON output, output language en, and one model for all runs. Half the corpus sits in our private database while the other half is on a page any reader can open, which is why this is a publish-the-method-and-the-numbers piece rather than a downloadable data file.
Two rules are worth keeping. Run every article at least 3 times, because a single result cannot support a comparison. And report the standard deviation next to every mean, or 86.3 against 86.5 reads as a ranking when it is a tie.
10.1 This document, scored the same way
I put this file through the same instrument as a check on my own advice. Three runs, prose only, no brand to cite:
| Dimension | Weight | Score (mean of 3) |
|---|---|---|
| Information density | 20% | 91.0 |
| Original insight | 15% | 89.0 |
| Credibility and authority | 20% | 90.0 |
| Reader value | 10% | 86.0 |
| Voice and persona | 10% | 86.0 |
| Entity citeability | 15% | 82.0 |
| Structure and readability | 10% | 87.0 |
| Total | 88.0 (88, 88, 88) | |
| AI suspicion | 14, 14, 14 |
Two of those numbers need context. Entity citeability at 82.0 is measuring nothing useful, because this document recommends no product and has no brand to place. The AI suspicion reading of 14 is the lowest in the 9-document set, and I would not read it as proof of anything beyond the absence of the stacked aphorisms I criticize in section 5.3.
The three runs logged no AI signals at all, and the verdict reads: "An exceptionally rigorous and self-reflective analysis of AI writing quality based on empirical data."
The pattern across all 8 articles is narrower than "AI writes badly". What the low-scoring pieces share is a stance and a sourcing problem: no position a reader could argue with, and no number nobody else has. Structure is the easiest of those to fix and the least rewarded by the measurement, which is probably why it gets fixed first.
ChatGPT Grow