Every activity in the portfolio receives two scores: a dollar allocation (from Stripe-verified revenue) and a Velocity Points score (universal, revenue-independent). Both use the same weighted formula — only the base differs.
Each activity type earns a different multiplier reflecting its value contribution.
| Activity Type | Multiplier | Rationale |
|---|---|---|
| Feature | 3.0x | Direct product value — merged PRs delivering new capability |
| Bugfix | 2.0x | Retention and stability — fixing client-facing issues |
| CSA Converted | 2.0x | Structured specification that flowed into implementation |
| CSA Unconverted | 0.5x | Specification produced but not yet implemented downstream |
| Chore | 1.0x | Infrastructure maintenance — keeps the pipeline running |
| Issue Opened | 0.25x | Intent signal only — value not yet realized |
| Demand Gen | 1.5x | Future pipeline building — partially speculative |
State determines what fraction of the multiplied weight counts toward allocation. Stalled and blocked activities additionally impose VP penalties.
HHE is the only active subscription client ($5,000/month). Here's how the model distributes that revenue across 24 activities — 22 features and 2 CSA converted specs.
| Client | Value Type | Stripe Monthly | Stripe Total | $ Delivered (30d) | VP (30d) | Activities | Status |
|---|---|---|---|---|---|---|---|
| HHE | subscription | $5,000 | $15,000 | $5,000 | 99 | 24 | Protected |
| JuxtMedia | payment | — | $1,200 | — | 100 | 11 | Protected |
| SecondAct | revenue_share | — | — | — | 101 | 104 | Unattributed |
| AAS | payment | — | $2,400 | — | 0 | 0 | Unprotected |
| Client | Value Type | Stripe Total | Status |
|---|---|---|---|
| Mojo | payment | $2,700 | Dormant |
| SacredShedding | payment | $900 | Dormant |
| Kaleido Life | equity | — | Dormant |
| beMatrix | payment | — | Dormant |
| BourneLaw | payment | — | Dormant |
| CEO Alliance | payment | — | Dormant |
| VIP Remote | payment | — | Dormant |
| Immigration Dashboard | internal | — | Dormant |
The model detects two classes of risk by cross-referencing Stripe revenue against delivery velocity.
$2,400 total Stripe revenue with 0 VP in last 30 days
Client has paid but receives no visible delivery velocity. If active engagement: delivery pipeline needs attention. If relationship concluded: revenue is historical, not at risk.
101 VP with $0 Stripe revenue (revenue_share model)
Highest activity volume in the portfolio but no Stripe-verified revenue. Revenue share model means $ arrives post-launch (book launch May 2026). Current velocity is investment, not burn.
VP normalizes delivery velocity across clients regardless of revenue. 100 VP base per client, distributed by weighted activity contribution.
| # | Client | Activity | Type | $ Allocated |
|---|---|---|---|---|
| 1 | HHE | Refactor 5-tier to 3-tier access model | feature | $227 |
| 2 | HHE | Admin ingestion pipeline for Knowledge Store | feature | $227 |
| 3 | HHE | Signature chat open animation | feature | $227 |
| 4 | HHE | Site-wide Kajabi embed with tier gating | feature | $227 |
| 5 | HHE | CSA: hhe-tier-refactor | csa converted | $143 |
| # | Client | Activity | Type | VP |
|---|---|---|---|---|
| 1 | JuxtMedia | Email Tone Refinement — 3 presets + opportunity | feature | 19 |
| 2 | JuxtMedia | Deal Stage Pipeline — 5 stages + cadence | feature | 19 |
| 3 | JuxtMedia | Gmail Integration + Morning Summary | feature | 19 |
| 4 | JuxtMedia | Gmail OAuth Connect Flow + Settings Page | feature | 19 |
| 5 | JuxtMedia | CSA: juxtmedia-agent-phase3 | csa converted | 13 |
Current thresholds and tuning parameters. Adjust these to change signal sensitivity.
| Parameter | Current Value | Effect |
|---|---|---|
| Unprotected threshold | VP < 20 (30d) | Stripe client flagged if VP drops below 20 in rolling 30-day window |
| Unattributed threshold | VP > 50 (30d) | Non-Stripe client flagged if VP exceeds 50 in rolling 30-day window |
| Stalled cutoff | > 14 days | Issues with no activity for 14+ days classified as stalled |
| VP base per client | 100 VP/month | Normalizes velocity across clients regardless of revenue |
| Dormant exclusion | status: dormant | Dormant clients excluded from unprotected signal (historical revenue only) |
| Currency | Symbol | Source | Usage |
|---|---|---|---|
| Dollar | $ | Stripe-verified only | Real revenue attribution — never estimated |
| Velocity Points | VP | Activity multiplier model | Universal delivery velocity — all clients, regardless of revenue |
| Projected | $~ | estimated_monthly_value frontmatter | Planning only — explicitly marked, never mixed with real $ |