mcpField
C
cross-sell-upsell-detection

cross-sell-upsell-detection

github.com/louisblythe营销与增长190406 次安装40 周前更新
代码仓库

关于 cross-sell-upsell-detection

cross-sell-upsell-detection 面向构建销售机器人的开发者,帮助识别现有客户的业务扩展机会。内容介绍使用、参与度、增长和需求信号,以及机会评分、触发条件、触达和效果衡量。

主要功能

  1. 01识别使用情况与增长信号
  2. 02发现关联需求和工作流扩展
  3. 03评估机会并定义触发条件
  4. 04规划增购与交叉销售触达
  5. 05跟踪转化率和信号准确性

适用场景

  1. 01发现接近产品或容量上限的客户
  2. 02根据关联需求寻找交叉销售机会
  3. 03为客户回顾或续约准备扩展沟通
  4. 04评估哪些信号能带来转化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/louisblythe/sales-skills --skill cross-sell-upsell-detection

安装后在 Claude Code 中输入/cross-sell-upsell-detection确认已加载。

详细介绍

交叉销售和追加销售机会检测

你是构建销售机器人方面的专家,能够识别现有客户的业务拓展机会。你的目标是帮助开发者创建能够识别客户何时可能受益于更多产品、功能或容量的系统。

为什么业务拓展机会检测很重要

业务拓展机会
Customer acquisition cost: $500
Lifetime value (single product): $3,000
Lifetime value (with expansion): $10,000+

Expansion is:
- Higher margin (no acquisition cost)
- Higher close rate (they trust you)
- Better retention (more integrated)
检测价值
Without detection:
- Expansion happens opportunistically
- Customers outgrow without upgrading
- Cross-sell happens only when asked
- Revenue left on table

With detection:
- Proactive outreach at right moment
- Upgrade before they hit limits
- Cross-sell when need emerges
- Maximize customer value

追加销售信号

基于使用情况的信号
Approaching limits:
- 80%+ of seat licenses used
- 90%+ of storage consumed
- API calls nearing cap
- Feature usage hitting tier limits

"You're at 45 of 50 users. As you grow,
want me to walk through the team plan?"
参与度信号
Deep product adoption:
- Using advanced features
- Multiple active users
- High login frequency
- Long session times
- Feature requests for premium items

"Your team is using [feature] heavily.
The Pro tier adds [related capability]—
interested in seeing it?"
增长信号
Company/team expansion:
- New users being added
- New departments onboarding
- Company hiring (external data)
- Funding announcement
- New locations

"Congrats on the growth! As you scale,
here's how other companies handle [challenge]."
阻碍信号
Hitting product limits:
- Error messages about limits
- Workarounds being used
- Export/import patterns (working around system)
- Support tickets about capacity

"I noticed you hit the export limit a few times.
The Business tier has unlimited exports—worth
looking at?"

交叉销售信号

相关需求信号
Using complementary features:
- CRM customer using lots of email → marketing automation
- Analytics user requesting data → data warehouse
- HR software user adding employees → payroll

"Given how much you use [current product] for
[use case], our [adjacent product] might help
with [related need]."
明确提及
Customer mentions related challenges:

"I wish we had better reporting"
"We're looking for a solution to X"
"Do you integrate with Y?"
"We're evaluating [competitor product category]"

Listen for adjacent pain points.
工作流扩展
Customer expanding use cases:

- Single department → multiple departments
- Single location → multiple locations
- Single brand → multiple brands
- Internal use → customer-facing

Each expansion may need more products.
集成信号
Integration patterns suggesting needs:

- Integrating with [tool] suggests need for [our product]
- API usage patterns indicate workflow gaps
- Manual data transfer between systems

"I see you're moving data between [system] and us
manually. Our [product] automates that."

检测实现

信号评分系统
def calculate_expansion_score(customer):
    score = 0
    signals = []

    # Usage signals
    usage = get_usage_metrics(customer)
    if usage.seat_utilization > 0.8:
        score += 25
        signals.append("high_seat_usage")
    if usage.feature_utilization > 0.7:
        score += 20
        signals.append("high_feature_usage")
    if usage.at_limit_events > 5:
        score += 30
        signals.append("hitting_limits")

    # Engagement signals
    engagement = get_engagement_metrics(customer)
    if engagement.monthly_active_users_growth > 0.1:
        score += 20
        signals.append("user_growth")
    if engagement.advanced_feature_adoption:
        score += 15
        signals.append("advanced_usage")

    # External signals
    external = get_external_signals(customer)
    if external.recent_funding:
        score += 20
        signals.append("funding")
    if external.hiring_signal:
        score += 15
        signals.append("hiring")

    return {
        "score": min(score, 100),
        "signals": signals,
        "recommendation": get_expansion_recommendation(signals)
    }
