← back

# strandedgrid Pricing model

**Source of truth.** Any price displayed on the public site, quoted in
an outbound email, or charged via Stripe must reconcile to the formula
in §2 of this document. Drift = bug.

Last revised: 2026-06-08 (dossier $49 reprice: self-serve front-door).
Replaces the 2026-06-03 $1,500 unit; the lead-form-only PAYG
front-door is gone, replaced by a one-click Stripe Checkout.

---

## 1. Audience and unit-of-value

The buyer is a **site-selection BD lead at a Bitcoin or AI-compute
miner**, or the equivalent at an HPC colo / flare-capture vendor. Their
in-house cost to source a single stranded-energy site lead (research,
operator resolution, decision-maker hunt, outreach prep) is **8–14
analyst-hours @ $150/h fully loaded → $1,200–$2,100 per site**.

The product unit is one **Site Dossier** priced as a self-serve
$49 impulse buy: instant Stripe Checkout, no account, 48h PDF.
The unit-of-value framing in this section explains why bundles
exist (high-volume BD funnels), but the per-dossier headline is
now $49, not the old $1,500 analyst-hour-replacement number.

- 1 stranded-energy event (flare / curtailment / negative DA),
- 1 resolved operator + ultimate parent,
- 1 named decision-maker (Operations / New Ventures / Midstream
  Marketing, never the CEO), email checked against the company pattern,
- 3 talking points + 5 comparable assets,
- delivered as PDF + JSON within 48h of order.

A miner BD team typically needs **8–20 site leads per quarter** to fill
its build-out funnel; that bounds the ladder.

---

## 2. The ladder (the only prices in the system)

```
SKU                     Unit price   Mode               Use it when…
-----------------------------------------------------------------------
sample_dossier          $0           lead form          evaluating fit (1 per company)
dossier_payg            $49          self-serve card    one-off, instant
sprint_pack_5           $5,500       sales-led invoice  active hunt, 1 basin focus
roster_basin_seat       $9,000/yr    sales-led invoice  stable funnel, 1 basin
roster_us_wide_seat     $25,000/yr   sales-led invoice  multi-basin programmatic
```

### 2.1 No single-unit formula

The 2026-06-08 reprice ends the single-base-unit formula. The PAYG
dossier is now priced as a self-serve impulse buy ($49) decoupled
from the bundle prices: packs and roster seats reflect the
sales-led contract value of a multi-asset BD engagement, not a
percentage discount off the unit. The bundles are quoted directly
(no derived `BASE × N × ratio` calculation).

### 2.2 Why no $99/$299/$999 monthly tier

A persistent miner BD lead reads ~2–6 site leads per month; at $99/mo
the consumer asks for unlimited which we cannot underwrite, at $299+
the buyer needs approval. The dead zone is solved differently now:
the $49 self-serve dossier covers the impulse layer, and the
sales-led packs/seats cover the volume layer. The bimodal dead
zone (§4 of `MARKET_AND_BM.md`) stays killed.

### 2.3 Why no per-MW commission

A finder's-fee model (`intro_brokerage` in `product_catalog.py`) is
preserved for closed warm intros, but it cannot be the primary SKU
because:

1. Sales cycle for a 25–80 MW site PPA is 9–18 months, so revenue
   would lag the work-product by ~12 months.
2. Attribution is fraught: the buyer also runs in-house BD, and the
   dossier merely accelerated a lead they'd have found in 6 months.
3. The product-vs-broker positioning collapses; we'd be a recruiter,
   not a data product.

It stays an **optional** add-on, off the public pricing strip.

---

## 3. Test contract

Every price on the public site is asserted in two places, both of
which must agree with this document:

1. `tests/test_web_server.py::test_landing_renders_html` pins the
   four dollar amounts that appear in the pricing strip.
2. `stranded/services/product_catalog.py::SEED_PRODUCTS` pins the
   SKUs, names, and `price_usd` cents-equivalent that hit Stripe.

If the formula in §2.1 is edited, both must be updated in the same
commit and a row must be appended to `docs/PRICING_CHANGES.md`.

---

## 4. Worked examples (the three the operator must see)

Given a visitor lands on `/`, the three example quotes that prove
pricing is **deterministic and consistent**:

| Input (what the visitor asks) | Output (what the page quotes) |
|---|---|
| "I just want to see one example" | Sample dossier, $0 (1 per company) |
| "Send me a dossier on Permian flare site X" | PAYG dossier, $49 one-click via Stripe Checkout |
| "We have a Permian originator and need ~3 leads/mo for the next year" | Roster · Permian, $9,000 / year |

These are the three rows surfaced on the home page (and in
`docs/DELIVERY_PROOF.md` after the redeploy).