Reverse-engineer why benchmark accounts' outlier posts spread: pick benchmark accounts, score their posts against their own median, dissect the outliers with a pattern library, check the flops as a control, then adapt the winning structures to your own voice and test them. Triggers on 'why did that post go viral', 'benchmark viral accounts', 'steal like an artist for social', 'reverse-engineer their growth', 'viral pattern analysis', or any request to learn from accounts that are winning in your niche.
name: "viral_pattern_benchmarking" description: "Reverse-engineer why benchmark accounts' outlier posts spread: pick benchmark accounts, score their posts against their own median, dissect the outliers with a pattern library, check the flops as a control, then adapt the winning structures to your own voice and test them. Triggers on 'why did that post go viral', 'benchmark viral accounts', 'steal like an artist for social', 'reverse-engineer their growth', 'viral pattern analysis', or any request to learn from accounts that are winning in your niche."
Viral Pattern Benchmarking
Purpose
Find out what actually made a benchmark account's biggest posts spread, in a form you can reuse: a named structure, the evidence for it, and a test in your own voice. This skill works on outliers, the posts that beat an account's own normal by a wide margin. A general audit of a competitor's cadence and content mix is a different job (competitor social audit). Designing a product referral loop is a different job too (viral loop design). This one is about posts.
The core discipline: a viral post is a clue, not a recipe. Patterns get promoted only when they repeat and survive a look at the posts that flopped.
Workflow
1. Pick benchmark accounts (3 to 5)
Choose accounts that meet all four tests:
- Same audience job: their viewers want the same thing yours want, even if the topic label differs.
- One size band up, roughly: close enough that their results are reachable, big enough that their outliers mean something. A giant celebrity account teaches almost nothing transferable.
- Posting in the open, on a platform you can sample without scraping private data or breaking platform terms.
- Active and consistent over the sample window. One viral post from a dormant account is luck until proven otherwise.
Write down why each account qualifies. If you cannot fill the first test in one sentence, drop the account.
2. Build the sample, flops included
Collect the last 30 to 50 posts per account, or 60 to 90 days, whichever gives the larger sample. Record per post: account, post ID or URL, date, format, topic, views (or reach or impressions, one measure per account, named), likes, comments, shares, saves.
Score the sample:
python3 bin/score_outliers.py posts.csv --outlier-x 3.0 --out scored.csv
The tool ranks posts by views against their own account median and flags outliers at 3x median by default. The median is the baseline on purpose: one viral post drags a mean up and hides the next outlier, and published benchmark roundups disagree with each other because their formulas and samples differ, so an outside number is a weaker baseline than the account's own normal.
3. Dissect each outlier
For every flagged outlier (usually 3 to 8 per account), fill a breakdown using references/pattern-library.md and assets/pattern-card-template.md:
- Hook: which hook pattern, and the exact opening line or opening shot described in your own words.
- Structure: the middle pattern (list, teardown, before-attempt-after, myth-evidence-replacement, and so on).
- Share driver: one primary STEPPS driver (Social Currency, Triggers, Emotion, Public, Practical Value, Stories).
- Emotion and arousal: name the emotion and whether it is high or low arousal. Research summary: Berger and Milkman (2012), studying New York Times articles, found high-arousal emotions such as awe, anger, and anxiety raised sharing, while low-arousal sadness lowered it, even after accounting for usefulness and prominence. Calm and pleasant is not the same signal as awe.
- Packaging: title or caption wording pattern, thumbnail or cover choice, length, posting time.
- Payoff: whether the post delivered exactly what the hook promised.
- Engagement shape: saves-heavy (reference value), shares-heavy (send-to-one-person), or comment-deep (identity or debate). Read the top comments and say what people actually did with the post.
Two full examples, on invented posts, live in references/worked-breakdowns.md.
4. Run the control checks before believing any pattern
- Survivorship check: find posts in the sample that used the same hook or structure and landed at or below median. If the structure appears in flops as often as in outliers, the structure alone explains nothing. Look for the extra ingredient that separated them (in one worked example it was showing tracked numbers, not the contradiction itself).
- Confound check: rule in or out a collab or duet audience, a giveaway, paid promotion you can detect, a news event, a platform trend window, and a follower spike from an unrelated post. Tag anti-patterns from the library and exclude them from promotion.
- Repetition check: a pattern is promotable only if it shows up in at least two benchmark accounts, or at least three outlier posts from one account with a clean control check. One post is an anecdote, however big it went.
5. Adapt the pattern to your voice
Adaptation means the structure travels and everything else stays home:
- Keep: the hook pattern, the structure pattern, the share driver, the payoff discipline.
- Change: the topic, the examples, the figures, the setting, the wording, the presenter, the length if your format demands it.
- Drop: anything that needs their audience, their credentials, their budget, or a claim you cannot back with your own evidence.
- Voice pass: rewrite the draft in your normal phrasing, then read it aloud (or read the caption as a post you would send a friend). If a line sounds like the benchmark account wrote it, rewrite that line.
- Originality test: a viewer of the original should recognize only the structure. If they would recognize lines, jokes, data, or a story, it is a copy, not an adaptation. Start over.
- Claims pass: every number or fact in your version comes from your own work or a source you checked. Their results are never your results, and their figures never appear as yours.
6. Test like an experiment, not a hope
- Turn each promoted pattern into 3 to 5 posts over two to three weeks. Change one variable per post beyond the pattern itself (topic or hook wording or length), so a win or a loss teaches something.
- Judge against your own account median for the same format, computed the same way as step 2. Pre-commit the success line before posting, for example 2x your median views with engagement per 1,000 views at or above your normal. A line picked after the numbers arrive is not a line.
- Log every test, wins and flops, on the pattern card. A pattern that fails three clean tests gets retired with the numbers written down, not quietly forgotten.
- Winning patterns go into your own library with your numbers attached. That library is the asset this loop compounds.
7. Refresh on a cadence
Repeat the loop monthly, or when your niche shifts (a format change on the platform, a new account rising fast). Retire benchmark accounts that went dormant or changed audience, and say why in the brief.
Output Contract
Deliver a benchmarking brief containing:
- Benchmark set: the 3 to 5 accounts, the one-sentence audience-job fit for each, sample size and window per account.
- Outlier table: every flagged outlier with its ratio against its account median, view measure used, and engagement per 1,000 views. Output of
bin/score_outliers.py is acceptable as this table.
- Pattern cards: one per promoted pattern, using
assets/pattern-card-template.md, with the control and confound checks filled in. Patterns that failed a check are listed separately with the reason.
- Adaptation plan: for each promoted pattern, the keep / change / drop list and the originality test result.
- Test plan and, after testing, the verdict per pattern with your own numbers.
No pattern card without an outlier ratio, a sample size, and a control check. No adaptation that borrows wording, data, or a personal story from the original post.
Operating Rules
- Public data only. Sample what anyone can see. No scraping behind logins, no buying leaked analytics, no posing as someone else to see private numbers.
- Structure is free, expression is not. Hooks, formats, and structures are methods. Scripts, captions, jokes, images, and personal stories belong to their creators. Adapt the method, write your own material.
- Never present a benchmark account's results as achievable or typical for you. An outlier ratio describes their sample, not a promise.
- State the denominator every time. Views, reach, and impressions are different numbers. Name which one a ratio uses, and never compare ratios built on different measures.
- If the sample is too small to find a median worth trusting (under about 20 posts for an account), say so and widen the window instead of lowering the bar.
- Outrage is data, not a strategy. Tag high-arousal anger patterns when you find them, and do not adapt a pattern whose only payload is anger with nothing verifiable or useful under it.
- When the evidence is thin, the brief says so. A short honest brief with one solid pattern beats a long brief with six guesses.
No ratings yet — be the first to rate it.