触发事件
EXPANSION_TRIGGERS = [
    {
        "name": "seat_threshold",
        "condition": "seat_usage >= 80%",
        "action": "upsell_seats",
        "message_template": "seat_expansion_outreach"
    },
    {
        "name": "feature_ceiling",
        "condition": "premium_feature_attempt >= 3",
        "action": "upsell_tier",
        "message_template": "tier_upgrade_outreach"
    },
    {
        "name": "adjacent_need",
        "condition": "integration_with_competitor_product",
        "action": "cross_sell",
        "message_template": "cross_sell_replacement"
    },
    {
        "name": "company_growth",
        "condition": "company_raised_funding",
        "action": "expansion_conversation",
        "message_template": "growth_expansion"
    }
]

业务拓展对话

追加销售对话开场白
Usage-based:

"Hey [Name], noticed your team has been growing—
you're at [X] of [Y] users. Want me to walk
through what the next tier offers so you're
ready when you need it?"

Feature-based:

"I saw your team tried [premium feature] a few
times. It's in our Pro tier, but I can set up
a trial if you want to test it properly."

Limit-based:

"You've bumped against the [limit] a couple times.
Rather than work around it, would upgrading make
sense? I can show you what that looks like."
交叉销售对话开场白
Adjacent need:

"Given how much you've accomplished with [current
product], I'm curious—how are you handling [related
challenge]? We have something that complements
what you're doing."

Integration-based:

"I noticed you're using [competitor] for [function].
Just so you know, we have [our product] that
integrates natively—might simplify things."

Expansion-based:

"Now that you're using us for [use case], other
customers in your situation often add [product]
for [benefit]. Worth a look?"
对话时机
Best times for expansion:
- After they've achieved a win
- At renewal discussions
- After positive support interaction
- When they mention growth/change
- At QBR/check-in meetings

Worst times:
- During active support issue
- When they've had problems
- At contract end (too transactional)
- Without any trigger signal

客户成功集成

健康度评分关联
Expansion should correlate with health:

High health score + expansion signals:
→ Proactive upsell/cross-sell

High health score + no signals:
→ Check-in, explore latent needs

Low health score + expansion signals:
→ Fix health first, then expand

Low health score + no signals:
→ Focus on retention, not expansion
QBR 集成
Include expansion in regular reviews:

"Based on your usage this quarter:
• You're getting great value from [current]
• You might benefit from [expansion opportunity]
• Here's what other similar customers do..."

Natural context for expansion.

消息模板

席位扩容
Subject: Your team is growing!

"Hi [Name],

Congrats on the growth—you're now at [X] users,
approaching your [Y] seat limit.

Before you need them, want me to walk through
what adding seats looks like? Some options:

• Add [N] seats: $[price]/month
• Upgrade to Team plan (unlimited): $[price]/month

Let me know what makes sense.

[Rep]"
套餐升级
Subject: Unlock [Feature] for your team

"Hi [Name],

I noticed your team has been trying to use
[premium feature]—it's available on our Pro tier.

Based on how you're using [current tier], Pro
would give you:
• [Feature 1] - [benefit relevant to them]
• [Feature 2] - [benefit relevant to them]

Want to try it free for 14 days?

[Rep]"
交叉销售
Subject: Idea for [their challenge]

"Hi [Name],

I saw that you're using [current product] heavily
for [use case]—great to see!

Quick question: how are you handling [related
challenge]? We have [other product] that a lot
of our [current product] customers pair with it.

[Stat about customers who use both]

Worth a quick look?

[Rep]"

指标

业务拓展指标
Track:
- Expansion revenue per customer
- Upsell conversion rate
- Cross-sell conversion rate
- Signal-to-opportunity conversion
- Time from signal to expansion

Optimize:
- Which signals predict expansion?
- What timing works best?
- Which messages convert?
信号准确率
Measure signal quality:

- True positive rate (signal + conversion)
- False positive rate (signal + no interest)
- Coverage (opportunities with signals)

Refine signals based on outcomes.

实现

业务拓展数据模型
{
  "customer_id": "12345",
  "expansion_profile": {
    "current_products": ["crm"],
    "current_tier": "professional",
    "expansion_score": 75,
    "active_signals": [
      {"type": "seat_usage", "value": 0.85},
      {"type": "premium_feature_attempt", "count": 5}
    ],
    "recommended_expansions": [
      {
        "type": "upsell",
        "target": "enterprise_tier",
        "confidence": 0.8,
        "trigger": "feature_ceiling"
      },
      {
        "type": "cross_sell",
        "target": "marketing_automation",
        "confidence": 0.6,
        "trigger": "adjacent_usage"
      }
    ],
    "last_expansion_conversation": "2024-01-01",
    "expansion_history": []
  }
}
检测管道
def expansion_detection_pipeline(customer):
    # Collect signals
    usage_signals = analyze_usage(customer)
    engagement_signals = analyze_engagement(customer)
    external_signals = fetch_external_signals(customer)

    # Score opportunity
    score = calculate_expansion_score(
        usage_signals,
        engagement_signals,
        external_signals
    )

    # Check health before recommending
    health = get_customer_health(customer)
    if health.score < HEALTH_THRESHOLD:
        return None  # Focus on retention first

    # Generate recommendations
    if score >= EXPANSION_THRESHOLD:
        recommendations = generate_recommendations(customer, signals)
        return create_expansion_opportunity(customer, recommendations)

    return None

评论

支持 Markdown