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.
Turn this page into a campaign built for your brand.
Connect Superdirector to ChatGPT and it adds current social-video references, public-video analysis, Brand DNA, and a ready-to-send campaign brief.
By Bell Chen, founder of Superdirector — how the analysis works.
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 21, 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 signal he flags as slightly more important for unconnected content. 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
- 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.
- 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 labeled spreadsheet, six fields per post.
- 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.
- 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.
- 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 in this worked example; the real number comes from your own Step 3 grid, not from a published benchmark); revert if it is below 0.45% at the June 18 checkpoint. Three hypotheses per quarter is the ceiling; the fourth cannibalizes 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 labeled, 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 honor 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 analyzed. 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 honor 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.
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.
Frequently asked questions
How often should I run a deep competitor analysis?
Should I include competitors smaller than my own brand?
Is it okay to copy the format a competitor is winning with?
What tools should I use to pull competitor data?
How do I analyse competitor content where saves and sends are not public?
My competitors post inconsistently across different time periods. Does that break the analysis?
What is the single highest-leverage upgrade to most competitor analyses?
Get a campaign brief built for your brand in 30 seconds
Turn a competitor cluster grid into content briefs with brand-profile analysis