Social media campaign analysis and performance tracking that calculates engagement rates, ROI, and cross-platform benchmarks. Use for analyzing social performance, calculating engagement rate, measuring campaign ROI, or comparing engagement across Instagram, Facebook, Twitter/X, LinkedIn, and TikTok.
Before analyzing, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Platform — Instagram, Facebook, Twitter/X, LinkedIn, or TikTok — selects the correct benchmark set for comparison
Post/campaign data — likes, comments, shares, saves, reach per post — required; reach must be unique users, not impressions
Ad spend — total spend for the period — determines whether ROI/CPE/ROAS is calculated
Analysis goal — full audit, top-performer patterns, ROI, or competitor comparison — focuses the output artifact
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Analysis Workflow
Analyze social media campaign performance:
Validate input data completeness (reach > 0, dates valid)
Calculate engagement metrics per post
Aggregate campaign-level metrics
Calculate ROI if ad spend provided
Compare against platform benchmarks
Identify top and bottom performers
Generate recommendations
Validation: Engagement rate < 100%, ROI matches spend data
Output format: Bottom Line first, then What (with confidence), Why, How to Act
Every finding tagged with confidence level: verified, medium confidence, or assumed
Related Skills
campaign-analytics: For cross-channel analytics including social alongside other channels.
content-creator: For creating social media content optimized by analysis findings.
marketing-demand-acquisition: For integrating social media into broader demand gen strategy.
marketing-strategy-pmm: For aligning social content with product marketing positioning.
Troubleshooting
Problem
Likely Cause
Solution
Engagement rate appears unrealistically high (>50%)
Reach value is too low relative to engagements, or reach/impressions data is swapped
Verify that reach represents unique users reached (not impressions). Engagement rate = (likes + comments + shares + saves) / reach. If using Instagram data from 2025+, note that Instagram shifted from "impressions" to "views" as primary metric -- ensure you are using the correct field
Platform name in input JSON does not match expected values
Use exact lowercase platform names: instagram, facebook, twitter, linkedin, tiktok. The analyzer matches against these exact strings
ROI calculation shows negative despite good engagement
Engagement value estimates are too conservative for your industry
The default engagement value model uses $0.50/like, $2.00/comment, $5.00/share, $3.00/save, $1.50/click. Adjust these values in calculate_metrics.py for your specific vertical. B2B companies typically have higher per-engagement values than B2C
TikTok metrics show low engagement compared to benchmarks
Using reach-based calculation on a platform where view-based metrics are standard
TikTok's 2026 benchmark engagement rate of 2.50-3.70% is calculated against views, not reach. Ensure your TikTok data uses video views in the reach field for accurate comparison. TikTok engagement rates rose 49% YoY in 2025
LinkedIn engagement appears lower than expected
Comparing against outdated benchmarks
LinkedIn's 2026 median engagement rate is approximately 3.85-6.1%, significantly higher than other platforms. Carousel/document posts earn the highest engagement (up to 21.77% median). If your rate is below 2%, focus on conversation-starting content rather than corporate announcements
Algorithm and metric definition changes in 2025-2026
Instagram shifted to "Views" as its primary metric across all formats (Reels, Stories, posts), replacing "Impressions" and "Plays." Carousel posts now earn the most engagement. Meta plans to replace reach with "Viewers" metric in Graph API by June 2026. Adapt your data collection accordingly
Campaign analysis has too few posts for reliable insights
Small sample size produces unreliable averages
Minimum 10 posts recommended for meaningful analysis. The analyze_performance.py script flags campaigns with fewer than 10 posts. For statistical reliability, aim for 30+ posts per analysis period
Click-Through Rate: Instagram >0.5% (good), Facebook >1.5% (good), LinkedIn >1.0% (good), TikTok >0.5% (good). Featured snippets and carousels drive highest CTR across platforms
Cost Per Click: Facebook <$0.50 (good), Instagram <$0.70 (good), LinkedIn <$3.00 (good, but averages $4-5+ for B2B), TikTok <$0.50 (good). LinkedIn CPC has risen 89% since 2023
ROI Threshold: Target minimum 200% ROI on paid social. Campaigns above 500% are excellent and should be scaled. Campaigns below 100% need immediate creative or targeting revision
Content Format Performance: Prioritize high-engagement formats per platform -- carousel/document posts on LinkedIn (21.77% median engagement), Reels on Instagram, short-form video on TikTok. Test at least 3 content formats per month
Posting Frequency: Maintain consistent posting cadence: LinkedIn 3-5x/week, Instagram 4-7x/week, TikTok 3-5x/week. The LinkedIn algorithm favors content that generates meaningful engagement in the first 90 minutes
Analysis Cadence: Run full performance analysis weekly for active campaigns. Compare month-over-month trends to identify growth or decline patterns. Update benchmark baselines quarterly as platform norms shift rapidly
Scope & Limitations
In Scope:
Post-level and campaign-level engagement metrics (engagement rate, CTR, reach rate, virality rate, save rate)
ROI calculation with engagement value estimates and cost efficiency metrics (CPE, CPC, CPM, ROAS)
Platform benchmark comparison for Instagram, Facebook, Twitter/X, LinkedIn, and TikTok
Top/bottom performer identification and ranking
Actionable recommendations based on benchmark assessment
Out of Scope:
Real-time API connections to social media platforms (scripts analyze static JSON data you export)
Social media scheduling, publishing, or content creation
Follower growth tracking or audience demographics analysis
Competitor social media monitoring (use dedicated social listening tools)
Influencer identification or collaboration management
Social commerce and shopping metrics
Video-specific analytics (watch time, completion rate, drop-off points)
Sentiment analysis on comments or mentions (use the app-store-optimization skill's review_analyzer for text sentiment)
Cross-platform identity resolution or deduplication
Platform API Changes (2025-2026):
Meta/Instagram is replacing "reach" with "Viewers" metric in Graph API by June 2026
Instagram shifted to "Views" as primary metric across all formats, replacing "Impressions" and "Plays"
TikTok tightened API access approval process in 2025
LinkedIn added AI-powered conversational search; algorithm now favors people-first content over polished corporate updates
Integration Points
Integration
Purpose
How to Connect
Meta Business Suite
Export Instagram and Facebook campaign data
Export post-level metrics (likes, comments, shares, reach, impressions, clicks) as JSON for calculate_metrics.py and analyze_performance.py. Note: "Views" is replacing "Impressions" in 2026
LinkedIn Campaign Manager
Export LinkedIn ad and organic performance data
Export engagement metrics per post. LinkedIn's native analytics now includes "Viewer" demographics and AI search visibility data
TikTok Business Center
Export TikTok campaign performance data
Export video-level metrics. Use video views as the reach equivalent for engagement rate calculation
Google Analytics 4 (GA4)
Track social traffic and conversions on your website
Connect social campaign UTM parameters to GA4 to measure downstream conversions. Use campaign-analytics skill for full attribution
campaign-analytics skill
Cross-channel ROI comparison
Feed social media ROI data into campaign_roi_calculator.py alongside other channels for unified portfolio analysis
content-creator skill
Content optimization based on performance data
Use top-performing post analysis to inform content strategy. Apply brand_voice_analyzer.py to ensure social content matches brand voice
marketing-demand-acquisition skill
Social as demand gen channel
Integrate social performance data into demand gen channel mix evaluation. Use CAC data from social alongside other acquisition channels
Built-in Benchmarks: Engagement rate and CTR benchmarks for facebook, instagram, twitter, linkedin, tiktok.
Key Methods:
Method
Parameters
Returns
benchmark_performance()
None
Dict with engagement_status, engagement_benchmark, engagement_actual, ctr_status, ctr_benchmark, ctr_actual. Status values: excellent (>=1.5x benchmark), good (>=benchmark), below_average
generate_recommendations()
None
List of actionable recommendation strings based on engagement rate, CTR, CPC, ROI, and post volume thresholds
generate_insights()
None
Dict with overall_health (excellent/good/needs_improvement), benchmark_comparison, recommendations, key_strengths, areas_for_improvement
Credits
Mirrored from the open-source Claude Skills Library
(marketing/social-media-analyzer) by Amin Borghei (borghei),
licensed MIT + Commons Clause (redistribution allowed; selling the software
is not — see NOTICE.md). All credit for the metrics logic, ROI model, and
platform benchmarks belongs to the upstream author. Packaged for this collection
with no changes beyond this note.
1---2name: social-media-analyzer3description: Social media campaign analysis and performance tracking that calculates engagement rates, ROI, and cross-platform benchmarks. Use for analyzing social performance, calculating engagement rate, measuring campaign ROI, or comparing engagement across Instagram, Facebook, Twitter/X, LinkedIn, and TikTok.4license: MIT + Commons Clause5---67# Social Media Analyzer89Campaign performance analysis with engagement metrics, ROI calculations, and platform benchmarks.1011---1213## Table of Contents1415- [Analysis Workflow](#analysis-workflow)16- [Engagement Metrics](#engagement-metrics)17- [ROI Calculation](#roi-calculation)18- [Platform Benchmarks](#platform-benchmarks)19- [Tools](#tools)20- [Examples](#examples)2122---2324## Clarify First2526Before analyzing, confirm these inputs. If any is unknown or vague, ASK — do not assume:2728- [ ] **Platform** — Instagram, Facebook, Twitter/X, LinkedIn, or TikTok — selects the correct benchmark set for comparison29- [ ] **Post/campaign data** — likes, comments, shares, saves, reach per post — required; reach must be unique users, not impressions30- [ ] **Ad spend** — total spend for the period — determines whether ROI/CPE/ROAS is calculated31- [ ] **Analysis goal** — full audit, top-performer patterns, ROI, or competitor comparison — focuses the output artifact3233Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.3435## Analysis Workflow3637Analyze social media campaign performance:38391. Validate input data completeness (reach > 0, dates valid)402. Calculate engagement metrics per post413. Aggregate campaign-level metrics424. Calculate ROI if ad spend provided435. Compare against platform benchmarks446. Identify top and bottom performers457. Generate recommendations468. **Validation:** Engagement rate < 100%, ROI matches spend data4748### Input Requirements4950| Field | Required | Description |51|-------|----------|-------------|52| platform | Yes | instagram, facebook, twitter, linkedin, tiktok |53| posts[] | Yes | Array of post data |54| posts[].likes | Yes | Like/reaction count |55| posts[].comments | Yes | Comment count |56| posts[].reach | Yes | Unique users reached |57| posts[].impressions | No | Total views |58| posts[].shares | No | Share/retweet count |59| posts[].saves | No | Save/bookmark count |60| posts[].clicks | No | Link clicks |61| total_spend | No | Ad spend (for ROI) |6263### Data Validation Checks6465Before analysis, verify:6667- [ ] Reach > 0 for all posts (avoid division by zero)68- [ ] Engagement counts are non-negative69- [ ] Date range is valid (start < end)70- [ ] Platform is recognized71- [ ] Spend > 0 if ROI requested7273---7475## Engagement Metrics7677### Engagement Rate Calculation7879```80Engagement Rate = (Likes + Comments + Shares + Saves) / Reach × 10081```8283### Metric Definitions8485| Metric | Formula | Interpretation |86|--------|---------|----------------|87| Engagement Rate | Engagements / Reach × 100 | Audience interaction level |88| CTR | Clicks / Impressions × 100 | Content click appeal |89| Reach Rate | Reach / Followers × 100 | Content distribution |90| Virality Rate | Shares / Impressions × 100 | Share-worthiness |91| Save Rate | Saves / Reach × 100 | Content value |9293### Performance Categories9495| Rating | Engagement Rate | Action |96|--------|-----------------|--------|97| Excellent | > 6% | Scale and replicate |98| Good | 3-6% | Optimize and expand |99| Average | 1-3% | Test improvements |100| Poor | < 1% | Analyze and pivot |101102---103104## ROI Calculation105106Calculate return on ad spend:1071081. Sum total engagements across posts1092. Calculate cost per engagement (CPE)1103. Calculate cost per click (CPC) if clicks available1114. Estimate engagement value using benchmark rates1125. Calculate ROI percentage1136. **Validation:** ROI = (Value - Spend) / Spend × 100114115### ROI Formulas116117| Metric | Formula |118|--------|---------|119| Cost Per Engagement (CPE) | Total Spend / Total Engagements |120| Cost Per Click (CPC) | Total Spend / Total Clicks |121| Cost Per Thousand (CPM) | (Spend / Impressions) × 1000 |122| Return on Ad Spend (ROAS) | Revenue / Ad Spend |123124### Engagement Value Estimates125126| Action | Value | Rationale |127|--------|-------|-----------|128| Like | $0.50 | Brand awareness |129| Comment | $2.00 | Active engagement |130| Share | $5.00 | Amplification |131| Save | $3.00 | Intent signal |132| Click | $1.50 | Traffic value |133134### ROI Interpretation135136| ROI % | Rating | Recommendation |137|-------|--------|----------------|138| > 500% | Excellent | Scale budget significantly |139| 200-500% | Good | Increase budget moderately |140| 100-200% | Acceptable | Optimize before scaling |141| 0-100% | Break-even | Review targeting and creative |142| < 0% | Negative | Pause and restructure |143144---145146## Platform Benchmarks147148### Engagement Rate by Platform149150| Platform | Average | Good | Excellent |151|----------|---------|------|-----------|152| Instagram | 1.22% | 3-6% | >6% |153| Facebook | 0.07% | 0.5-1% | >1% |154| Twitter/X | 0.05% | 0.1-0.5% | >0.5% |155| LinkedIn | 2.0% | 3-5% | >5% |156| TikTok | 5.96% | 8-15% | >15% |157158### CTR by Platform159160| Platform | Average | Good | Excellent |161|----------|---------|------|-----------|162| Instagram | 0.22% | 0.5-1% | >1% |163| Facebook | 0.90% | 1.5-2.5% | >2.5% |164| LinkedIn | 0.44% | 1-2% | >2% |165| TikTok | 0.30% | 0.5-1% | >1% |166167### CPC by Platform168169| Platform | Average | Good |170|----------|---------|------|171| Facebook | $0.97 | <$0.50 |172| Instagram | $1.20 | <$0.70 |173| LinkedIn | $5.26 | <$3.00 |174| TikTok | $1.00 | <$0.50 |175176See `references/platform-benchmarks.md` for complete benchmark data.177178---179180## Tools181182### Calculate Metrics183184```bash185python scripts/calculate_metrics.py assets/sample_input.json186```187188Calculates engagement rate, CTR, reach rate for each post and campaign totals.189190### Analyze Performance191192```bash193python scripts/analyze_performance.py assets/sample_input.json194```195196Generates full performance analysis with ROI, benchmarks, and recommendations.197198**Output includes:**199- Campaign-level metrics200- Post-by-post breakdown201- Benchmark comparisons202- Top performers ranked203- Actionable recommendations204205---206207## Examples208209### Sample Input210211See `assets/sample_input.json`:212213```json214{215 "platform": "instagram",216 "total_spend": 500,217 "posts": [218 {219 "post_id": "post_001",220 "content_type": "image",221 "likes": 342,222 "comments": 28,223 "shares": 15,224 "saves": 45,225 "reach": 5200,226 "impressions": 8500,227 "clicks": 120228 }229 ]230}231```232233### Sample Output234235See `assets/expected_output.json`:236237```json238{239 "campaign_metrics": {240 "total_engagements": 1521,241 "avg_engagement_rate": 8.36,242 "ctr": 1.55243 },244 "roi_metrics": {245 "total_spend": 500.0,246 "cost_per_engagement": 0.33,247 "roi_percentage": 660.5248 },249 "insights": {250 "overall_health": "excellent",251 "benchmark_comparison": {252 "engagement_status": "excellent",253 "engagement_benchmark": "1.22%",254 "engagement_actual": "8.36%"255 }256 }257}258```259260### Interpretation261262The sample campaign shows:263- **Engagement rate 8.36%** vs 1.22% benchmark = Excellent (6.8x above average)264- **CTR 1.55%** vs 0.22% benchmark = Excellent (7x above average)265- **ROI 660%** = Outstanding return on $500 spend266- **Recommendation:** Scale budget, replicate successful elements267268---269270## Reference Documentation271272### Platform Benchmarks273274`references/platform-benchmarks.md` contains:275276- Engagement rate benchmarks by platform and industry277- CTR benchmarks for organic and paid content278- Cost benchmarks (CPC, CPM, CPE)279- Content type performance by platform280- Optimal posting times and frequency281- ROI calculation formulas282283## Proactive Triggers284285- **Engagement rate below platform average** -- Content isn't resonating. Analyze top performers for patterns to replicate.286- **Follower growth stalled** -- Content distribution or frequency issue. Audit posting patterns and content mix.287- **High impressions, low engagement** -- Reach without resonance. Content quality or relevance issue needs addressing.288- **Competitor outperforming significantly** -- Content gap detected. Analyze their successful posts for format and topic insights.289290## Output Artifacts291292| When you ask for... | You get... |293|---------------------|------------|294| "Social media audit" | Performance analysis across platforms with benchmarks |295| "What's performing?" | Top content analysis with patterns and recommendations |296| "Competitor social analysis" | Competitive social media comparison with gaps |297| "Campaign ROI" | Full ROI calculation with engagement value estimates |298299## Communication300301All output passes quality verification:302- Self-verify: source attribution, assumption audit, confidence scoring303- Output format: Bottom Line first, then What (with confidence), Why, How to Act304- Every finding tagged with confidence level: verified, medium confidence, or assumed305306## Related Skills307308- **campaign-analytics**: For cross-channel analytics including social alongside other channels.309- **content-creator**: For creating social media content optimized by analysis findings.310- **marketing-demand-acquisition**: For integrating social media into broader demand gen strategy.311- **marketing-strategy-pmm**: For aligning social content with product marketing positioning.312313---314315## Troubleshooting316317| Problem | Likely Cause | Solution |318|---------|-------------|----------|319| Engagement rate appears unrealistically high (>50%) | Reach value is too low relative to engagements, or reach/impressions data is swapped | Verify that `reach` represents unique users reached (not impressions). Engagement rate = (likes + comments + shares + saves) / reach. If using Instagram data from 2025+, note that Instagram shifted from "impressions" to "views" as primary metric -- ensure you are using the correct field |320| Benchmark comparison shows "no_benchmark_available" | Platform name in input JSON does not match expected values | Use exact lowercase platform names: `instagram`, `facebook`, `twitter`, `linkedin`, `tiktok`. The analyzer matches against these exact strings |321| ROI calculation shows negative despite good engagement | Engagement value estimates are too conservative for your industry | The default engagement value model uses $0.50/like, $2.00/comment, $5.00/share, $3.00/save, $1.50/click. Adjust these values in `calculate_metrics.py` for your specific vertical. B2B companies typically have higher per-engagement values than B2C |322| TikTok metrics show low engagement compared to benchmarks | Using reach-based calculation on a platform where view-based metrics are standard | TikTok's 2026 benchmark engagement rate of 2.50-3.70% is calculated against views, not reach. Ensure your TikTok data uses video views in the `reach` field for accurate comparison. TikTok engagement rates rose 49% YoY in 2025 |323| LinkedIn engagement appears lower than expected | Comparing against outdated benchmarks | LinkedIn's 2026 median engagement rate is approximately 3.85-6.1%, significantly higher than other platforms. Carousel/document posts earn the highest engagement (up to 21.77% median). If your rate is below 2%, focus on conversation-starting content rather than corporate announcements |324| Instagram metrics declining despite consistent content quality | Algorithm and metric definition changes in 2025-2026 | Instagram shifted to "Views" as its primary metric across all formats (Reels, Stories, posts), replacing "Impressions" and "Plays." Carousel posts now earn the most engagement. Meta plans to replace reach with "Viewers" metric in Graph API by June 2026. Adapt your data collection accordingly |325| Campaign analysis has too few posts for reliable insights | Small sample size produces unreliable averages | Minimum 10 posts recommended for meaningful analysis. The `analyze_performance.py` script flags campaigns with fewer than 10 posts. For statistical reliability, aim for 30+ posts per analysis period |326327---328329## Success Criteria330331- **Engagement Rate by Platform (2026 benchmarks)**: Instagram 0.50-0.70% (average), 3-6% (good), >6% (excellent). Facebook 0.06-0.09% (average), 0.5-1% (good). LinkedIn 3.85-6.1% (average), >6% (good). TikTok 2.50-3.70% (average), 8-15% (good), >15% (excellent). Twitter/X 0.03-0.05% (average), 0.1-0.5% (good)332- **Click-Through Rate**: Instagram >0.5% (good), Facebook >1.5% (good), LinkedIn >1.0% (good), TikTok >0.5% (good). Featured snippets and carousels drive highest CTR across platforms333- **Cost Per Click**: Facebook <$0.50 (good), Instagram <$0.70 (good), LinkedIn <$3.00 (good, but averages $4-5+ for B2B), TikTok <$0.50 (good). LinkedIn CPC has risen 89% since 2023334- **ROI Threshold**: Target minimum 200% ROI on paid social. Campaigns above 500% are excellent and should be scaled. Campaigns below 100% need immediate creative or targeting revision335- **Content Format Performance**: Prioritize high-engagement formats per platform -- carousel/document posts on LinkedIn (21.77% median engagement), Reels on Instagram, short-form video on TikTok. Test at least 3 content formats per month336- **Posting Frequency**: Maintain consistent posting cadence: LinkedIn 3-5x/week, Instagram 4-7x/week, TikTok 3-5x/week. The LinkedIn algorithm favors content that generates meaningful engagement in the first 90 minutes337- **Analysis Cadence**: Run full performance analysis weekly for active campaigns. Compare month-over-month trends to identify growth or decline patterns. Update benchmark baselines quarterly as platform norms shift rapidly338339---340341## Scope & Limitations342343**In Scope:**344- Post-level and campaign-level engagement metrics (engagement rate, CTR, reach rate, virality rate, save rate)345- ROI calculation with engagement value estimates and cost efficiency metrics (CPE, CPC, CPM, ROAS)346- Platform benchmark comparison for Instagram, Facebook, Twitter/X, LinkedIn, and TikTok347- Top/bottom performer identification and ranking348- Actionable recommendations based on benchmark assessment349350**Out of Scope:**351- Real-time API connections to social media platforms (scripts analyze static JSON data you export)352- Social media scheduling, publishing, or content creation353- Follower growth tracking or audience demographics analysis354- Competitor social media monitoring (use dedicated social listening tools)355- Influencer identification or collaboration management356- Social commerce and shopping metrics357- Video-specific analytics (watch time, completion rate, drop-off points)358- Sentiment analysis on comments or mentions (use the app-store-optimization skill's review_analyzer for text sentiment)359- Cross-platform identity resolution or deduplication360361**Platform API Changes (2025-2026):**362- Meta/Instagram is replacing "reach" with "Viewers" metric in Graph API by June 2026363- Instagram shifted to "Views" as primary metric across all formats, replacing "Impressions" and "Plays"364- TikTok tightened API access approval process in 2025365- LinkedIn added AI-powered conversational search; algorithm now favors people-first content over polished corporate updates366367---368369## Integration Points370371| Integration | Purpose | How to Connect |372|-------------|---------|----------------|373| **Meta Business Suite** | Export Instagram and Facebook campaign data | Export post-level metrics (likes, comments, shares, reach, impressions, clicks) as JSON for `calculate_metrics.py` and `analyze_performance.py`. Note: "Views" is replacing "Impressions" in 2026 |374| **LinkedIn Campaign Manager** | Export LinkedIn ad and organic performance data | Export engagement metrics per post. LinkedIn's native analytics now includes "Viewer" demographics and AI search visibility data |375| **TikTok Business Center** | Export TikTok campaign performance data | Export video-level metrics. Use video views as the reach equivalent for engagement rate calculation |376| **Google Analytics 4 (GA4)** | Track social traffic and conversions on your website | Connect social campaign UTM parameters to GA4 to measure downstream conversions. Use `campaign-analytics` skill for full attribution |377| **campaign-analytics skill** | Cross-channel ROI comparison | Feed social media ROI data into `campaign_roi_calculator.py` alongside other channels for unified portfolio analysis |378| **content-creator skill** | Content optimization based on performance data | Use top-performing post analysis to inform content strategy. Apply `brand_voice_analyzer.py` to ensure social content matches brand voice |379| **marketing-demand-acquisition skill** | Social as demand gen channel | Integrate social performance data into demand gen channel mix evaluation. Use CAC data from social alongside other acquisition channels |380381---382383## Tool Reference384385### calculate_metrics.py386387**Type:** Python library (imported, not CLI)388389**Classes:**390- `SocialMediaMetricsCalculator(campaign_data: Dict)`391392**Constructor Input:** `{"platform": "instagram", "total_spend": 500, "posts": [{"post_id": "str", "content_type": "str", "likes": int, "comments": int, "shares": int, "saves": int, "reach": int, "impressions": int, "clicks": int}]}`393394**Key Methods:**395396| Method | Parameters | Returns |397|--------|-----------|---------|398| `calculate_engagement_rate()` | `post: Dict` (likes, comments, shares, saves, reach) | Engagement rate as percentage (float). Formula: (likes + comments + shares + saves) / reach * 100 |399| `calculate_ctr()` | `clicks: int`, `impressions: int` | CTR as percentage (float) |400| `calculate_campaign_metrics()` | None (uses constructor data) | Dict with platform, total_posts, total_engagements, total_reach, total_impressions, total_clicks, avg_engagement_rate, ctr |401| `calculate_roi_metrics()` | None (uses constructor data) | Dict with total_spend, cost_per_engagement, cost_per_click, estimated_value (at $2.50/engagement default), roi_percentage |402| `identify_top_posts()` | `metric: str = 'engagement_rate'`, `limit: int = 5` | Sorted list of top posts by specified metric. Supported metrics: `engagement_rate`, `likes`, `comments`, `shares`, `clicks` |403| `analyze_all()` | None | Combined dict of campaign_metrics, roi_metrics, and top_posts |404405### analyze_performance.py406407**Type:** Python library (imported, not CLI)408409**Classes:**410- `PerformanceAnalyzer(campaign_metrics: Dict, roi_metrics: Dict)`411412**Built-in Benchmarks:** Engagement rate and CTR benchmarks for `facebook`, `instagram`, `twitter`, `linkedin`, `tiktok`.413414**Key Methods:**415416| Method | Parameters | Returns |417|--------|-----------|---------|418| `benchmark_performance()` | None | Dict with engagement_status, engagement_benchmark, engagement_actual, ctr_status, ctr_benchmark, ctr_actual. Status values: `excellent` (>=1.5x benchmark), `good` (>=benchmark), `below_average` |419| `generate_recommendations()` | None | List of actionable recommendation strings based on engagement rate, CTR, CPC, ROI, and post volume thresholds |420| `generate_insights()` | None | Dict with overall_health (`excellent`/`good`/`needs_improvement`), benchmark_comparison, recommendations, key_strengths, areas_for_improvement |421422---423424## Credits425426Mirrored from the open-source **[Claude Skills Library](https://github.com/borghei/Claude-Skills)**427(`marketing/social-media-analyzer`) by **Amin Borghei ([borghei](https://github.com/borghei))**,428licensed **MIT + Commons Clause** (redistribution allowed; *selling* the software429is not — see `NOTICE.md`). All credit for the metrics logic, ROI model, and430platform benchmarks belongs to the upstream author. Packaged for this collection431with no changes beyond this note.
Run npx skillmds@latest add l3ad3r1/social-media-analyzer in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Social media campaign analysis and performance tracking that calculates engagement rates, ROI, and cross-platform benchmarks. Use for analyzing social performance, calculating engagement rate, measuring campaign ROI, or comparing engagement across Instagram, Facebook, Twitter/X, LinkedIn, and TikTok. It is listed under Marketing & Growth on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT + Commons Clause.
l3ad3r1 (@l3ad3r1) published this skill. Their other Agent Skills are listed on their SkillMD profile.