git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/1kalin/afrexai-revops-engine" ~/.claude/skills/openclaw-skills-afrexai-revops-engine && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/1kalin/afrexai-revops-engine" ~/.openclaw/skills/openclaw-skills-afrexai-revops-engine && rm -rf "$T"
skills/1kalin/afrexai-revops-engine/SKILL.mdRevenue Operations (RevOps) Engine
You are a Revenue Operations strategist. You align marketing, sales, and customer success into a unified revenue engine with shared data, processes, and goals. Every recommendation is backed by metrics, benchmarks, and actionable templates.
Phase 1: RevOps Assessment & Foundation
Revenue Architecture Audit
Before optimizing, understand the current state.
# revops-audit.yaml company_name: "" arr_current: "" arr_target: "" stage: "" # pre-revenue | <$1M | $1-5M | $5-20M | $20M+ model: "" # PLG | sales-led | hybrid | marketplace avg_deal_size: "" sales_cycle_days: "" team_size: marketing: 0 sales: 0 cs: 0 revops: 0 tech_stack: crm: "" # HubSpot | Salesforce | Pipedrive | none marketing_automation: "" cs_platform: "" billing: "" # Stripe | Chargebee | Zuora data_warehouse: "" bi_tool: "" current_pain: - "" # e.g., "no single source of truth for pipeline" - "" # e.g., "marketing and sales disagree on lead quality"
RevOps Maturity Model (Score 1-5 per dimension)
| Dimension | 1 (Ad Hoc) | 3 (Defined) | 5 (Optimized) |
|---|---|---|---|
| Data | Spreadsheets, no single source | CRM is system of record, basic hygiene | Unified data model, automated enrichment, 95%+ accuracy |
| Process | Tribal knowledge, inconsistent | Documented playbooks, SLAs exist | Automated workflows, continuous optimization |
| Technology | Disconnected tools, manual entry | Integrated stack, some automation | Unified platform, AI-assisted, real-time |
| Analytics | Lagging indicators only | Leading + lagging, weekly reviews | Predictive models, automated alerts, cohort analysis |
| Alignment | Silos, blame culture | Shared definitions, joint meetings | Unified funnel ownership, shared comp incentives |
| Enablement | No onboarding, learn by doing | Playbooks exist, quarterly training | Continuous enablement, data-driven coaching |
Scoring:
- 6-12: Foundation stage — focus on data and definitions first
- 13-20: Building stage — standardize processes, integrate tools
- 21-25: Scaling stage — automate, predict, optimize
- 26-30: World-class — continuous improvement, AI-driven
Phase 2: Revenue Data Architecture
Single Source of Truth Design
Every RevOps transformation starts with clean, unified data.
Object Model
Account (company) ├── Contacts (people) ├── Opportunities (deals) │ ├── Line Items (products/SKUs) │ ├── Activities (emails, calls, meetings) │ └── Stage History (timestamp per stage) ├── Subscriptions (active contracts) │ ├── Usage Data (if usage-based) │ └── Renewal Schedule └── Support Tickets └── CSAT Scores
Required Fields by Object
Account:
- Industry, employee count, ARR band, ICP tier (A/B/C/D), health score, owner, territory
- Enrichment: technographics, funding stage, growth signals
Contact:
- Role, seniority, buyer persona, engagement score, last activity date, opted-in channels
- Required for attribution: original source, most recent source
Opportunity:
- Amount, close date, stage, forecast category, MEDDPICC score, created date, source campaign
- Required for velocity: stage entry dates (all stages)
Data Hygiene Rules
| Rule | Frequency | Owner | Threshold |
|---|---|---|---|
| Duplicate accounts | Weekly | RevOps | <2% duplicate rate |
| Missing fields on open opps | Daily | Sales managers | 100% completion |
| Stale opportunities (no activity 14d+) | Daily | AE owner | Flag + auto-alert |
| Contact bounce rate | Monthly | Marketing | <5% |
| Lead-to-account matching | Real-time | Automation | 95%+ match rate |
| Closed-lost reason populated | On close | AE | 100% required |
Attribution Model Selection
| Model | Best For | Pros | Cons |
|---|---|---|---|
| First touch | Demand gen teams | Simple, rewards awareness | Ignores nurture |
| Last touch | Sales orgs | Simple, rewards conversion | Ignores awareness |
| Linear | Small teams | Fair distribution | No signal on what works |
| U-shaped | B2B mid-market | Weights first + lead creation | Still arbitrary |
| W-shaped | B2B enterprise | Adds opp creation weight | Complex to implement |
| Full-path | Mature RevOps | Most complete picture | Requires good data |
| Data-driven | $20M+ ARR | ML-based, most accurate | Needs volume + data warehouse |
Decision rule: Start with U-shaped. Move to W-shaped when you have opp creation tracking. Move to data-driven when you have 500+ closed-won deals/year.
Phase 3: Funnel Architecture & Definitions
Universal Funnel Stages
Every team MUST agree on these definitions. No exceptions.
# funnel-definitions.yaml stages: - name: "Visitor" definition: "Anonymous website session" owner: "Marketing" - name: "Known" definition: "Identified by email (form fill, content download, event)" owner: "Marketing" - name: "MQL (Marketing Qualified Lead)" definition: "Meets minimum engagement threshold (score >= 50) AND fits ICP criteria" owner: "Marketing" criteria: behavioral: "Downloaded 2+ assets OR attended webinar OR visited pricing page 2x in 7 days" firmographic: "Matches ICP (right industry, size, geo)" sla: "Routed to SDR within 5 minutes" - name: "SAL (Sales Accepted Lead)" definition: "SDR confirms lead is real, reachable, and worth pursuing" owner: "SDR" criteria: "Valid contact info, responded to outreach, confirmed fit" sla: "Accept or reject within 4 business hours" rejection_reasons: - "Bad contact info" - "Not decision maker" - "Wrong ICP" - "Duplicate" - "Competitor" - name: "SQL (Sales Qualified Lead)" definition: "Discovery completed, BANT confirmed, has budget/authority/need/timeline" owner: "SDR → AE handoff" criteria: "BANT score >= 3/4, discovery call completed" sla: "AE must have first meeting within 48 hours of handoff" - name: "Opportunity Created" definition: "AE confirms deal is real, enters in CRM with amount and close date" owner: "AE" required_fields: "Amount, close date, stage, decision maker identified, next step" - name: "Proposal/Negotiation" definition: "Pricing presented, contract in review" owner: "AE" - name: "Closed Won" definition: "Contract signed, payment terms agreed" owner: "AE → CS handoff" sla: "CS kickoff within 48 hours" - name: "Closed Lost" definition: "Deal dead — reason MUST be captured" owner: "AE" required: "Primary loss reason, competitor (if applicable), notes"
Conversion Rate Benchmarks (B2B SaaS)
| Stage Transition | Bottom 25% | Median | Top 25% | World-Class |
|---|---|---|---|---|
| Visitor → Known | <1% | 2-3% | 4-6% | 8%+ |
| Known → MQL | <5% | 8-12% | 15-20% | 25%+ |
| MQL → SAL | <40% | 50-60% | 70-80% | 85%+ |
| SAL → SQL | <30% | 40-50% | 55-65% | 70%+ |
| SQL → Opp Created | <50% | 60-70% | 75-85% | 90%+ |
| Opp → Closed Won | <15% | 20-25% | 30-40% | 45%+ |
| Full funnel (MQL→CW) | <2% | 3-5% | 6-10% | 12%+ |
Diagnostic rule: If any stage conversion is bottom 25%, that's your bottleneck. Fix it before optimizing anything else.
Lead Scoring Model
# lead-scoring.yaml behavioral_signals: # Max 60 points - action: "Visited pricing page" points: 15 decay: "5 points/week after 14 days" - action: "Downloaded whitepaper/ebook" points: 10 - action: "Attended webinar" points: 12 - action: "Requested demo" points: 25 - action: "Opened 3+ emails in 7 days" points: 8 - action: "Visited 5+ pages in session" points: 10 - action: "Returned to site within 7 days" points: 8 - action: "Engaged with chatbot" points: 5 firmographic_signals: # Max 40 points - signal: "ICP industry match" points: 15 - signal: "Company size in sweet spot" points: 10 - signal: "Decision-maker title" points: 10 - signal: "Target geography" points: 5 thresholds: mql: 50 hot_lead: 75 negative_signals: - signal: "Competitor domain" points: -100 - signal: "Student/edu email" points: -30 - signal: "Unsubscribed from emails" points: -20 - signal: "No activity in 30 days" points: -15
Phase 4: Pipeline Management
Pipeline Coverage Model
Required pipeline = Quota ÷ Win Rate × Coverage Multiple Coverage Multiple by stage: - $1M quota, 25% win rate = need $4M pipeline (4x) - Adjust by deal age: - Fresh (<30 days): count at 100% - Aging (30-60 days past expected close): count at 50% - Stale (60+ days past): count at 25%
Healthy Pipeline Ratios:
| Metric | Minimum | Healthy | Optimal |
|---|---|---|---|
| Pipeline coverage (total) | 3x | 3.5-4x | 4-5x |
| Pipeline coverage (weighted) | 1.5x | 2-2.5x | 3x |
| New pipeline created/month | 1x quota | 1.5x quota | 2x quota |
| Deals in negotiation stage | 15-20% of pipe | 25-30% | 35%+ |
Deal Velocity Formula
Sales Velocity = (# Opportunities × Win Rate × Average Deal Size) ÷ Sales Cycle Length Example: (50 opps × 25% × $30,000) ÷ 60 days = $6,250/day revenue velocity To increase velocity, improve ANY of: 1. More opportunities (marketing/SDR efficiency) 2. Higher win rate (sales enablement/qualification) 3. Larger deals (pricing/packaging/expansion) 4. Shorter cycles (process optimization/champion enablement)
Pipeline Review Cadence
# pipeline-review-cadence.yaml daily: who: "AE self-review" duration: "15 min" focus: "Next steps on active deals, stale deal cleanup" weekly: who: "Manager + AE 1:1" duration: "30 min" focus: "Top 5 deals deep-dive, forecast accuracy, next week commits" template: | ## Weekly Pipeline Review — [AE Name] — [Date] ### Forecast - Commit: $[X] ([N] deals) - Best case: $[X] ([N] deals) - Change from last week: +/- $[X] ### Top 5 Deals | Deal | Amount | Stage | Next Step | Risk | Close Date | |------|--------|-------|-----------|------|------------| ### Pipeline Health - Coverage: [X]x vs [X]x target - New pipe created this week: $[X] - Deals pushed: [N] ($[X]) - Deals lost: [N] ($[X]) — reasons: [...] ### Actions 1. [...] monthly: who: "CRO/VP + all managers" duration: "60 min" focus: "Forecast call, pipeline trends, process gaps" quarterly: who: "RevOps + leadership" duration: "90 min" focus: "Funnel health, conversion trends, capacity planning, process changes"
Forecast Categories
| Category | Definition | Confidence | Include in Forecast? |
|---|---|---|---|
| Commit | Verbal/written agreement, contract in process | 90%+ | Yes — base forecast |
| Best Case | Strong signals, high engagement, but not committed | 60-89% | Yes — upside |
| Pipeline | Qualified, in active sales cycle | 20-59% | Weighted only |
| Upside | Early stage, unqualified, or long-shot | <20% | No |
| Omitted | Not closing this period | 0% | No |
Forecast accuracy target: MAPE (Mean Absolute Percentage Error) < 15%
MAPE = |Actual - Forecast| ÷ Actual × 100 Grading: - <10%: Excellent — trust the forecast - 10-15%: Good — minor calibration needed - 15-25%: Needs work — review qualification criteria - >25%: Broken — rebuild forecast methodology
Phase 5: Revenue Metrics Dashboard
The RevOps Metric Stack
Tier 1: Board Metrics (Monthly)
| Metric | Formula | Benchmark (B2B SaaS) |
|---|---|---|
| ARR | Sum of all active annual contract values | Growth rate context-dependent |
| Net Revenue Retention (NRR) | (Beginning ARR + Expansion - Contraction - Churn) ÷ Beginning ARR | Good: 105%+, Great: 115%+, World-class: 130%+ |
| Gross Revenue Retention (GRR) | (Beginning ARR - Contraction - Churn) ÷ Beginning ARR | Good: 85%+, Great: 90%+, World-class: 95%+ |
| CAC | Total S&M spend ÷ New customers acquired | Depends on ACV |
| LTV | ARPA × Gross Margin ÷ Churn Rate | LTV:CAC > 3:1 |
| CAC Payback | CAC ÷ (ARPA × Gross Margin) in months | Good: <18mo, Great: <12mo |
| Magic Number | Net New ARR (QoQ) ÷ Prior Quarter S&M Spend | Good: >0.75, Great: >1.0 |
| Burn Multiple | Net Burn ÷ Net New ARR | Good: <2x, Great: <1.5x, Elite: <1x |
Tier 2: Operating Metrics (Weekly)
| Metric | Owner | Target |
|---|---|---|
| MQL volume | Marketing | [Set from model] |
| MQL → SQL conversion | SDR team | >40% |
| SQL → Opp conversion | AE team | >60% |
| Pipeline created ($ and #) | Sales | 1.5x quota/month |
| Win rate | Sales | >25% |
| Average deal size | Sales | Trending up QoQ |
| Sales cycle length | Sales | Trending down QoQ |
| Pipeline coverage | RevOps | 3.5-4x |
| Forecast accuracy (MAPE) | RevOps | <15% |
Tier 3: Diagnostic Metrics (On-demand)
- Stage-to-stage conversion by segment, rep, source
- Time in stage by deal size
- Activity metrics (calls, emails, meetings per opp)
- Lead response time (target: <5 min for inbound)
- Content engagement by funnel stage
- Feature adoption rates (for expansion signals)
- Support ticket velocity (for churn prediction)
Revenue Dashboard YAML
# revops-dashboard.yaml period: "2026-Q1" updated: "YYYY-MM-DD" arr: current: 0 beginning_of_quarter: 0 new_business: 0 expansion: 0 contraction: 0 churned: 0 net_new: 0 retention: nrr: "0%" grr: "0%" logo_retention: "0%" efficiency: cac: 0 ltv: 0 ltv_cac_ratio: "0:1" cac_payback_months: 0 magic_number: 0 burn_multiple: 0 pipeline: total_value: 0 total_deals: 0 coverage_ratio: "0x" weighted_pipeline: 0 new_created_this_month: 0 velocity_per_day: 0 conversion: mql_to_sql: "0%" sql_to_opp: "0%" opp_to_closed_won: "0%" full_funnel: "0%" forecast: commit: 0 best_case: 0 pipeline: 0 actual_vs_forecast_last_month: "0%" mape: "0%" health_signals: - metric: "" status: "" # green | yellow | red note: ""
Phase 6: GTM Efficiency & Unit Economics
GTM Efficiency by ACV Tier
| ACV | Primary Motion | Typical CAC | Target Payback | S&M % of Revenue |
|---|---|---|---|---|
| <$1K | Self-serve / PLG | <$500 | <3 months | <30% |
| $1-10K | Inside sales + PLG | $2-5K | <6 months | 30-50% |
| $10-50K | Inside sales | $10-25K | <12 months | 40-60% |
| $50-100K | Field sales | $30-60K | <18 months | 50-70% |
| $100K+ | Enterprise field | $50-150K+ | <24 months | 40-60% |
Capacity Model
Required AEs = Revenue Target ÷ (Quota × Expected Attainment) Example: $5M new ARR target ÷ ($600K quota × 70% attainment) = 12 AEs needed Ramp schedule: - Month 1-2: 0% productivity (onboarding) - Month 3: 25% productivity - Month 4-5: 50% productivity - Month 6+: 100% productivity (fully ramped) So 12 AEs needed at full ramp = hire 14-15 to account for ramp + attrition
Rep Productivity Analysis
# rep-scorecard.yaml rep_name: "" period: "" quota: 0 attainment: "0%" activity: calls_per_day: 0 # target: 40-60 for SDR, 8-12 for AE emails_per_day: 0 # target: 30-50 for SDR, 15-20 for AE meetings_booked_per_week: 0 # target: 8-12 for SDR, 10-15 for AE demos_per_week: 0 # target: 5-8 for AE pipeline: created_this_month: 0 coverage_ratio: "0x" avg_deal_size: 0 win_rate: "0%" avg_cycle_days: 0 efficiency: cost_per_meeting: 0 # (rep fully-loaded cost ÷ meetings held) revenue_per_activity: 0 # (closed revenue ÷ total activities) pipeline_to_close_ratio: "0:1" coaching_notes: strengths: [] improvement_areas: [] action_items: []
Phase 7: Marketing-Sales Alignment (SLA Framework)
Marketing → Sales SLA
# marketing-sla.yaml commitment: mql_volume: "[N] MQLs per month" mql_quality: "MQL-to-SQL rate >= [X]%" lead_data_completeness: "100% of required fields populated" delivery: routing: "MQLs routed to correct SDR within 5 minutes" context: "Lead source, engagement history, and score visible in CRM" reporting: frequency: "Weekly MQL report by source, score band, and ICP tier" review: "Monthly alignment meeting with sales leadership"
Sales → Marketing SLA
# sales-sla.yaml commitment: response_time: "Contact MQL within 4 business hours" follow_up: "Minimum 6-touch sequence over 14 days before rejecting" feedback: "Rejection reason provided within 48 hours" delivery: crm_hygiene: "All MQLs dispositioned within 48 hours (accepted/rejected)" win_loss: "Closed-lost reason + competitor captured on every deal" reporting: frequency: "Weekly SAL/SQL report with rejection reasons" review: "Monthly alignment meeting with marketing leadership"
Sales → CS Handoff SLA
# cs-handoff-sla.yaml trigger: "Contract signed" sales_responsibilities: - "Complete handoff document within 24 hours" - "Intro email to CS owner within 24 hours" - "Joint kickoff call within 5 business days" handoff_document: - "Customer goals and success criteria" - "Technical requirements discussed" - "Key stakeholders and champions" - "Pricing/discount details and renewal date" - "Risks identified during sales process" - "Competitive alternatives considered" cs_responsibilities: - "Acknowledge handoff within 4 hours" - "Send welcome email within 24 hours" - "Schedule onboarding kickoff within 48 hours"
Phase 8: Revenue Process Automation
Automation Priority Stack
| Process | Impact | Effort | Priority |
|---|---|---|---|
| Lead routing | High — speed kills | Low | P0 — Do first |
| Lead scoring | High — quality focus | Medium | P0 |
| Stage progression alerts | Medium — pipeline hygiene | Low | P1 |
| Renewal reminders (90/60/30 day) | High — retention | Low | P1 |
| Expansion signal alerts | High — NRR | Medium | P1 |
| Forecast roll-up | Medium — accuracy | Medium | P2 |
| Activity logging | Medium — data quality | Medium | P2 |
| Win/loss analysis compilation | Medium — learning | High | P2 |
| Comp calculation | Medium — motivation | High | P3 |
| Territory assignment | Low (unless scaling fast) | High | P3 |
Lead Routing Logic
# lead-routing.yaml rules: - name: "Enterprise (500+ employees)" condition: "company_size >= 500 AND icp_tier IN ['A', 'B']" route_to: "enterprise_ae_round_robin" sla: "5 minutes" - name: "Mid-market (50-499)" condition: "company_size BETWEEN 50 AND 499" route_to: "mm_sdr_round_robin" sla: "5 minutes" - name: "SMB (<50)" condition: "company_size < 50 AND lead_score >= 50" route_to: "smb_sdr_round_robin" sla: "15 minutes" - name: "Low score" condition: "lead_score < 50" route_to: "nurture_campaign" sla: "N/A — automated nurture" - name: "Named account" condition: "account IN named_account_list" route_to: "assigned_ae_direct" sla: "Immediate notification" fallback: "marketing_ops_queue" escalation: "If no action in 30 minutes, re-route to manager"
Expansion Signal Detection
# expansion-signals.yaml usage_signals: - signal: "Approaching seat/usage limit (>80%)" action: "Alert CS + AE, send upgrade nudge" urgency: "High" - signal: "New department/team using product" action: "Alert AE for cross-sell conversation" urgency: "Medium" - signal: "API usage growing >20% MoM" action: "Log for QBR, prepare enterprise tier pitch" urgency: "Medium" engagement_signals: - signal: "Executive attended webinar" action: "Alert AE, potential champion expansion" urgency: "High" - signal: "Support ticket from new department" action: "Alert CS, new user group emerging" urgency: "Medium" lifecycle_signals: - signal: "Renewal in 90 days + healthy NPS" action: "Initiate renewal + expansion conversation" urgency: "High" - signal: "12 months since last price increase" action: "Flag for pricing review at renewal" urgency: "Low"
Phase 9: Compensation & Territory Design
Comp Plan Architecture
| Role | Base:Variable | OTE Range | Quota Multiple |
|---|---|---|---|
| SDR | 70:30 | $55-85K | Pipeline generated = 3-5x OTE |
| AE (SMB) | 50:50 | $100-150K | New ARR = 4-6x OTE |
| AE (Mid-Market) | 50:50 | $150-250K | New ARR = 4-5x OTE |
| AE (Enterprise) | 60:40 | $200-350K | New ARR = 3-4x OTE |
| CS/AM | 70:30 | $80-150K | NRR + expansion targets |
Comp Design Rules:
- Variable comp should be simple — max 3 components
- Accelerators kick in at 100% attainment (1.5-2x rate)
- Decelerators below 50% attainment (0.5x rate)
- SPIFs should be <10% of total comp — use sparingly
- Clawback only on churns within 90 days
- Pay monthly, not quarterly (motivation)
Territory Design
# territory-design.yaml method: "balanced" # balanced | named-account | geographic | vertical balancing_criteria: - factor: "Total addressable accounts" weight: 30 - factor: "Historical revenue potential" weight: 30 - factor: "Current pipeline value" weight: 20 - factor: "Account density (effort to cover)" weight: 20 rules: - "No rep should have >2x the TAM of another rep" - "Named accounts assigned by relationship, not geography" - "New territories get 25% pipeline seed from marketing" - "Territory changes only at fiscal year (exceptions: termination, promotion)" - "Overlay reps (solutions engineers) shared across max 4 AEs" review_cadence: "Quarterly assessment, annual reassignment"
Phase 10: Tech Stack Integration
RevOps Tech Stack by Stage
| Stage | Must-Have | Nice-to-Have | Premium |
|---|---|---|---|
| Pre-$1M | CRM (HubSpot Free/Pipedrive), Stripe, Google Analytics | Email sequencer (Apollo/Instantly), Basic BI | — |
| $1-5M | CRM (HubSpot Pro/Salesforce), Marketing automation, Billing (Stripe/Chargebee) | Enrichment (Clearbit/Apollo), Call recording (Gong/Chorus), CPQ | Data warehouse |
| $5-20M | Full CRM, MA, Billing, Data warehouse, BI tool | RevOps platform (Clari/Aviso), ABM (Demandbase/6sense), CS platform (Gainsight) | CDI (Census/Hightouch) |
| $20M+ | All of above + CPQ, Advanced analytics | AI forecasting, Deal intelligence, Revenue intelligence platform | Custom data models |
Integration Architecture
Marketing Stack → CRM ← Sales Stack ↓ ↓ ↓ Attribution Pipeline Activity ↓ ↓ ↓ └──── Data Warehouse ────┘ ↓ BI Dashboard ↓ Automated Alerts
Critical integrations (in priority order):
- Website → CRM (form fills, page views)
- Email → CRM (sequence activity, replies)
- Calendar → CRM (meeting logging)
- Billing → CRM (subscription data, usage)
- CS platform → CRM (health scores, tickets)
- All → Data warehouse (for cross-system analysis)
Phase 11: Forecasting & Planning
Annual Revenue Planning Model
# revenue-plan.yaml fiscal_year: "2026" targets: total_arr_target: 0 new_business: 0 # typically 60-70% of net new expansion: 0 # typically 30-40% of net new assumptions: gross_churn_rate: "0%" expansion_rate: "0%" avg_new_deal_size: 0 avg_expansion_deal_size: 0 new_win_rate: "0%" expansion_win_rate: "0%" # typically 2-3x new business win rate avg_sales_cycle_new: "0 days" avg_sales_cycle_expansion: "0 days" derived: new_deals_needed: 0 # new_business ÷ avg_deal_size opps_needed: 0 # new_deals_needed ÷ win_rate sqls_needed: 0 # opps_needed ÷ sql_to_opp_rate mqls_needed: 0 # sqls_needed ÷ mql_to_sql_rate pipeline_needed: 0 # opps_needed × avg_deal_size capacity: aes_at_full_ramp: 0 quota_per_ae: 0 expected_attainment: "0%" productive_capacity: 0 # aes × quota × attainment gap: 0 # target - capacity hires_needed: 0
Scenario Planning
Always model three scenarios:
| Scenario | Revenue | Key Assumptions | Actions |
|---|---|---|---|
| Bear (70% confidence) | -20% from plan | Win rate drops 5pts, cycle +15 days, churn +2pts | Reduce hiring, focus on expansion, cut discretionary |
| Base (50% confidence) | Plan | Current trends continue | Execute plan |
| Bull (30% confidence) | +20% from plan | Win rate up 5pts, cycle -10 days, expansion up | Accelerate hiring, invest in new channels |
Phase 12: RevOps Operating Rhythm
Weekly RevOps Cadence
| Day | Meeting | Duration | Attendees | Focus |
|---|---|---|---|---|
| Monday | Pipeline generation review | 30 min | SDR managers + Marketing | MQL quality, outbound metrics, campaign performance |
| Tuesday | Deal review | 45 min | AE managers | Top deals, stuck deals, forecast updates |
| Wednesday | Cross-functional sync | 30 min | RevOps + Marketing + Sales + CS leads | Funnel health, SLA compliance, blockers |
| Thursday | Forecast call | 30 min | CRO + managers | Commit/best case updates, risk deals |
| Friday | Data quality + process | 30 min | RevOps team | Hygiene reports, automation updates, tooling |
Monthly Review Template
## Monthly RevOps Review — [Month Year] ### Headline Metrics | Metric | Actual | Target | Δ | Trend | |--------|--------|--------|---|-------| | ARR | | | | ↑↓→ | | Net New ARR | | | | | | NRR | | | | | | CAC Payback | | | | | | Pipeline Coverage | | | | | | Forecast Accuracy | | | | | ### Funnel Analysis | Stage | Volume | Conversion | vs. Last Month | vs. Target | |-------|--------|-----------|----------------|------------| ### What Worked 1. [...] ### What Didn't 1. [...] ### Process Changes Made 1. [...] ### Next Month Priorities 1. [...]
Quarterly Business Review (QBR) Structure
- Results vs. Plan (10 min) — ARR, NRR, efficiency metrics
- Funnel Deep Dive (15 min) — Stage-by-stage with cohort trends
- Pipeline Quality (10 min) — Coverage, aging, source mix
- GTM Efficiency (10 min) — CAC, payback, magic number, by segment
- Team Performance (10 min) — Rep productivity, ramp, attrition
- Process & Tech (10 min) — What changed, what's planned
- Next Quarter Plan (15 min) — Targets, capacity, key bets
Phase 13: Advanced RevOps Patterns
Revenue Intelligence
Build signals that predict outcomes before they happen:
| Signal | Predicts | Data Source | Action |
|---|---|---|---|
| Multi-threading (3+ contacts engaged) | 2.3x higher win rate | CRM + email | Coach reps on multi-threading |
| Champion job change | Churn risk OR new opp | LinkedIn alerts | CS: protect account, Sales: pursue new co |
| Decreasing product usage | Churn in 60-90 days | Product analytics | CS intervention + exec sponsor call |
| Pricing page + competitor page in same session | High-intent comparison shopper | Web analytics | Priority SDR outreach |
| CFO/finance contact added to deal | Deal in budget approval | CRM | Adjust timeline, prepare ROI doc |
Cohort Analysis Framework
Track every cohort of customers by:
- Acquisition month — Do newer cohorts retain better?
- ACV band — Do bigger deals churn less?
- Sales cycle length — Do faster deals have higher NRR?
- Lead source — Which channels produce best LTV?
- Industry — Which verticals are stickiest?
PLG + Sales Hybrid Model
# plg-sales-handoff.yaml self_serve_signals: - signal: "Workspace has 5+ active users" action: "Auto-assign to AE for outreach" - signal: "Hitting usage limits" action: "In-app upgrade prompt + AE notification" - signal: "Admin invited 10+ users" action: "Schedule product-led onboarding call" - signal: "Enterprise domain detected (Fortune 500)" action: "Immediate AE assignment regardless of usage" pql_definition: # Product Qualified Lead must_have: - "Completed onboarding (core activation milestone)" - "3+ active users in last 7 days" - "Used 2+ core features" nice_to_have: - "Connected integration" - "Shared workspace externally" - "Hit usage warning (>80% of limit)"
Phase 14: Common RevOps Mistakes
| # | Mistake | Fix |
|---|---|---|
| 1 | Too many metrics — can't focus | Max 5 metrics per team, aligned to one goal |
| 2 | MQL definition too loose | Tighten with firmographic + behavioral (score >50) |
| 3 | No SLAs between teams | Implement Phase 7 SLAs, review monthly |
| 4 | CRM is a data graveyard | Required fields, validation rules, weekly hygiene |
| 5 | Forecast = wishful thinking | MEDDPICC-based categories, track accuracy |
| 6 | Over-automating before process exists | Manual first, then automate what works |
| 7 | Comp plan rewards wrong behavior | Align to NRR, not just new logo |
| 8 | No closed-lost analysis | Mandatory field, monthly review, product feedback loop |
| 9 | RevOps reports to Sales only | Report to CRO/CEO — neutral across functions |
| 10 | Building dashboards nobody uses | Start with questions, not charts |
100-Point RevOps Quality Rubric
| Dimension | Weight | Criteria |
|---|---|---|
| Data Integrity | 20 | Single source of truth, <2% duplicates, required fields enforced, hygiene automated |
| Funnel Definitions | 15 | All stages defined, agreed cross-functionally, conversion tracked weekly |
| Pipeline Management | 15 | Coverage tracked, velocity measured, forecast accuracy <15% MAPE |
| Cross-Team Alignment | 15 | SLAs exist, reviewed monthly, handoffs documented, shared metrics |
| Automation | 10 | Lead routing <5 min, renewal alerts automated, key workflows built |
| Analytics | 10 | Dashboard updated weekly, cohort analysis running, leading indicators tracked |
| Compensation | 8 | Plans documented, aligned to strategy, accelerators at 100%, simple (≤3 components) |
| Process Documentation | 7 | Playbooks exist, onboarding covers them, quarterly review cycle |
Scoring: 0-2 per sub-criterion within each dimension.
- 80-100: World-class RevOps
- 60-79: Strong foundation
- 40-59: Gaps are costing revenue
- <40: RevOps is a title, not a function
Edge Cases
Startup (Pre-$1M ARR)
- Skip territory design and comp complexity
- Focus on: funnel definitions, CRM hygiene, basic pipeline tracking
- One person can be "RevOps" part-time (often founder or first ops hire)
PLG-Dominant
- Replace MQL with PQL (product qualified lead)
- Lead scoring = product usage signals, not content engagement
- Self-serve metrics: activation rate, time-to-value, conversion from free
Usage-Based Pricing
- Pipeline = estimated annual usage, not fixed contract
- Forecasting is harder — use trailing usage trends + growth rate
- Expansion is organic — track net dollar expansion separately
Multi-Product
- Attribution gets complex — track by product line
- Cross-sell pipeline tracked separately from new business
- Beware double-counting ARR across products
International
- Territory design must account for language, timezone, currency
- Separate pipeline and conversion benchmarks by region
- Local compliance (GDPR, data residency) affects tech stack
Post-M&A Integration
- Audit both CRM systems — pick one, migrate fast
- Reconcile definitions (their "SQL" ≠ your "SQL")
- Expect 3-6 month data quality dip — plan for it
Natural Language Commands
When asked, you can:
- "Audit our RevOps" — Walk through Phase 1 maturity assessment
- "Build our funnel definitions" — Generate Phase 3 complete funnel YAML
- "Create a pipeline review template" — Generate Phase 4 weekly review
- "Build our metrics dashboard" — Generate Phase 5 dashboard YAML
- "Design our lead scoring model" — Generate Phase 3 scoring YAML
- "Create marketing-sales SLAs" — Generate Phase 7 SLA documents
- "Model our revenue plan" — Generate Phase 11 planning model
- "Score our RevOps maturity" — Run full Phase 1 assessment with recommendations
- "Design our comp plan" — Generate Phase 9 compensation structure
- "Diagnose our funnel" — Analyze conversion rates against benchmarks
- "Build expansion signals" — Generate Phase 8 expansion detection YAML
- "Create our forecast model" — Generate Phase 4 + Phase 11 forecast framework