All research

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.

SampleStructure and readability (weight 10%)
Outrank-1 Supabase vs Firebase93
Outrank-2 TikTok video tools93
Ours-2 outline testing91
Ours-3 automated pipelines90
Ours-4 creative options90
Ours-1 API integration89
Ours-5 data density88
Outrank-0 Twitter monetization88

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:

DimensionWeightWhat I expectedObserved span (8 samples)Who wins
Structure and readability10%The big gap88 to 93 (span 5)Slight edge to the samples
Information density20%We are weak76 to 91 (span 15)Us, top score 91
Credibility and authority20%We are weak71 to 93 (span 22)Us, top score 93
Voice and persona10%Did not consider it55 to 87 (span 32)The samples
Original insight15%Did not consider it63 to 85 (span 22)The samples
Reader value10%We are weak78 to 91 (span 13)Even
Entity citeability15%Unknown84 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:

KeyWeightThe question it asksWhat 100 looks likeWhat 40 looks like
information_density20Are the numbers checkable and the sources namedData verifiable, sources named, evidence mapped to claims one to oneConcept words standing in for evidence
original_insight15Is there a claim someone else did not makeA clear new or counterintuitive claim, and it holds upCommon knowledge rephrased
structure_readability10Can a reader follow the order of the argumentLogic clear, paragraphs and headings doing their jobLoose and jumpy
voice_persona10Is there a specific person behind thisOpinions, hesitation, tradeoffs, remembered detailPolished prose with no author
credibility_authority20Can the claims be checkedClaims checkable, sourcing transparentRelying on the words "experts" and "authority"
reader_value10Can a reader take an action awayActionable and distinctiveSoft advertising
entity_citeability15Does the brand arrive with a mechanism and evidenceThe brand is the clear answer entity for the query, and the reader can still execute the method without itSelling 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:

IDTitleShapeLengthSource
Outrank-0How to Get Paid on Twitter: Your 2026 Monetization GuideGuide2,825outrank.so homepage samples
Outrank-1Supabase vs Firebase: Choose Your Backend in 2026Comparison3,718same
Outrank-210 Best AI Video Makers for TikTok (2026 Guide)Listicle4,302same
Ours-1AI Audience Research API IntegrationConcept plus workflow803local finalContent
Ours-2Synthetic Audience Research Tool for Article OutlinesCase study plus framework1,001same
Ours-3Building Automated Audience Research PipelinesTechnical comparison1,164same
Ours-4How to Use AI-Driven Synthetic Panels to Identify Winning Creative OptionsStep framework1,521same
Ours-5Data Density in Generative SearchArgument715same

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:

Sample4 runsMeanSD
Outrank-1 Supabase vs Firebase90, 89, 86, 8988.51.5
Ours-2 outline testing89, 89, 88, 8888.50.5
Outrank-2 TikTok video tools85, 89, 83, 8986.52.6
Ours-5 data density89, 86, 89, 8186.33.3
Ours-3 automated pipelines83, 83, 84, 8483.50.5
Ours-4 creative options84, 81, 85, 8283.01.6
Ours-1 API integration76, 82, 85, 8080.83.3
Outrank-0 Twitter monetization83, 73, 73, 6573.56.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

SampleInfoOriginalStructureVoiceCredibilityReader valueEntity
Outrank-189859386889191
Outrank-288819380859090
Outrank-076638855717884
Ours-290859187888991
Ours-591828876938584
Ours-385789071868587
Ours-485789073798789
Ours-183768974788387
Weight20%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.

MoveExampleWhat it earns
Personal narrativeWhen our agency faced an impossible client deadline, my team needed to evaluate four distinct visual directions within days.Credibility, little voice
Personal judgmentI would treat realtime as a workload question, not a feature checkbox.Voice, plus a position
Stated limitIf 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.

CheckPass conditionDimension
Numbers only you can supplyAt least 1Information density, original insight
Named source after every numberZero instances of "according to a report"Credibility
Same source reused as if distinctReuse count 2 or lessCredibility
Headings stating a judgment rather than a categoryHalf or more rewrite into a questionStructure, original insight
First-person sentences that are judgmentsAt least 2Voice
Sentences a reader could disagree withAt least 1Voice, original insight
Listicle entries naming who should skip itEvery entryReader value
Product actions crammed into one brand paragraph3 or fewerEntity citeability
Reader succeeding without the brandYesEntity citeability
Closing takeaway blocksCheck count; if a reader can predict the position, cut themVoice, AI suspicion
Step 1 through Step N on judgment contentDo notAI suspicion, voice
Three consecutive sentences of similar lengthBreak oneAI suspicion, voice
Average paragraph length40 words or underStructure (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:

DimensionWeightScore (mean of 3)
Information density20%91.0
Original insight15%89.0
Credibility and authority20%90.0
Reader value10%86.0
Voice and persona10%86.0
Entity citeability15%82.0
Structure and readability10%87.0
Total88.0 (88, 88, 88)
AI suspicion14, 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.

Your first article is free.

Then one article a day, published for you.

See what AI says about youEarn backlinks to your siteGet a new article every day