Files
adaptive-pricing/projects/coulomb-pricing/REQUIREMENTS.md
tegwick ea2c2c6403 Fix cumulative platform cost Stripe double-counting
Split infrastructure vs payment-processing costs. Liquidity burn now
uses infrastructure cash out only (€1,155.20 cumulative) because Stripe
fees are already deducted from net member payments. Total platform cost
(€1,158.24) remains visible for gross-margin economics.
2026-06-22 01:51:53 +02:00

75 lines
2.6 KiB
Markdown

# Coulomb MVP — Liquidity & Cost Requirements
## Context
Coulomb Social carries **operator platform costs** (Bubble.io, domains, Stripe
fees, future OpenRouter usage) while **customer cost-pass-through billing is not
active yet**. Members pay a flat subscription; they are not billed for
underlying platform spend.
The Economic Observatory must make the resulting **liquidity burn** visible.
## Requirements
### LQ-001 — Platform cost ledger
Record monthly platform costs from project start (March 2025), including fixed
infrastructure and payment-provider variable fees when member revenue exists.
### LQ-002 — Member payment ledger
Record member subscription payments from first payment month (November 2025),
separate from platform cost accrual.
### LQ-003 — Budget tracking
Maintain an operator liquidity budget (initial: **€1,000**) and compute
remaining budget after cumulative **infrastructure** spend minus cumulative net
member payments received.
### LQ-004 — Liquidity position
Report whether the project is **burning**, **neutral**, or **generating**
liquidity each period:
- `period_net = net_member_payments - infrastructure_cost`
- `cumulative_net = sum(period_net)`
- `remaining_budget = initial_budget + cumulative_net`
**No double-counting:** payment-processing fees (Stripe) are deducted from net
member payments. They are tracked separately for economics reporting but must
**not** be subtracted again in the liquidity formula.
- `total_platform_cost = infrastructure_cost + payment_processing_cost` (for
gross-margin economics vs gross revenue)
- `cumulative_total_platform_cost` is informational; liquidity burn uses
`cumulative_infrastructure_cost` only
Negative remaining budget means the MVP has consumed more liquidity than the
allocated budget.
### LQ-005 — No customer cost billing (MVP boundary)
Do not allocate platform costs to customer invoices in MVP. Cost attribution
(OpenRouter per member, usage overage) is observatory-only until a later phase
introduces customer-visible credits or usage billing.
### LQ-006 — Historical dashboard
Economics Dashboard must show:
- Current-period economics (revenue, platform cost, margin)
- Cumulative liquidity summary (budget, burn, remaining)
- Monthly history table from March 2025
## Data sources (current)
| Registry | Path |
|----------|------|
| Budget | `data/budget.json` |
| Platform costs | `data/costs.json` (`rate_card` + `monthly_history`) |
| Member payments | `data/revenue.json` |
| Membership | `data/membership.json` |
Future sprints replace manual history with Bubble, Stripe, and OpenRouter imports
while preserving the same liquidity semantics.