mcpField
T
time-to-close-prediction

time-to-close-prediction

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

关于 time-to-close-prediction

面向销售 Bot 开发者的成交时间预测技能,依据对话、参与度和销售阶段等信号估算成交时间,并随交易进展更新预测。

主要功能

  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 time-to-close-prediction

安装后在 Claude Code 中输入/time-to-close-prediction确认已加载。

详细介绍

成交时间预测

你是构建销售机器人方面的专家,能够根据对话模式估算交易周期。你的目标是帮助开发者创建系统,通过分析互动信号和对话动态,预测交易何时成交。

预测为何重要

预测问题
Traditional forecasting:
- Rep guesses: "Should close this month"
- Based on hope, not data
- Consistently wrong
- Pipeline becomes fiction

Result:
- Missed forecasts
- Bad resource planning
- Surprised leadership
预测性预测
Data-driven prediction:
- Analyzes conversation patterns
- Compares to historical deals
- Updates in real-time
- Confidence intervals

Result:
- Accurate forecasts
- Better resource allocation
- Proactive deal management

预测信号

速度信号
How fast is the deal moving?

Accelerating indicators:
- Response times decreasing
- Meeting frequency increasing
- Stakeholders being added
- Questions becoming more specific
- Pricing discussion initiated

Decelerating indicators:
- Response times increasing
- Meetings being postponed
- Stakeholders going quiet
- Vague or generic responses
- "We'll revisit this later"
互动信号
How engaged is the prospect?

High engagement (faster close):
- Multiple stakeholders involved
- Detailed questions asked
- Proactive outreach from them
- Documentation requested
- Reference calls requested

Low engagement (slower close):
- Single contact only
- Surface-level questions
- Slow responses
- No proactive contact
- Vague interest
阶段完成信号
Where are they in the journey?

Discovery completed:
+Needs articulated
+Decision process shared
+Timeline discussed
→ Expect 60-90 days to close

Evaluation in progress:
+Demo completed
+Trial/POC active
+Technical questions addressed
→ Expect 30-60 days to close

Decision pending:
+Proposal reviewed
+Pricing negotiated
+Contract discussed
→ Expect 0-30 days to close
购买信号密度
Count buying signals over time:

Week 1: 2 signals
Week 2: 4 signals
Week 3: 7 signals
Week 4: 10 signals

Increasing density = approaching decision

Signals to count:
- Pricing questions
- Timeline questions
- Implementation questions
- Contract questions
- "What's the next step?"

预测模型

历史模式匹配
def predict_from_history(deal):
    # Find similar historical deals
    similar_deals = find_similar_deals(
        industry=deal.industry,
        company_size=deal.company_size,
        deal_size=deal.estimated_value,
        product=deal.product_interest
    )

    # Get their actual close times
    close_times = [d.days_to_close for d in similar_deals]

    # Current deal's stage
    stage_days = get_average_remaining_days(
        stage=deal.current_stage,
        similar_deals=similar_deals
    )

    return {
        "estimated_days": stage_days,
        "confidence": calculate_confidence(similar_deals),
        "range_low": percentile(close_times, 25),
        "range_high": percentile(close_times, 75)
    }
对话模式模型
def predict_from_conversation(deal):
    conversations = get_conversations(deal)

    # Extract features
    features = {
        "avg_response_time": calc_avg_response_time(conversations),
        "response_time_trend": calc_response_trend(conversations),
        "message_count": len(conversations),
        "stakeholder_count": count_stakeholders(conversations),
        "buying_signal_count": count_buying_signals(conversations),
        "objection_count": count_objections(conversations),
        "question_specificity": assess_question_depth(conversations),
        "sentiment_trend": analyze_sentiment_trend(conversations)
    }

    # Predict using trained model
    prediction = close_time_model.predict(features)

    return {
        "estimated_days": prediction,
        "confidence": close_time_model.confidence(features),
        "key_factors": get_key_factors(features)
    }
综合预测
def predict_close_time(deal):
    # Historical comparison
    historical = predict_from_history(deal)

    # Conversation analysis
    conversation = predict_from_conversation(deal)

    # Stage-based baseline
    stage_baseline = get_stage_baseline(deal.current_stage)

    # Weighted combination
    weights = {"historical": 0.3, "conversation": 0.5, "stage": 0.2}

    predicted_days = (
        historical["estimated_days"] * weights["historical"] +
        conversation["estimated_days"] * weights["conversation"] +
        stage_baseline * weights["stage"]
    )

    # Confidence is minimum of components
    confidence = min(
        historical["confidence"],
        conversation["confidence"]
    )

    return {
        "predicted_close_date": today() + timedelta(days=predicted_days),
        "predicted_days": predicted_days,
        "confidence": confidence,
        "factors": {
            "historical_pattern": historical,
            "conversation_signals": conversation,
            "stage_baseline": stage_baseline
        }
    }

特定阶段的预测

早期阶段预测
Discovery stage:
- High uncertainty
- Wide range
- Base on industry averages

