How-To Guide

How to Analyze Competitor Social Media Content

The competitor content analysis procedure senior strategists run instead of scrolling and screenshotting. Anchored to Lia Haberman's cluster judgment, the two-numbers rule, Adam Mosseri's January 2025 ranking framework, and Buffer's 2026 engagement data. Includes the five-competitor selection rule, the hook-and-signal grid, and the gap-to-hypothesis pipeline.

12 min read
Superdirector for ChatGPT

Turn this page into live Superdirector work.

Ask from ChatGPT and let Superdirector add current social-video references, public-video analysis, Brand DNA, and campaign briefs on top of this static page.

ChatGPT connectorCurrent reference searchVideo + brand analysisBriefs inside your account

By Bell Chen, founder. Last updated May 24, 2026.

Lia Haberman, who writes the ICYMI newsletter (liahaberman.substack.com) to creator-economy operators and teaches at UCLA Extension, has a working method that splits competitor analysis from the version most social media managers ship to a leadership meeting. The move, in Haberman's frame, is to find the two posts a competitor ran that worked for the same reason and name that reason, not to rank thirty competitor posts by engagement rate and call the spreadsheet an audit. The default version (scroll the feed, screenshot the high-view posts, label them video, carousel, static, and conclude they post more Reels than we do) produces no decision. It produces a calendar shuffle dressed up as strategy.

This page is the procedure for replacing that scroll-and-screenshot ritual with a cluster-first framework: select five real competitors, grid their last thirty posts by hook structure and platform-rewarded signal, identify the two formats that beat their own median by three times, and convert the gap into one falsifiable hypothesis per cluster for the next thirty days of your own calendar. It is the procedure I use on the small B2B product account I operate, and a structurally similar version is what I have watched senior in-house analysts and agency strategists run on retainer brands in 2026.

What You'll Need

  • Five competitors selected on audience overlap, not company size
  • Access to the last 30 posts for each competitor (platform pages or a public-counts tool)
  • A spreadsheet for the six-field per-post label set

Time: 2 to 3 hours for the initial five-competitor analysis, then 30 to 45 minutes per quarter

What competitor analysis actually requires in 2026

The thing most competitor-analysis pages get wrong is treating it as a benchmarking problem. It is not. It is a clustering problem followed by a gap-identification problem. The benchmarks (their follower count, their engagement rate, their posting frequency) live in the appendix; the cluster signal lives in what their winning posts share and what their losing posts share.

The platform-side ranking signals are public. Adam Mosseri's January 8, 2025 Reel on @mosseri (instagram.com) named the three Reels ranking signals as "Watch time, likes per reach, and sends per reach," per Mosseri, with sends per reach the load-bearing signal for unconnected reach. A competitor's reach number is interpretable only as the output of how their content exercises those three signals: tutorial-heavy content over-indexes on watch time and saves; commentary-heavy content over-indexes on sends.

The reach baseline has collapsed for everyone. Median engagement rates have fallen sharply year-over-year across platforms, and Reels reach has compressed alongside them. A competitor whose engagement looks flat year-over-year is actually outperforming the baseline. The metric reads only in relative terms against the cluster they belong to.

The work is judgment, not scraping. Sprout Social, Phlanx, Social Insider, and the Meta Ad Library can return per-post data at scale, but they cluster by surface features (hashtag, format, length) because those are the fields the API returns. The cluster signal lives in the first three seconds of the video and in the hook structure of the caption, neither of which the API surfaces cleanly. The tool returns the raw posts; the analyst does the clustering by hand, and the hand-labeling is the entire competitive advantage.

