# Performance Analysis **Skill:** `/performance-analysis ` **Type:** Claude Code skill (manual analysis pattern) **APIs:** HeyReach (LinkedIn campaigns), SmartLead (email campaigns) --- ## What It Does Performs a deep-dive analysis of a customer's outbound campaign performance across all channels. It pulls raw campaign data, segments it by campaign type, sender profile, and messaging angle, then identifies what is working, what is underperforming, and why. The output is a structured analysis with specific, actionable recommendations. This skill was developed from real analysis work -- one engagement involved analyzing 12,404 LinkedIn connection requests across 8 campaigns to diagnose a 17% acceptance rate and identify the path to improvement. --- ## How It Works ``` /performance-analysis | v +---------------------------+ | Read customer profile | | (ICP, campaigns, senders) | +-------------+-------------+ | v +---------------------------+ | Pull campaign data from | | HeyReach and/or SmartLead | +-------------+-------------+ | v +----------------------------------------------+ | ANALYSIS ENGINE | | | | 1. Aggregate: total volume, rates, trends | | 2. Segment by campaign / angle / sender | | 3. Rank: best and worst performers | | 4. Diagnose: why underperformers fail | | 5. Cross-reference: copy vs. results | +----------------------------------------------+ | v +---------------------------+ | Generate analysis: | | - Overall summary | | - Per-campaign stats | | - Top performers | | - Underperformers + why | | - Recommendations | +---------------------------+ ``` --- ## Usage ```bash # Full performance analysis for a customer /performance-analysis acme # The skill reads from: # customers/acme/profile.md # customers/acme/campaigns/active/ # HeyReach API (LinkedIn campaign data) # SmartLead API (email campaign data) ``` --- ## Analysis Dimensions The skill analyzes performance across multiple dimensions: | Dimension | What It Reveals | |-----------|-----------------| | **By campaign** | Which pain-point angles or themes resonate | | **By sender** | Which sender profiles get better acceptance/reply rates | | **By channel** | LinkedIn vs email performance comparison | | **By sequence step** | Where in the sequence engagement drops off | | **By segment** | Which ICP segments respond best | | **By time** | Week-over-week trends, day-of-week patterns | --- ## Example Output (Sanitized) This is the kind of analysis the skill produces, based on a real engagement with details changed: ```markdown # Performance Analysis: Acme Corp **Data Period:** Jan 6 - Feb 14, 2026 **Total Volume:** 12,404 connection requests sent --- ## Overall Summary | Metric | Value | |--------|-------| | Connection Requests Sent | 12,404 | | Accepted | 2,109 | | Acceptance Rate | 17.0% | | Replies | 487 | | Reply Rate (of accepted) | 23.1% | | Positive Replies | 89 | | Positive Reply Rate | 18.3% | | Meetings Booked | 12 | --- ## Per-Campaign Breakdown | Campaign | Sent | Accepted | Accept % | Replies | Reply % | Positive | |----------|------|----------|----------|---------|---------|----------| | Pain Point A | 3,210 | 642 | 20.0% | 148 | 23.1% | 31 | | Pain Point B | 2,890 | 520 | 18.0% | 115 | 22.1% | 22 | | Pain Point C | 3,104 | 497 | 16.0% | 102 | 20.5% | 18 | | General Outreach | 3,200 | 450 | 14.1% | 122 | 27.1% | 18 | --- ## What's Working 1. **Pain Point A has the best acceptance rate (20.0%)** - The cost/efficiency angle resonates with CFOs and VPs - M1 message is short and specific (under 300 chars) - Sender profile (CEO) carries authority for this topic 2. **General Outreach has highest reply rate (27.1%) among accepted** - Softer ask ("curious if this is on your radar") gets more responses - Lower barrier to reply vs. the pain-point framing 3. **Sender 1 (CEO profile) outperforms Sender 2 (Sales) by 3.2pp on acceptance** - Title authority matters for C-level targets --- ## What's Not Working 1. **General Outreach has lowest acceptance rate (14.1%)** - Connection note is too generic -- no specific hook - Recommendation: add industry or role-specific personalization 2. **Pain Point C underperforming (16.0% acceptance)** - Technical angle may be too niche for the target audience - M1 message is 420 characters (longest of all campaigns) - Recommendation: shorten M1, test a broader framing 3. **Overall acceptance rate (17.0%) is below benchmark (20-25%)** - List quality may be a factor -- 8% of profiles are stale or irrelevant - Some campaigns targeting too broad a title set --- ## Recommendations 1. **Shorten all M1 messages to under 300 characters** - Pain Point A (shortest M1) has best acceptance rate - Correlation is consistent across all 4 campaigns 2. **Split General Outreach into role-specific variants** - Use the high reply rate as a base, add targeted hooks 3. **Audit lead lists for Pain Point C** - Remove titles that are not decision-makers for this angle - Tighten company size filter (current: 50+, test: 200+) 4. **Test Sender 1 (CEO) on Pain Point C to see if authority lifts acceptance** 5. **Add a 3rd follow-up message to high-acceptance campaigns** - Current sequence is 2 messages; adding M3 could capture additional replies from accepted-but-silent connections ``` --- ## Key Metrics and Benchmarks ### LinkedIn (HeyReach) | Metric | Good | Average | Poor | |--------|------|---------|------| | Acceptance Rate | > 25% | 15-25% | < 15% | | Reply Rate (of accepted) | > 25% | 15-25% | < 15% | | Positive Reply Rate | > 30% of replies | 15-30% | < 15% | ### Email (SmartLead) | Metric | Good | Average | Poor | |--------|------|---------|------| | Open Rate | > 60% | 40-60% | < 40% | | Reply Rate | > 5% | 2-5% | < 2% | | Bounce Rate | < 2% | 2-5% | > 5% | | Positive Reply Rate | > 40% of replies | 20-40% | < 20% | --- ## Key Files | File | Purpose | |------|---------| | `SKILL.md` | This file -- skill documentation | The analysis is performed directly by Claude Code using the customer's campaign data and API responses. There is no standalone script -- Claude Code reads the data, performs the analysis, and writes the output in a single session.