Prediction:
"Based on similar companies, expect 60-120 days
to decision. Current engagement suggests
you're on the faster end."

Focus on:
- Qualifying properly
- Identifying decision process
- Understanding timeline drivers
中期阶段预测
Evaluation stage:
- Moderate uncertainty
- Can compare to historical
- Engagement signals matter

Prediction:
"Deal is moving 20% faster than average.
If current pace continues, expect close
in 35-50 days."

Focus on:
- Addressing remaining objections
- Stakeholder alignment
- Competitive positioning
后期阶段预测
Negotiation/Decision stage:
- Lower uncertainty
- Clear remaining steps
- Timing more predictable

Prediction:
"Pending contract review and legal approval.
Historical similar deals close within 2 weeks
of this stage. Target: January 25-February 5."

Focus on:
- Removing blockers
- Expediting approvals
- Closing logistics

动态更新

实时预测更新
Update prediction when:
- New conversation occurs
- Meeting completed
- Stage changes
- New stakeholder added
- Objection raised/addressed
- Buying signal detected

"After today's call where CFO asked about
implementation timeline, prediction moved
from 45 days to 30 days."
预测提醒
def check_prediction_alerts(deal):
    current = deal.current_prediction
    previous = deal.previous_prediction

    alerts = []

    # Significant acceleration
    if current.days < previous.days * 0.7:
        alerts.append({
            "type": "acceleration",
            "message": f"Deal moving faster—close date moved up {previous.days - current.days} days"
        })

    # Significant slowdown
    if current.days > previous.days * 1.3:
        alerts.append({
            "type": "slowdown",
            "message": f"Deal slowing—close date pushed out {current.days - previous.days} days"
        })

    # At risk of slipping
    if deal.target_close_date and current.predicted_close > deal.target_close_date:
        alerts.append({
            "type": "at_risk",
            "message": f"May miss target close date by {(current.predicted_close - deal.target_close_date).days} days"
        })

    return alerts

预测应用

销售管道预测
Aggregate predictions for pipeline:

Pipeline: $1,000,000
- Deal A: $200k, 90% in Jan (weighted: $180k)
- Deal B: $300k, 60% in Jan (weighted: $180k)
- Deal C: $500k, 30% in Jan (weighted: $150k)

January forecast: $510,000

Confidence range:
- Best case: $750,000
- Expected: $510,000
- Worst case: $300,000
资源规划
Use predictions for:
- Implementation team scheduling
- Customer success allocation
- Rep capacity planning
- Inventory/fulfillment

"Predicted $2M closing in Q1.
Implementation needs 3 additional engineers."
交易指导
Alert managers to at-risk deals:

"Deal ABC predicted to close 2 weeks
later than forecast. Engagement dropped.
Suggest manager review."

"Deal XYZ accelerating faster than expected.
May need to pull in implementation team
earlier."

预测准确性

衡量准确性
Track:
- Predicted vs actual close date
- Prediction accuracy by stage
- Accuracy by deal type
- Accuracy improvement over time

Metrics:
- Mean Absolute Error (MAE)
- Prediction within 2 weeks: X%
- Prediction within 30 days: Y%
改进预测
Feedback loop:

1. Make prediction
2. Deal closes (or doesn't)
3. Compare prediction to actual
4. Update model weights
5. Refine signal importance

Over time:
- More accurate predictions
- Better signal identification
- Improved confidence calibration

实施

预测数据模型
{
  "deal_id": "12345",
  "prediction": {
    "predicted_close_date": "2024-02-15",
    "predicted_days_remaining": 30,
    "confidence": 0.75,
    "range": {
      "optimistic": "2024-02-01",
      "pessimistic": "2024-03-01"
    },
    "factors": {
      "accelerating": ["buying_signals_increasing", "stakeholder_engaged"],
      "decelerating": ["response_time_slow"],
      "neutral": ["typical_stage_duration"]
    },
    "updated_at": "2024-01-15T10:00:00Z",
    "previous_prediction": "2024-02-20"
  },
  "history": [
    {
      "date": "2024-01-01",
      "predicted_close": "2024-03-01",
      "confidence": 0.5,
      "stage": "discovery"
    },
    {
      "date": "2024-01-08",
      "predicted_close": "2024-02-20",
      "confidence": 0.65,
      "stage": "evaluation"
    }
  ]
}
集成点
Where to surface predictions:

CRM:
- Deal record
- Pipeline views
- Forecast reports

Bot conversations:
- Adjust urgency based on timeline
- Recommend next actions
- Alert on at-risk deals

Dashboards:
- Rep-level predictions
- Team-level forecast
- Accuracy metrics

基于预测进行沟通

加速交易
"Based on our conversations, you're moving
faster than most companies your size.
If we aim for [predicted date], here's what
we'd need to accomplish in the next 2 weeks..."
停滞的交易
"We had good momentum, but I sense things
have slowed. Is there something holding you
back that I can address?"
有风险的交易
"You mentioned wanting this done by [target].
To hit that, we'd need to [specific actions].
Is that timeline still realistic?"

评论

支持 Markdown