autodoc-agent-kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +362 -0
- package/package.json +49 -0
- package/src/core/module.yaml +5 -0
- package/src/modules/design/module.yaml +9 -0
- package/src/modules/design/skills/brand-guidelines/LICENSE.txt +202 -0
- package/src/modules/design/skills/brand-guidelines/SKILL.md +73 -0
- package/src/modules/design/skills/frontend-design/LICENSE.txt +177 -0
- package/src/modules/design/skills/frontend-design/SKILL.md +42 -0
- package/src/modules/design/skills/web-artifacts-builder/SKILL.md +229 -0
- package/src/modules/devops/module.yaml +10 -0
- package/src/modules/devops/skills/devops-helper/SKILL.md +60 -0
- package/src/modules/devops/skills/k8s-helm/SKILL.md +360 -0
- package/src/modules/devops/skills/monitoring-observability/SKILL.md +240 -0
- package/src/modules/devops/skills/security-auditor/SKILL.md +105 -0
- package/src/modules/engineering/module.yaml +22 -0
- package/src/modules/engineering/skills/ai-sdk/SKILL.md +314 -0
- package/src/modules/engineering/skills/api-designer/SKILL.md +77 -0
- package/src/modules/engineering/skills/code-reviewer/SKILL.md +71 -0
- package/src/modules/engineering/skills/db-architect/SKILL.md +50 -0
- package/src/modules/engineering/skills/debugger/SKILL.md +59 -0
- package/src/modules/engineering/skills/docs-generator/SKILL.md +51 -0
- package/src/modules/engineering/skills/git-workflow/SKILL.md +258 -0
- package/src/modules/engineering/skills/mcp-builder/LICENSE.txt +202 -0
- package/src/modules/engineering/skills/mcp-builder/SKILL.md +236 -0
- package/src/modules/engineering/skills/mcp-builder/reference/evaluation.md +602 -0
- package/src/modules/engineering/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/src/modules/engineering/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/src/modules/engineering/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/src/modules/engineering/skills/mcp-builder/scripts/connections.py +151 -0
- package/src/modules/engineering/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/src/modules/engineering/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/src/modules/engineering/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/src/modules/engineering/skills/nextjs-15/SKILL.md +312 -0
- package/src/modules/engineering/skills/perf-optimizer/SKILL.md +60 -0
- package/src/modules/engineering/skills/react-19/SKILL.md +257 -0
- package/src/modules/engineering/skills/refactorer/SKILL.md +60 -0
- package/src/modules/engineering/skills/skill-authoring-workflow/SKILL.md +183 -0
- package/src/modules/engineering/skills/skill-creator/LICENSE.txt +202 -0
- package/src/modules/engineering/skills/skill-creator/SKILL.md +356 -0
- package/src/modules/engineering/skills/skill-creator/references/output-patterns.md +82 -0
- package/src/modules/engineering/skills/skill-creator/references/workflows.md +28 -0
- package/src/modules/engineering/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
- package/src/modules/engineering/skills/skill-creator/scripts/init_skill.py +303 -0
- package/src/modules/engineering/skills/skill-creator/scripts/package_skill.py +110 -0
- package/src/modules/engineering/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/src/modules/engineering/skills/typescript/SKILL.md +231 -0
- package/src/modules/engineering/skills/zod-4/SKILL.md +223 -0
- package/src/modules/product/module.yaml +51 -0
- package/src/modules/product/skills/acquisition-channel-advisor/SKILL.md +643 -0
- package/src/modules/product/skills/acquisition-channel-advisor/examples/conversation-flow.md +531 -0
- package/src/modules/product/skills/ai-shaped-readiness-advisor/SKILL.md +923 -0
- package/src/modules/product/skills/altitude-horizon-framework/SKILL.md +250 -0
- package/src/modules/product/skills/altitude-horizon-framework/examples/sample.md +85 -0
- package/src/modules/product/skills/business-health-diagnostic/SKILL.md +783 -0
- package/src/modules/product/skills/company-research/SKILL.md +385 -0
- package/src/modules/product/skills/company-research/examples/sample.md +164 -0
- package/src/modules/product/skills/company-research/template.md +60 -0
- package/src/modules/product/skills/context-engineering-advisor/SKILL.md +763 -0
- package/src/modules/product/skills/customer-journey-map/SKILL.md +346 -0
- package/src/modules/product/skills/customer-journey-map/examples/meta-product-manager-skills.md +40 -0
- package/src/modules/product/skills/customer-journey-map/examples/sample.md +33 -0
- package/src/modules/product/skills/customer-journey-map/template.md +28 -0
- package/src/modules/product/skills/customer-journey-mapping-workshop/SKILL.md +523 -0
- package/src/modules/product/skills/director-readiness-advisor/SKILL.md +351 -0
- package/src/modules/product/skills/director-readiness-advisor/examples/conversation-flow.md +96 -0
- package/src/modules/product/skills/discovery-interview-prep/SKILL.md +410 -0
- package/src/modules/product/skills/discovery-process/SKILL.md +504 -0
- package/src/modules/product/skills/discovery-process/examples/sample.md +60 -0
- package/src/modules/product/skills/discovery-process/template.md +39 -0
- package/src/modules/product/skills/eol-message/SKILL.md +348 -0
- package/src/modules/product/skills/eol-message/examples/sample.md +87 -0
- package/src/modules/product/skills/eol-message/template.md +74 -0
- package/src/modules/product/skills/epic-breakdown-advisor/SKILL.md +665 -0
- package/src/modules/product/skills/epic-hypothesis/SKILL.md +277 -0
- package/src/modules/product/skills/epic-hypothesis/examples/sample.md +104 -0
- package/src/modules/product/skills/epic-hypothesis/template.md +30 -0
- package/src/modules/product/skills/executive-onboarding-playbook/SKILL.md +280 -0
- package/src/modules/product/skills/executive-onboarding-playbook/examples/sample.md +116 -0
- package/src/modules/product/skills/feature-investment-advisor/SKILL.md +639 -0
- package/src/modules/product/skills/feature-investment-advisor/examples/conversation-flow.md +538 -0
- package/src/modules/product/skills/finance-based-pricing-advisor/SKILL.md +763 -0
- package/src/modules/product/skills/finance-metrics-quickref/SKILL.md +309 -0
- package/src/modules/product/skills/jobs-to-be-done/SKILL.md +370 -0
- package/src/modules/product/skills/jobs-to-be-done/examples/sample.md +80 -0
- package/src/modules/product/skills/jobs-to-be-done/template.md +65 -0
- package/src/modules/product/skills/lean-ux-canvas/SKILL.md +561 -0
- package/src/modules/product/skills/lean-ux-canvas/examples/sample.md +88 -0
- package/src/modules/product/skills/lean-ux-canvas/template.md +32 -0
- package/src/modules/product/skills/opportunity-solution-tree/SKILL.md +420 -0
- package/src/modules/product/skills/opportunity-solution-tree/examples/sample.md +104 -0
- package/src/modules/product/skills/opportunity-solution-tree/template.md +33 -0
- package/src/modules/product/skills/pestel-analysis/SKILL.md +376 -0
- package/src/modules/product/skills/pestel-analysis/examples/sample.md +143 -0
- package/src/modules/product/skills/pestel-analysis/template.md +53 -0
- package/src/modules/product/skills/pol-probe/SKILL.md +217 -0
- package/src/modules/product/skills/pol-probe/examples/sample.md +136 -0
- package/src/modules/product/skills/pol-probe/template.md +59 -0
- package/src/modules/product/skills/pol-probe-advisor/SKILL.md +492 -0
- package/src/modules/product/skills/positioning-statement/SKILL.md +230 -0
- package/src/modules/product/skills/positioning-statement/examples/sample.md +51 -0
- package/src/modules/product/skills/positioning-statement/template.md +25 -0
- package/src/modules/product/skills/positioning-workshop/SKILL.md +424 -0
- package/src/modules/product/skills/prd-development/SKILL.md +655 -0
- package/src/modules/product/skills/prd-development/examples/sample.md +43 -0
- package/src/modules/product/skills/prd-development/template.md +55 -0
- package/src/modules/product/skills/press-release/SKILL.md +269 -0
- package/src/modules/product/skills/press-release/examples/sample.md +73 -0
- package/src/modules/product/skills/press-release/template.md +39 -0
- package/src/modules/product/skills/prioritization-advisor/SKILL.md +448 -0
- package/src/modules/product/skills/problem-framing-canvas/SKILL.md +466 -0
- package/src/modules/product/skills/problem-framing-canvas/examples/sample.md +58 -0
- package/src/modules/product/skills/problem-framing-canvas/template.md +22 -0
- package/src/modules/product/skills/problem-statement/SKILL.md +246 -0
- package/src/modules/product/skills/problem-statement/examples/sample.md +82 -0
- package/src/modules/product/skills/problem-statement/template.md +37 -0
- package/src/modules/product/skills/product-strategy-session/SKILL.md +426 -0
- package/src/modules/product/skills/product-strategy-session/examples/sample.md +67 -0
- package/src/modules/product/skills/product-strategy-session/template.md +38 -0
- package/src/modules/product/skills/proto-persona/SKILL.md +326 -0
- package/src/modules/product/skills/proto-persona/examples/sample.md +97 -0
- package/src/modules/product/skills/proto-persona/template.md +45 -0
- package/src/modules/product/skills/recommendation-canvas/SKILL.md +375 -0
- package/src/modules/product/skills/recommendation-canvas/examples/sample.md +94 -0
- package/src/modules/product/skills/recommendation-canvas/template.md +86 -0
- package/src/modules/product/skills/roadmap-planning/SKILL.md +505 -0
- package/src/modules/product/skills/roadmap-planning/examples/sample.md +62 -0
- package/src/modules/product/skills/roadmap-planning/template.md +30 -0
- package/src/modules/product/skills/saas-economics-efficiency-metrics/SKILL.md +694 -0
- package/src/modules/product/skills/saas-economics-efficiency-metrics/examples/cash-trap.md +365 -0
- package/src/modules/product/skills/saas-economics-efficiency-metrics/examples/healthy-unit-economics.md +279 -0
- package/src/modules/product/skills/saas-economics-efficiency-metrics/template.md +263 -0
- package/src/modules/product/skills/saas-revenue-growth-metrics/SKILL.md +630 -0
- package/src/modules/product/skills/saas-revenue-growth-metrics/examples/healthy-saas.md +131 -0
- package/src/modules/product/skills/saas-revenue-growth-metrics/examples/warning-signs.md +229 -0
- package/src/modules/product/skills/saas-revenue-growth-metrics/template.md +192 -0
- package/src/modules/product/skills/storyboard/SKILL.md +252 -0
- package/src/modules/product/skills/storyboard/examples/sample.md +71 -0
- package/src/modules/product/skills/storyboard/template.md +41 -0
- package/src/modules/product/skills/tam-sam-som-calculator/SKILL.md +392 -0
- package/src/modules/product/skills/tam-sam-som-calculator/examples/sample.md +142 -0
- package/src/modules/product/skills/tam-sam-som-calculator/scripts/market-sizing.py +95 -0
- package/src/modules/product/skills/tam-sam-som-calculator/template.md +35 -0
- package/src/modules/product/skills/user-story/SKILL.md +272 -0
- package/src/modules/product/skills/user-story/examples/sample.md +110 -0
- package/src/modules/product/skills/user-story/scripts/user-story-template.py +65 -0
- package/src/modules/product/skills/user-story/template.md +32 -0
- package/src/modules/product/skills/user-story-mapping/SKILL.md +285 -0
- package/src/modules/product/skills/user-story-mapping/examples/sample.md +77 -0
- package/src/modules/product/skills/user-story-mapping/template.md +41 -0
- package/src/modules/product/skills/user-story-mapping-workshop/SKILL.md +477 -0
- package/src/modules/product/skills/user-story-mapping-workshop/template.md +28 -0
- package/src/modules/product/skills/user-story-splitting/SKILL.md +303 -0
- package/src/modules/product/skills/user-story-splitting/examples/sample.md +147 -0
- package/src/modules/product/skills/user-story-splitting/template.md +37 -0
- package/src/modules/product/skills/vp-cpo-readiness-advisor/SKILL.md +409 -0
- package/src/modules/product/skills/vp-cpo-readiness-advisor/examples/conversation-flow.md +95 -0
- package/src/modules/product/skills/workshop-facilitation/SKILL.md +87 -0
- package/src/modules/productivity/module.yaml +9 -0
- package/src/modules/productivity/skills/doc-coauthoring/SKILL.md +375 -0
- package/src/modules/productivity/skills/internal-comms/LICENSE.txt +202 -0
- package/src/modules/productivity/skills/internal-comms/SKILL.md +32 -0
- package/src/modules/productivity/skills/internal-comms/examples/3p-updates.md +47 -0
- package/src/modules/productivity/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/src/modules/productivity/skills/internal-comms/examples/faq-answers.md +30 -0
- package/src/modules/productivity/skills/internal-comms/examples/general-comms.md +16 -0
- package/src/modules/productivity/skills/technical-writing/SKILL.md +266 -0
- package/src/modules/qa/module.yaml +9 -0
- package/src/modules/qa/skills/test-strategy/SKILL.md +263 -0
- package/src/modules/qa/skills/test-writer/SKILL.md +57 -0
- package/src/modules/qa/skills/webapp-testing/LICENSE.txt +202 -0
- package/src/modules/qa/skills/webapp-testing/SKILL.md +96 -0
- package/src/modules/qa/skills/webapp-testing/examples/console_logging.py +35 -0
- package/src/modules/qa/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/src/modules/qa/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/src/modules/qa/skills/webapp-testing/scripts/with_server.py +106 -0
- package/tools/autodoc-npx-wrapper.js +34 -0
- package/tools/cli/autodoc-cli.js +55 -0
- package/tools/cli/commands/install.js +36 -0
- package/tools/cli/commands/status.js +35 -0
- package/tools/cli/commands/uninstall.js +60 -0
- package/tools/cli/installers/lib/core/installer.js +164 -0
- package/tools/cli/installers/lib/core/manifest.js +49 -0
- package/tools/cli/installers/lib/ide/manager.js +112 -0
- package/tools/cli/installers/lib/ide/platform-codes.yaml +207 -0
- package/tools/cli/installers/lib/modules/manager.js +59 -0
- package/tools/cli/lib/ui.js +199 -0
- package/tools/cli/lib/welcome.js +82 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: finance-metrics-quickref
|
|
3
|
+
description: Look up SaaS finance metrics, formulas, and benchmarks fast. Use when you need a quick metric definition, formula, or benchmark during analysis.
|
|
4
|
+
intent: >-
|
|
5
|
+
Quick reference for any SaaS finance metric without deep teaching. Use this when you need a fast formula lookup, benchmark check, or decision framework reminder. For detailed explanations, calculations, and examples, see the related deep-dive skills.
|
|
6
|
+
type: component
|
|
7
|
+
best_for:
|
|
8
|
+
- "Quick metric lookups during product or finance reviews"
|
|
9
|
+
- "Checking formulas and benchmarks without reading a long explainer"
|
|
10
|
+
- "Refreshing decision rules for common SaaS metrics"
|
|
11
|
+
scenarios:
|
|
12
|
+
- "What is the formula for NRR and what is a good benchmark?"
|
|
13
|
+
- "Give me a quick reference for CAC payback and Rule of 40"
|
|
14
|
+
- "I need a fast SaaS metrics cheat sheet for a business review"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
|
|
20
|
+
Quick reference for any SaaS finance metric without deep teaching. Use this when you need a fast formula lookup, benchmark check, or decision framework reminder. For detailed explanations, calculations, and examples, see the related deep-dive skills.
|
|
21
|
+
|
|
22
|
+
This is not a teaching tool—it's a cheat sheet optimized for speed. Scan, find, apply.
|
|
23
|
+
|
|
24
|
+
## Key Concepts
|
|
25
|
+
|
|
26
|
+
### Metric Categories
|
|
27
|
+
|
|
28
|
+
Metrics are organized into four families:
|
|
29
|
+
|
|
30
|
+
1. **Revenue & Growth** — Top-line money (revenue, ARPU, ARPA, MRR/ARR, churn, NRR, expansion)
|
|
31
|
+
2. **Unit Economics** — Customer-level profitability (CAC, LTV, payback, margins)
|
|
32
|
+
3. **Capital Efficiency** — Cash management (burn rate, runway, OpEx, net income)
|
|
33
|
+
4. **Efficiency Ratios** — Growth vs. profitability balance (Rule of 40, magic number)
|
|
34
|
+
|
|
35
|
+
### When to Use This Skill
|
|
36
|
+
|
|
37
|
+
**Use this when:**
|
|
38
|
+
- You need a quick formula or benchmark
|
|
39
|
+
- You're preparing for a board meeting or investor call
|
|
40
|
+
- You're evaluating a decision and need to check which metrics matter
|
|
41
|
+
- You want to identify red flags quickly
|
|
42
|
+
|
|
43
|
+
**Don't use this when:**
|
|
44
|
+
- You need detailed calculation guidance (use `saas-revenue-growth-metrics` or `saas-economics-efficiency-metrics`)
|
|
45
|
+
- You're learning these metrics for the first time (start with deep-dive skills)
|
|
46
|
+
- You need examples and common pitfalls (covered in related skills)
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Application
|
|
51
|
+
|
|
52
|
+
### All Metrics Reference Table
|
|
53
|
+
|
|
54
|
+
| **Metric** | **Formula** | **What It Measures** | **Good Benchmark** | **Red Flag** |
|
|
55
|
+
|------------|-------------|----------------------|-------------------|--------------|
|
|
56
|
+
| **Revenue** | Total sales before expenses | Top-line money earned | Growth rate >20% YoY (varies by stage) | Revenue growing slower than costs |
|
|
57
|
+
| **ARPU** | Total Revenue / Total Users | Revenue per individual user | Varies by model; track trend | ARPU declining cohort-over-cohort |
|
|
58
|
+
| **ARPA** | MRR / Active Accounts | Revenue per customer account | SMB: $100-$1K; Mid: $1K-$10K; Ent: $10K+ | High ARPA + low ARPU (undermonetized seats) |
|
|
59
|
+
| **ACV** | Annual Recurring Revenue per Contract | Annualized contract value | SMB: $5K-$25K; Mid: $25K-$100K; Ent: $100K+ | ACV declining (moving downmarket unintentionally) |
|
|
60
|
+
| **MRR/ARR** | MRR × 12 = ARR | Predictable recurring revenue | Growth + quality matter; track components | New MRR declining while churn stable/growing |
|
|
61
|
+
| **Churn Rate** | Customers Lost / Starting Customers | % of customers who cancel | Monthly <2% great, <5% ok; Annual <10% great | Churn increasing cohort-over-cohort |
|
|
62
|
+
| **NRR** | (Start ARR + Expansion - Churn - Contraction) / Start ARR × 100 | Revenue retention + expansion | >120% excellent; 100-120% good; 90-100% ok | NRR <100% (base is contracting) |
|
|
63
|
+
| **Expansion Revenue** | Upsells + Cross-sells + Usage Growth | Additional revenue from existing customers | 20-30% of total revenue | Expansion <10% of MRR |
|
|
64
|
+
| **Quick Ratio** | (New MRR + Expansion MRR) / (Churned MRR + Contraction) | Revenue gains vs. losses | >4 excellent; 2-4 healthy; <2 leaky bucket | Quick Ratio <2 (leaky bucket) |
|
|
65
|
+
| **Gross Margin** | (Revenue - COGS) / Revenue × 100 | % of revenue after direct costs | SaaS: 70-85% good; <60% concerning | Gross margin <60% or declining |
|
|
66
|
+
| **CAC** | Total S&M Spend / New Customers | Cost to acquire one customer | Varies: Ent $10K+ ok; SMB <$500 | CAC increasing while LTV flat |
|
|
67
|
+
| **LTV** | ARPU × Gross Margin % / Churn Rate | Total revenue from one customer | Must be 3x+ CAC; varies by segment | LTV declining cohort-over-cohort |
|
|
68
|
+
| **LTV:CAC** | LTV / CAC | Unit economics efficiency | 3:1 healthy; <1:1 unsustainable; >5:1 underinvesting | LTV:CAC <1.5:1 |
|
|
69
|
+
| **Payback Period** | CAC / (Monthly ARPU × Gross Margin %) | Months to recover CAC | <12 months great; 12-18 ok; >24 concerning | Payback >24 months (cash trap) |
|
|
70
|
+
| **Contribution Margin** | (Revenue - All Variable Costs) / Revenue × 100 | True contribution after variable costs | 60-80% good for SaaS; <40% concerning | Contribution margin <40% |
|
|
71
|
+
| **Burn Rate** | Monthly Cash Spent - Revenue | Cash consumed per month | Net burn <$200K manageable early; <$500K growth | Net burn accelerating |
|
|
72
|
+
| **Runway** | Cash Balance / Monthly Net Burn | Months until money runs out | 12+ months good; 6-12 ok; <6 crisis | Runway <6 months |
|
|
73
|
+
| **OpEx** | S&M + R&D + G&A | Costs to run the business | Should grow slower than revenue | OpEx growing faster than revenue |
|
|
74
|
+
| **Net Income** | Revenue - All Expenses | Actual profit/loss | Early negative ok; mature 10-20%+ margin | Losses accelerating without growth |
|
|
75
|
+
| **Rule of 40** | Revenue Growth % + Profit Margin % | Balance of growth vs. efficiency | >40 healthy; 25-40 ok; <25 concerning | Rule of 40 <25 |
|
|
76
|
+
| **Magic Number** | (Q Revenue - Prev Q Revenue) × 4 / Prev Q S&M | S&M efficiency | >0.75 efficient; 0.5-0.75 ok; <0.5 fix GTM | Magic Number <0.5 |
|
|
77
|
+
| **Operating Leverage** | Revenue Growth vs. OpEx Growth | Scaling efficiency | Revenue growth > OpEx growth | OpEx growing faster than revenue |
|
|
78
|
+
| **Gross vs. Net Revenue** | Net = Gross - Discounts - Refunds - Credits | What you actually keep | Refunds <10%; discounts <20% | Refunds >10% (product problem) |
|
|
79
|
+
| **Revenue Concentration** | Top N Customers / Total Revenue | Dependency on largest customers | Top customer <10%; Top 10 <40% | Top customer >25% (existential risk) |
|
|
80
|
+
| **Revenue Mix** | Product/Segment Revenue / Total Revenue | Portfolio composition | No single product >60% ideal | Single product >80% (no diversification) |
|
|
81
|
+
| **Cohort Analysis** | Group customers by join date; track behavior | Whether business improving or degrading | Recent cohorts same/better than old | Newer cohorts perform worse |
|
|
82
|
+
| **CAC Payback by Channel** | CAC / Monthly Contribution (by channel) | Payback by acquisition channel | Compare across channels | One channel far worse than others |
|
|
83
|
+
| **Gross Margin Payback** | CAC / (Monthly ARPU × Gross Margin %) | Payback using actual profit | Typically 1.5-2x simple payback | Payback using margin >36 months |
|
|
84
|
+
| **Unit Economics** | Revenue per unit - Cost per unit | Profitability of each "unit" | Positive contribution required | Negative contribution margin |
|
|
85
|
+
| **Segment Payback** | CAC / Monthly Contribution (by segment) | Payback by customer segment | Compare to allocate resources | One segment unprofitable |
|
|
86
|
+
| **Incrementality** | Revenue caused by action - Baseline | True impact of marketing/promo | Measure with holdout tests | Celebrating revenue that would've happened anyway |
|
|
87
|
+
| **Working Capital** | Cash timing between revenue and collection | Cash vs. revenue timing | Annual upfront > monthly billing | Long payment terms killing runway |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### Quick Decision Frameworks
|
|
92
|
+
|
|
93
|
+
Use these frameworks to combine metrics for common PM decisions.
|
|
94
|
+
|
|
95
|
+
#### Framework 1: Should We Build This Feature?
|
|
96
|
+
|
|
97
|
+
**Ask:**
|
|
98
|
+
1. **Revenue impact?** Direct (pricing, add-on) or indirect (retention, conversion)?
|
|
99
|
+
2. **Margin impact?** What's the COGS? Does it dilute margins?
|
|
100
|
+
3. **ROI?** Revenue impact / Development cost
|
|
101
|
+
|
|
102
|
+
**Build if:**
|
|
103
|
+
- ROI >3x in year one (direct monetization), OR
|
|
104
|
+
- LTV impact >10x development cost (retention), OR
|
|
105
|
+
- Strategic value overrides short-term ROI
|
|
106
|
+
|
|
107
|
+
**Don't build if:**
|
|
108
|
+
- Negative contribution margin even with optimistic adoption
|
|
109
|
+
- Payback period exceeds average customer lifetime
|
|
110
|
+
|
|
111
|
+
**Metrics to check:** Revenue, Gross Margin, LTV, Contribution Margin
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
#### Framework 2: Should We Scale This Acquisition Channel?
|
|
116
|
+
|
|
117
|
+
**Ask:**
|
|
118
|
+
1. **Unit economics?** CAC, LTV, LTV:CAC ratio
|
|
119
|
+
2. **Cash efficiency?** Payback period
|
|
120
|
+
3. **Customer quality?** Cohort retention, NRR by channel
|
|
121
|
+
4. **Scalability?** Magic Number, addressable volume
|
|
122
|
+
|
|
123
|
+
**Scale if:**
|
|
124
|
+
- LTV:CAC >3:1 AND
|
|
125
|
+
- Payback <18 months AND
|
|
126
|
+
- Customer quality meets/beats other channels AND
|
|
127
|
+
- Magic Number >0.75
|
|
128
|
+
|
|
129
|
+
**Don't scale if:**
|
|
130
|
+
- LTV:CAC <1.5:1 AND
|
|
131
|
+
- No clear path to improvement
|
|
132
|
+
|
|
133
|
+
**Metrics to check:** CAC, LTV, LTV:CAC, Payback Period, NRR, Magic Number
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
#### Framework 3: Should We Change Pricing?
|
|
138
|
+
|
|
139
|
+
**Ask:**
|
|
140
|
+
1. **ARPU/ARPA impact?** Will revenue per customer increase?
|
|
141
|
+
2. **Conversion impact?** Help or hurt trial-to-paid conversion?
|
|
142
|
+
3. **Churn impact?** Create churn risk or reduce it?
|
|
143
|
+
4. **NRR impact?** Enable expansion or create contraction?
|
|
144
|
+
|
|
145
|
+
**Implement if:**
|
|
146
|
+
- Net revenue impact positive after churn risk
|
|
147
|
+
- Can test with segment before broad rollout
|
|
148
|
+
|
|
149
|
+
**Don't change if:**
|
|
150
|
+
- High churn risk without offsetting expansion
|
|
151
|
+
- Can't test hypothesis before committing
|
|
152
|
+
|
|
153
|
+
**Metrics to check:** ARPU, ARPA, Churn Rate, NRR, CAC Payback
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
#### Framework 4: Is the Business Healthy?
|
|
158
|
+
|
|
159
|
+
**Check by stage:**
|
|
160
|
+
|
|
161
|
+
**Early Stage (Pre-$10M ARR):**
|
|
162
|
+
- Growth Rate >50% YoY
|
|
163
|
+
- LTV:CAC >3:1
|
|
164
|
+
- Gross Margin >70%
|
|
165
|
+
- Runway >12 months
|
|
166
|
+
|
|
167
|
+
**Growth Stage ($10M-$50M ARR):**
|
|
168
|
+
- Growth Rate >40% YoY
|
|
169
|
+
- NRR >100%
|
|
170
|
+
- Rule of 40 >40
|
|
171
|
+
- Magic Number >0.75
|
|
172
|
+
|
|
173
|
+
**Scale Stage ($50M+ ARR):**
|
|
174
|
+
- Growth Rate >25% YoY
|
|
175
|
+
- NRR >110%
|
|
176
|
+
- Rule of 40 >40
|
|
177
|
+
- Profit Margin >10%
|
|
178
|
+
|
|
179
|
+
**Metrics to check:** Revenue Growth, NRR, LTV:CAC, Rule of 40, Magic Number, Gross Margin
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### Red Flags by Category
|
|
184
|
+
|
|
185
|
+
#### Revenue & Growth Red Flags
|
|
186
|
+
| **Red Flag** | **What It Means** | **Action** |
|
|
187
|
+
|--------------|-------------------|------------|
|
|
188
|
+
| Churn increasing cohort-over-cohort | Product-market fit degrading | Stop scaling acquisition; fix retention first |
|
|
189
|
+
| NRR <100% | Base is contracting | Fix expansion or reduce churn before scaling |
|
|
190
|
+
| Revenue churn > logo churn | Losing big customers | Investigate why high-value customers leave |
|
|
191
|
+
| Quick Ratio <2 | Leaky bucket (barely outpacing losses) | Fix retention before scaling acquisition |
|
|
192
|
+
| Expansion revenue <10% of MRR | No upsell/cross-sell engine | Build expansion paths |
|
|
193
|
+
| Revenue concentration >50% in top 10 customers | Existential dependency risk | Diversify customer base |
|
|
194
|
+
|
|
195
|
+
#### Unit Economics Red Flags
|
|
196
|
+
| **Red Flag** | **What It Means** | **Action** |
|
|
197
|
+
|--------------|-------------------|------------|
|
|
198
|
+
| LTV:CAC <1.5:1 | Buying revenue at a loss | Reduce CAC or increase LTV before scaling |
|
|
199
|
+
| Payback >24 months | Cash trap (long cash recovery) | Negotiate annual upfront or reduce CAC |
|
|
200
|
+
| Gross margin <60% | Low profitability per dollar | Increase prices or reduce COGS |
|
|
201
|
+
| CAC increasing while LTV flat | Unit economics degrading | Optimize conversion or reduce sales cycle |
|
|
202
|
+
| Contribution margin <40% | Unprofitable after variable costs | Cut variable costs or increase prices |
|
|
203
|
+
|
|
204
|
+
#### Capital Efficiency Red Flags
|
|
205
|
+
| **Red Flag** | **What It Means** | **Action** |
|
|
206
|
+
|--------------|-------------------|------------|
|
|
207
|
+
| Runway <6 months | Survival crisis | Raise capital immediately or cut burn |
|
|
208
|
+
| Net burn accelerating without revenue growth | Burning faster without results | Cut costs or increase revenue urgency |
|
|
209
|
+
| OpEx growing faster than revenue | Negative operating leverage | Freeze hiring; optimize spend |
|
|
210
|
+
| Rule of 40 <25 | Burning cash without growth | Improve growth or cut to profitability |
|
|
211
|
+
| Magic Number <0.5 | S&M engine broken | Fix GTM efficiency before scaling spend |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
### When to Use Which Metric
|
|
216
|
+
|
|
217
|
+
**Prioritizing features:**
|
|
218
|
+
- Revenue impact → Revenue, ARPU, Expansion Revenue
|
|
219
|
+
- Margin impact → Gross Margin, Contribution Margin
|
|
220
|
+
- ROI → LTV impact, Development cost
|
|
221
|
+
|
|
222
|
+
**Evaluating channels:**
|
|
223
|
+
- Acquisition cost → CAC, CAC by Channel
|
|
224
|
+
- Customer value → LTV, NRR by Channel
|
|
225
|
+
- Payback → Payback Period, CAC Payback by Channel
|
|
226
|
+
- Scalability → Magic Number
|
|
227
|
+
|
|
228
|
+
**Pricing decisions:**
|
|
229
|
+
- Monetization → ARPU, ARPA, ACV
|
|
230
|
+
- Impact → Churn Rate, NRR, Expansion Revenue
|
|
231
|
+
- Efficiency → CAC Payback (will pricing change affect it?)
|
|
232
|
+
|
|
233
|
+
**Business health:**
|
|
234
|
+
- Growth → Revenue Growth, MRR/ARR Growth
|
|
235
|
+
- Retention → Churn Rate, NRR, Quick Ratio
|
|
236
|
+
- Economics → LTV:CAC, Payback Period, Gross Margin
|
|
237
|
+
- Efficiency → Rule of 40, Magic Number, Operating Leverage
|
|
238
|
+
- Survival → Burn Rate, Runway
|
|
239
|
+
|
|
240
|
+
**Board/investor reporting:**
|
|
241
|
+
- Key metrics: ARR, Revenue Growth %, NRR, LTV:CAC, Rule of 40, Magic Number, Burn Rate, Runway
|
|
242
|
+
- Stage-specific: Early stage emphasize growth + unit economics; Growth stage emphasize Rule of 40 + Magic Number; Scale stage emphasize profitability + efficiency
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Examples
|
|
247
|
+
|
|
248
|
+
### Example 1: Feature Investment Sanity Check
|
|
249
|
+
|
|
250
|
+
You are deciding whether to build a premium export feature.
|
|
251
|
+
|
|
252
|
+
1. Use Framework 1 (Should We Build This Feature?)
|
|
253
|
+
2. Pull baseline metrics: ARPU, Gross Margin, LTV, Contribution Margin
|
|
254
|
+
3. Model optimistic, base, and downside adoption
|
|
255
|
+
4. Reject if contribution margin turns negative in downside case
|
|
256
|
+
|
|
257
|
+
Quick output:
|
|
258
|
+
- Base case ROI: 3.8x
|
|
259
|
+
- Contribution margin impact: +4 points
|
|
260
|
+
- Decision: Build now, with a 90-day post-launch check on churn and expansion
|
|
261
|
+
|
|
262
|
+
### Example 2: Channel Scale Decision
|
|
263
|
+
|
|
264
|
+
Paid social is generating many signups but weak retention.
|
|
265
|
+
|
|
266
|
+
1. Use Framework 2 (Should We Scale This Acquisition Channel?)
|
|
267
|
+
2. Check CAC, LTV:CAC, Payback Period, and NRR by channel
|
|
268
|
+
3. Compare against best-performing channel, not company average
|
|
269
|
+
|
|
270
|
+
Quick output:
|
|
271
|
+
- LTV:CAC: 1.6:1
|
|
272
|
+
- Payback: 26 months
|
|
273
|
+
- NRR: 88%
|
|
274
|
+
- Decision: Do not scale; cap spend and run targeted optimization tests
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Common Pitfalls
|
|
279
|
+
|
|
280
|
+
- Using blended company averages instead of cohort or channel-level metrics
|
|
281
|
+
- Scaling acquisition when Quick Ratio is weak and retention is deteriorating
|
|
282
|
+
- Treating high LTV:CAC as sufficient without checking payback and runway impact
|
|
283
|
+
- Raising prices based on ARPU lift alone without modeling churn and contraction
|
|
284
|
+
- Comparing benchmarks across mismatched company stages or business models
|
|
285
|
+
- Tracking many metrics without a clear decision question
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## References
|
|
290
|
+
|
|
291
|
+
### Related Skills (Deep Dives)
|
|
292
|
+
- `saas-revenue-growth-metrics` — Detailed guidance on revenue, retention, and growth metrics (13 metrics)
|
|
293
|
+
- `saas-economics-efficiency-metrics` — Detailed guidance on unit economics and capital efficiency (17 metrics)
|
|
294
|
+
- `feature-investment-advisor` — Uses these metrics to evaluate feature ROI
|
|
295
|
+
- `acquisition-channel-advisor` — Uses these metrics to evaluate channel viability
|
|
296
|
+
- `finance-based-pricing-advisor` — Uses these metrics to evaluate pricing changes
|
|
297
|
+
- `business-health-diagnostic` — Uses these metrics to diagnose business health
|
|
298
|
+
|
|
299
|
+
### External Resources
|
|
300
|
+
- **Bessemer Venture Partners:** "SaaS Metrics 2.0" — Comprehensive SaaS benchmarking
|
|
301
|
+
- **David Skok (Matrix Partners):** "SaaS Metrics" blog series — Deep dive on unit economics
|
|
302
|
+
- **Tomasz Tunguz (Redpoint):** SaaS benchmarking research and blog
|
|
303
|
+
- **ChartMogul, Baremetrics, ProfitWell:** SaaS analytics platforms with metric definitions
|
|
304
|
+
- **SaaStr:** Annual SaaS benchmarking surveys
|
|
305
|
+
|
|
306
|
+
### Provenance
|
|
307
|
+
- Adapted from `research/finance/Finance_QuickRef.md`
|
|
308
|
+
- Formulas from `research/finance/Finance for Product Managers.md`
|
|
309
|
+
- Decision frameworks from `research/finance/Finance_For_PMs.Putting_It_Together_Synthesis.md`
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jobs-to-be-done
|
|
3
|
+
description: Uncover customer jobs, pains, and gains in a structured JTBD format. Use when clarifying unmet needs, repositioning a product, or improving discovery and messaging.
|
|
4
|
+
intent: >-
|
|
5
|
+
Systematically explore what customers are trying to accomplish (functional, social, emotional jobs), the pains they experience, and the gains they seek. Use this framework to uncover unmet needs, validate product ideas, and ensure your solution addresses real motivations—not just surface-level feature requests.
|
|
6
|
+
type: component
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
Systematically explore what customers are trying to accomplish (functional, social, emotional jobs), the pains they experience, and the gains they seek. Use this framework to uncover unmet needs, validate product ideas, and ensure your solution addresses real motivations—not just surface-level feature requests.
|
|
12
|
+
|
|
13
|
+
This is not a survey—it's a structured lens for understanding *why* customers "hire" your product and what would make them "fire" it.
|
|
14
|
+
|
|
15
|
+
## Key Concepts
|
|
16
|
+
|
|
17
|
+
### The Jobs-to-be-Done Framework
|
|
18
|
+
Influenced by Clayton Christensen and the Value Proposition Canvas (Osterwalder), JTBD breaks customer needs into three categories:
|
|
19
|
+
|
|
20
|
+
**1. Customer Jobs:**
|
|
21
|
+
- **Functional jobs:** Tasks customers need to perform (e.g., "send an invoice")
|
|
22
|
+
- **Social jobs:** How customers want to be perceived (e.g., "look professional to clients")
|
|
23
|
+
- **Emotional jobs:** Emotional states customers seek or avoid (e.g., "feel confident in my work")
|
|
24
|
+
|
|
25
|
+
**2. Pains:**
|
|
26
|
+
- **Challenges:** Obstacles customers face
|
|
27
|
+
- **Costliness:** What's too expensive in time, money, or effort
|
|
28
|
+
- **Common mistakes:** Errors customers make that could be prevented
|
|
29
|
+
- **Unresolved problems:** Gaps in current solutions
|
|
30
|
+
|
|
31
|
+
**3. Gains:**
|
|
32
|
+
- **Expectations:** What would exceed current solutions
|
|
33
|
+
- **Savings:** Time, money, or effort reductions that delight
|
|
34
|
+
- **Adoption factors:** What increases likelihood of switching
|
|
35
|
+
- **Life improvement:** How a solution makes life easier or more enjoyable
|
|
36
|
+
|
|
37
|
+
### Why This Structure Works
|
|
38
|
+
- **Separates job from solution:** "Communicate with my team" (job) ≠ "email" (solution)
|
|
39
|
+
- **Reveals underlying motivations:** Functional job may be "track expenses," but emotional job is "feel in control of finances"
|
|
40
|
+
- **Surfaces competition you didn't see:** Customers "hire" non-obvious alternatives (pen and paper, spreadsheets, workarounds)
|
|
41
|
+
- **Prioritizes by intensity:** Not all pains are equal—focus on the most acute
|
|
42
|
+
|
|
43
|
+
### Anti-Patterns (What This Is NOT)
|
|
44
|
+
- **Not a feature wishlist:** "I want AI, automation, and dashboards" is not a job
|
|
45
|
+
- **Not demographics:** "Millennials want mobile-first" is a persona trait, not a job
|
|
46
|
+
- **Not generic:** "Be more productive" is too vague—dig into *which* tasks and *why*
|
|
47
|
+
- **Not one-dimensional:** Focusing only on functional jobs misses social/emotional motivations
|
|
48
|
+
|
|
49
|
+
### When to Use This
|
|
50
|
+
- Early-stage discovery (before you know the solution)
|
|
51
|
+
- Validating product-market fit (does your solution address the right jobs?)
|
|
52
|
+
- Prioritizing roadmap (which jobs are most painful/important?)
|
|
53
|
+
- Competitive analysis (what are customers "hiring" competitors for?)
|
|
54
|
+
- Marketing messaging (speak to jobs, not features)
|
|
55
|
+
|
|
56
|
+
### When NOT to Use This
|
|
57
|
+
- After you've already built the product (too late for discovery)
|
|
58
|
+
- For trivial features (don't over-analyze small tweaks)
|
|
59
|
+
- As a substitute for quantitative validation (JTBD informs hypotheses; data validates them)
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Application
|
|
64
|
+
|
|
65
|
+
Use `template.md` for the full fill-in structure.
|
|
66
|
+
|
|
67
|
+
### Step 1: Define the Context
|
|
68
|
+
Before exploring JTBD, clarify:
|
|
69
|
+
- **Target customer segment:** Who are you studying? (reference `skills/proto-persona/SKILL.md`)
|
|
70
|
+
- **Situation:** In what context does the job arise? (e.g., "When managing a project deadline...")
|
|
71
|
+
- **Current solutions:** What do they use today? (competitors, workarounds, doing nothing)
|
|
72
|
+
|
|
73
|
+
**If missing context:** Conduct customer interviews, contextual inquiries, or "switch interviews" (why they switched from a previous solution).
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### Step 2: Explore Customer Jobs
|
|
78
|
+
|
|
79
|
+
#### Functional Jobs
|
|
80
|
+
Ask: "What tasks are you trying to complete?"
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
### Functional Jobs:
|
|
84
|
+
- [Task 1 customer needs to perform]
|
|
85
|
+
- [Task 2 customer needs to perform]
|
|
86
|
+
- [Task 3 customer needs to perform]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Examples:**
|
|
90
|
+
- "Reconcile monthly expenses for tax filing"
|
|
91
|
+
- "Onboard a new team member in under 2 hours"
|
|
92
|
+
- "Deploy code to production without downtime"
|
|
93
|
+
|
|
94
|
+
**Quality checks:**
|
|
95
|
+
- **Verb-driven:** Jobs are actions ("send," "analyze," "coordinate")
|
|
96
|
+
- **Solution-agnostic:** Don't say "use email to communicate"—say "communicate with remote teammates"
|
|
97
|
+
- **Specific:** "Manage finances" is too broad; "Track business expenses for tax deductions" is specific
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
#### Social Jobs
|
|
102
|
+
Ask: "How do you want to be perceived by others?"
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
### Social Jobs:
|
|
106
|
+
- [Way customer wants to be perceived socially 1]
|
|
107
|
+
- [Way customer wants to be perceived socially 2]
|
|
108
|
+
- [Way customer wants to be perceived socially 3]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Examples:**
|
|
112
|
+
- "Be seen as a strategic thinker by my exec team"
|
|
113
|
+
- "Appear responsive and reliable to clients"
|
|
114
|
+
- "Look tech-savvy to my younger colleagues"
|
|
115
|
+
|
|
116
|
+
**Quality checks:**
|
|
117
|
+
- **Audience-specific:** Who is the customer trying to impress? (boss, clients, peers, etc.)
|
|
118
|
+
- **Emotional weight:** Social jobs often drive adoption more than functional jobs
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
#### Emotional Jobs
|
|
123
|
+
Ask: "What emotional state do you want to achieve or avoid?"
|
|
124
|
+
|
|
125
|
+
```markdown
|
|
126
|
+
### Emotional Jobs:
|
|
127
|
+
- [Emotional state customer seeks or avoids 1]
|
|
128
|
+
- [Emotional state customer seeks or avoids 2]
|
|
129
|
+
- [Emotional state customer seeks or avoids 3]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Examples:**
|
|
133
|
+
- "Feel confident I'm not missing important details"
|
|
134
|
+
- "Avoid the anxiety of manual data entry errors"
|
|
135
|
+
- "Feel a sense of accomplishment at the end of the day"
|
|
136
|
+
|
|
137
|
+
**Quality checks:**
|
|
138
|
+
- **Positive and negative:** Include both what they seek ("feel in control") and what they avoid ("avoid embarrassment")
|
|
139
|
+
- **Rooted in research:** Don't fabricate emotions—use customer quotes
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### Step 3: Identify Pains
|
|
144
|
+
|
|
145
|
+
#### Challenges
|
|
146
|
+
Ask: "What obstacles are preventing you from completing this job?"
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
### Challenges:
|
|
150
|
+
- [Obstacle customer faces 1]
|
|
151
|
+
- [Obstacle customer faces 2]
|
|
152
|
+
- [Obstacle customer faces 3]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Examples:**
|
|
156
|
+
- "Tools don't integrate, forcing manual data entry"
|
|
157
|
+
- "No visibility into what teammates are working on"
|
|
158
|
+
- "Approval processes take 3+ days, blocking progress"
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
#### Costliness
|
|
163
|
+
Ask: "What takes too much time, money, or effort?"
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
### Costliness:
|
|
167
|
+
- [What's too costly in time, money, or effort 1]
|
|
168
|
+
- [What's too costly in time, money, or effort 2]
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Examples:**
|
|
172
|
+
- "Generating monthly reports takes 8 hours of manual work"
|
|
173
|
+
- "Hiring a specialist costs $10k, which we can't afford"
|
|
174
|
+
- "Learning the current tool requires 20+ hours of training"
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
#### Common Mistakes
|
|
179
|
+
Ask: "What errors do you make frequently that could be prevented?"
|
|
180
|
+
|
|
181
|
+
```markdown
|
|
182
|
+
### Common Mistakes:
|
|
183
|
+
- [Frequent error 1]
|
|
184
|
+
- [Frequent error 2]
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Examples:**
|
|
188
|
+
- "Forgetting to CC stakeholders on critical emails"
|
|
189
|
+
- "Miscalculating tax deductions due to missing receipts"
|
|
190
|
+
- "Accidentally overwriting someone else's work in shared files"
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
#### Unresolved Problems
|
|
195
|
+
Ask: "What problems do current solutions fail to address?"
|
|
196
|
+
|
|
197
|
+
```markdown
|
|
198
|
+
### Unresolved Problems:
|
|
199
|
+
- [Problem not solved by current solutions 1]
|
|
200
|
+
- [Problem not solved by current solutions 2]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Examples:**
|
|
204
|
+
- "Current CRM doesn't track customer health scores"
|
|
205
|
+
- "Email doesn't preserve conversation context when people are added mid-thread"
|
|
206
|
+
- "Existing tools require technical expertise we don't have"
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### Step 4: Uncover Gains
|
|
211
|
+
|
|
212
|
+
#### Expectations
|
|
213
|
+
Ask: "What would make you love a solution?"
|
|
214
|
+
|
|
215
|
+
```markdown
|
|
216
|
+
### Expectations:
|
|
217
|
+
- [What could exceed expectations 1]
|
|
218
|
+
- [What could exceed expectations 2]
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Examples:**
|
|
222
|
+
- "Automatically categorizes expenses without manual tagging"
|
|
223
|
+
- "Suggests next steps based on project status"
|
|
224
|
+
- "Integrates seamlessly with tools we already use"
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
#### Savings
|
|
229
|
+
Ask: "What savings in time, money, or effort would delight you?"
|
|
230
|
+
|
|
231
|
+
```markdown
|
|
232
|
+
### Savings:
|
|
233
|
+
- [Way of saving time, money, or effort 1]
|
|
234
|
+
- [Way of saving time, money, or effort 2]
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Examples:**
|
|
238
|
+
- "Reduce report generation from 8 hours to 10 minutes"
|
|
239
|
+
- "Eliminate the need for a full-time admin"
|
|
240
|
+
- "Cut onboarding time from 2 weeks to 2 days"
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
#### Adoption Factors
|
|
245
|
+
Ask: "What would make you switch from your current solution?"
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
### Adoption Factors:
|
|
249
|
+
- [Factor increasing likelihood of adoption 1]
|
|
250
|
+
- [Factor increasing likelihood of adoption 2]
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Examples:**
|
|
254
|
+
- "Free trial with no credit card required"
|
|
255
|
+
- "Migration support to import existing data"
|
|
256
|
+
- "Testimonials from companies like ours"
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
#### Life Improvement
|
|
261
|
+
Ask: "How would your life be better if this job were easier?"
|
|
262
|
+
|
|
263
|
+
```markdown
|
|
264
|
+
### Life Improvement:
|
|
265
|
+
- [How solution makes life easier or more enjoyable 1]
|
|
266
|
+
- [How solution makes life easier or more enjoyable 2]
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**Examples:**
|
|
270
|
+
- "I could leave work on time instead of staying late to finish reports"
|
|
271
|
+
- "I'd feel less stressed about missing important deadlines"
|
|
272
|
+
- "I could focus on strategic work instead of busywork"
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
### Step 5: Prioritize and Validate
|
|
277
|
+
|
|
278
|
+
- **Rank pains by intensity:** Which pains are acute vs. mild annoyances?
|
|
279
|
+
- **Identify must-have vs. nice-to-have gains:** What would drive adoption vs. what's just a bonus?
|
|
280
|
+
- **Cross-reference with personas:** Do different personas have different jobs/pains/gains? (reference `skills/proto-persona/SKILL.md`)
|
|
281
|
+
- **Validate with data:** Survey a broader audience to confirm JTBD insights from interviews
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Examples
|
|
286
|
+
|
|
287
|
+
See `examples/sample.md` for full JTBD examples.
|
|
288
|
+
|
|
289
|
+
Mini example excerpt:
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
**Functional Jobs:** Coordinate tasks across a distributed team
|
|
293
|
+
**Pains - Challenges:** Team members use different tools, creating silos
|
|
294
|
+
**Gains - Savings:** Reduce status reporting time from 3 hours to 15 minutes
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Common Pitfalls
|
|
300
|
+
|
|
301
|
+
### Pitfall 1: Confusing Jobs with Solutions
|
|
302
|
+
**Symptom:** "I need to use Slack" or "I need AI-powered analytics"
|
|
303
|
+
|
|
304
|
+
**Consequence:** You've anchored on a solution, not the underlying job.
|
|
305
|
+
|
|
306
|
+
**Fix:** Ask "Why?" 5 times. "I need Slack" → "Why?" → "To communicate with my team" → "Why?" → "To get quick answers" → "Why?" → "To avoid project delays."
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
### Pitfall 2: Generic Jobs
|
|
311
|
+
**Symptom:** "Be more productive" or "Save time"
|
|
312
|
+
|
|
313
|
+
**Consequence:** Too vague to inform product decisions.
|
|
314
|
+
|
|
315
|
+
**Fix:** Get specific. "Save time" → "Reduce time spent generating monthly reports from 8 hours to 1 hour."
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
### Pitfall 3: Ignoring Social/Emotional Jobs
|
|
320
|
+
**Symptom:** Only documenting functional jobs
|
|
321
|
+
|
|
322
|
+
**Consequence:** You miss powerful motivators. People often buy based on emotional/social needs, not just functional.
|
|
323
|
+
|
|
324
|
+
**Fix:** Explicitly ask about perception and emotions in interviews. "How would solving this make you feel?" "Who would notice if you solved this?"
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
### Pitfall 4: Fabricating JTBD Without Research
|
|
329
|
+
**Symptom:** Filling out the template based on assumptions
|
|
330
|
+
|
|
331
|
+
**Consequence:** You're guessing. JTBD analysis is only valuable if grounded in real customer insights.
|
|
332
|
+
|
|
333
|
+
**Fix:** Conduct "switch interviews" (ask why they switched from a previous solution), contextual inquiries, or problem validation interviews.
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
### Pitfall 5: Treating All Pains as Equal
|
|
338
|
+
**Symptom:** Listing 20 pains without prioritization
|
|
339
|
+
|
|
340
|
+
**Consequence:** No clarity on what to solve first.
|
|
341
|
+
|
|
342
|
+
**Fix:** Rank pains by intensity (acute vs. mild). Ask "If we only solved one pain, which would have the biggest impact?"
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## References
|
|
347
|
+
|
|
348
|
+
### Related Skills
|
|
349
|
+
- `skills/proto-persona/SKILL.md` — Defines who has these jobs/pains/gains
|
|
350
|
+
- `skills/problem-statement/SKILL.md` — JTBD informs the "Trying to" and "But" sections
|
|
351
|
+
- `skills/positioning-statement/SKILL.md` — JTBD informs the "that need" statement
|
|
352
|
+
|
|
353
|
+
### External Frameworks
|
|
354
|
+
- Clayton Christensen, *Competing Against Luck* (2016) — Origin of Jobs-to-be-Done theory
|
|
355
|
+
- Tony Ulwick, *Outcome-Driven Innovation* (2016) — Quantifying jobs and outcomes
|
|
356
|
+
- Alexander Osterwalder, *Value Proposition Canvas* (2014) — Customer jobs/pains/gains framework
|
|
357
|
+
|
|
358
|
+
### Dean's Work
|
|
359
|
+
- [Link to relevant Dean Peters' Substack articles if applicable]
|
|
360
|
+
|
|
361
|
+
### Provenance
|
|
362
|
+
- Adapted from `prompts/jobs-to-be-done.md` in the `https://github.com/deanpeters/product-manager-prompts` repo.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
**Skill type:** Component
|
|
367
|
+
**Suggested filename:** `jobs-to-be-done.md`
|
|
368
|
+
**Suggested placement:** `/skills/components/`
|
|
369
|
+
**Dependencies:** References `skills/proto-persona/SKILL.md`
|
|
370
|
+
**Used by:** `skills/positioning-statement/SKILL.md`, `skills/problem-statement/SKILL.md`, `skills/epic-hypothesis/SKILL.md`
|