Step by step

  1. 01

    Step 1. Select 5 competitors using the audience-overlap rule, not company size (30 minutes)

    The algorithm does not care about your competitor's company size; it cares about whether your audiences overlap on the recommendation graph. The working rule is two direct competitors (same product category, same buyer), two aspirational competitors (where you want your account to be in 12 months, regardless of their current size), and one adjacent-niche competitor (different product, same audience). The mix produces a comparison spread the same-size-only selection cannot.

    Deliverable

    A named list of five competitors tagged direct, aspirational, or adjacent, with the overlap rationale per pick.

  2. 02

    Step 2. Pull the metric set for the last 30 posts per competitor (45 minutes)

    Five competitors at 30 posts each is 150 posts, the right ceiling for a clean cluster signal. Record six fields per post: format (Reel, carousel, static); hook type (named-number, named-person, contrarian, question, trend-audio, demo-as-hook); topic cluster (3 to 5 buckets specific to the competitor); the readable Mosseri-signal proxy (likes-per-view for likes-per-reach; comment count as a noisy proxy for sends; saves-by-inference where engagement runs far above view count); visible production effort; and the inferred CTA. The source is the platform itself plus, for Instagram, a public-counts tool. Avoid the platform's trending view; it is an output of distribution, not a signal of what works inside the cluster mix.

    Deliverable

    A 150-row labelled spreadsheet, six fields per post.

  3. 03

    Step 3. Build the cluster grid and identify the 3x outliers (45 minutes)

    Grid the 30 posts per competitor side by side, label them along the six axes, and look for the cluster shape. A cluster is a winner if its median intent-metric proxy beats the competitor's own overall median by 3 times; a loser if it falls 3 times below. The 3x threshold is harsher than the standard top-20-percent filter on purpose: the lift you can adapt is in the 3x outliers, not in the merely-above-average. Do the clustering by hand; a model will cluster by surface features (hashtag, emoji density, word count) rather than by hook structure or signal type.

    Deliverable

    A per-competitor cluster grid naming one or two winning clusters and one or two losing clusters.

  4. 04

    Step 4. Read the gaps against your own cluster grid (30 minutes)

    Lay your own last-30-day cluster grid next to the five competitor grids. Three gap types matter. The signal gap is the Mosseri signal your calendar under-exercises relative to the competitor mix. The hook-structure gap is the hook type that appears in competitor winning clusters but not in yours. The audience-conversation gap is what the top 20 comments on a competitor's 3x-outlier post reveal that none of them is fully answering in their content; that fifteen minutes of reading is the highest-leverage step in the procedure, because it names your differentiation surface.

    Deliverable

    Three named gaps: one signal gap, one hook-structure gap, one audience-conversation gap.

  5. 05

    Step 5. Convert each gap into one falsifiable hypothesis for the next 30 days (30 minutes)

    The hypothesis is the output. It has three required components: the specific change, the metric you expect to move, and the kill criterion that tells you the test failed. A working hypothesis reads: run a 4-post commentary cluster in weeks 2 and 3 of June, each opening with a named-number hook in the first 2 seconds; expect sends per reach to move from 0.31% to at least 0.65% (the competitor commentary-cluster median); revert if it is below 0.45% at the June 18 checkpoint. Three hypotheses per quarter is the ceiling; the fourth cannibalises the first three. (Superdirector's brand-profile feed will surface candidate competitor cluster patterns and the hook-by-signal mapping if you would rather not derive them by hand; one option among several, alongside the Modash (modash.io) and HypeAuditor (hypeauditor.com) exports plus a spreadsheet.)

    Deliverable

    Up to three hypotheses, each with a specific change, an expected metric move, and a dated kill criterion.

What to expect in week 1, 4, and 12

Week 1. The competitor selection is locked, the 150 posts are labelled, and the three hypotheses for the next 30 days are written. The cluster work usually feels slower than expected (3 hours rather than the 2-hour target) and the hypotheses feel uncomfortably specific. The discomfort is correct; specific, testable hypotheses always feel more exposed than vague conclusions.

Week 4. Four weeks of test data is enough to read whether the gap-closing bets are working. Typically one hypothesis is clearly winning, one is flat, and one is failing the kill criterion. The discipline is to honour the kill criterion; the analyst who keeps a failing hypothesis running because it might still recover is the analyst whose calendar is back to its pre-analysis shape inside two months.

Week 12. Three months across one deep pass plus one or two light quarterly updates is enough to make structural calendar decisions. Typically the account has imported two structural elements from the competitor winning clusters (a hook type and a signal target) into its own pillar mix, and reach sits 20 to 40 percent above the pre-analysis baseline, concentrated in the cluster that closed the largest signal gap.

Where this typically breaks

The selection is the biggest accounts in our niche. Picking five competitors with similar follower counts produces a peer set the algorithm does not treat as your peer set. The fix is the audience-overlap rule from Step 1: pick on demographic and intent overlap, not company size.

The clustering happens at the format level, never deeper. Grouping posts as Reels, carousels, static produces the they post more Reels non-answer regardless of which competitor you analysed. The fix is the Step 3 cluster grid: pair format with hook structure and topic to produce a real cluster signal.

The analysis becomes a screenshot collection. Forty screenshots in a Notion database is not the competitor research; months pass, the database grows, no decision ships. The fix is the Step 5 hypothesis output: every quarterly analysis terminates in three hypotheses with kill criteria, or it was incomplete.

The quarterly never gets re-run. The first analysis is thorough; the second is next month; the third never happens. The fix is calendaring the 30-to-45-minute quarterly update to refresh the 30-post pull and re-read the cluster grid before the gap reads go stale.

Metrics to track

Cluster lift versus the competitor's own median. The 3x threshold is the winner/loser line; it is what makes a cluster actionable rather than merely above average.

Your signal gap, named in Mosseri terms. Which of watch time, likes per reach, or sends per reach your calendar under-exercises relative to the competitor mix.

Sends per reach on the cluster you are closing the gap on. The competitor commentary-cluster median around 0.6 to 0.9% is the realistic target band; read your own baseline first.

Hypothesis kill-criterion adherence. Binary per hypothesis: did you honour the dated kill criterion, or did the failing test keep running? Skipping the kill criterion is the single largest predictor of a calendar that reverts to its pre-analysis shape.

Where a planning-first tool fits

The procedure runs in a spreadsheet plus a printed-out cluster grid plus a screen-recorded pass through the five competitor accounts. None of those steps require a tool. The places a tool earns its slot are bookkeeping-heavy: pulling the 30-post-per-competitor data without manual scrolling, scoring the hook structures and topic clusters against your brand's profile, and turning the gap analysis into a draft hypothesis your calendar can act on. A planning-first tool that takes the cluster grid as input and outputs candidate content briefs against the named gaps is one option among several, alongside a spreadsheet plus a hand-drawn grid plus a Notion document. The methodology is what matters; the tooling is the speed dial on the methodology.

Disclosure by Bell Chen, founder of Superdirector: the brand-profile and hook-analysis features mentioned in this piece are part of the product I build. The procedure on this page is platform-agnostic and the tool choice is a workflow preference, not a quality requirement. The Vespera Skin worked example used in the source draft is a fictional composite, calibrated against the 2026 cross-brand benchmarks from Buffer, Metricool, and Sprout Social cited in the body; numbers in it are illustrative, not extracted from a single real brand.

Frequently asked questions

How often should I run a deep competitor analysis?

Quarterly for the deep version (2 to 3 hours, all five competitors, full cluster grid), monthly for the light version (30 minutes, scan for new winning clusters and confirm the existing gap reads still hold). The Sprout Social Index 2025 reported that 58% of marketing leaders prefer monthly reporting, but the monthly cadence is the right cadence for the report, not for the analysis itself.

Should I include competitors smaller than my own brand?

Yes, if their audience overlaps with yours on the recommendation graph. The audience-overlap rule ignores follower-count comparability. A creator-led account with 8,000 followers whose audience is your exact ICP is a more useful competitor than a 200,000-follower brand whose audience is demographically different.

Is it okay to copy the format a competitor is winning with?

Adapting validated formats and topics is standard practice; copying specific creative execution is not. Tucker's brand-twist rule applies: import the structural element (the hook type, the cut cadence, the on-screen pattern) and pair it with a brand-specific twist your competitors cannot run.

What tools should I use to pull competitor data?

Native platform analytics are the first source for whatever public counts the platforms surface. Tools like Modash, HypeAuditor, Phlanx, Social Insider, and Sprout Social return more comprehensive per-post historical data, but the cluster judgment still happens by hand after the data is pulled. Pick one tool for the data pull and run it for at least one full quarter before switching.

How do I analyse competitor content where saves and sends are not public?

Use proxies. On Instagram, sends and saves are not public, but posts whose engagement count is unusually high relative to view count are typically save-driven. On TikTok, shares-per-view is more readable from public counts. On LinkedIn, reposts are public. The proxy reads are noisier but consistent enough to surface the cluster signal.

My competitors post inconsistently across different time periods. Does that break the analysis?

Not if you note the date range per competitor and treat the cluster signal as the output, not the calendar comparison. A competitor who posted 30 times in 6 weeks and another who posted 30 times in 12 weeks both produce a readable cluster grid. The comparison is the cluster shape, not the posting cadence.

What is the single highest-leverage upgrade to most competitor analyses?

Replacing the rank-by-engagement view with the cluster grid plus the gap-to-hypothesis output. The change in the next quarter's calendar is large because the analysis now terminates in a specific test rather than a general conclusion.

Get a concrete campaign artifact in 30 seconds

Turn a competitor cluster grid into content briefs with brand-profile analysis

More Guides

Related Content