Spend · Financial Model

Financial Model

Are you profitable per customer? RepoOps already captures the hardest input to a software COGS model: your AI / token spend, per developer, verb, and model. Add revenue and infrastructure and the Financial Model answers the question every observability and eval competitor leaves on the table: revenue, COGS, gross profit, gross margin, per-unit economics, and break-even.

See it in motion

Where to find it

  • Desktop: http://localhost:4000/, then SpendFinancial Model in the sidebar.
  • Hosted: repoops.ai/team/financial-model
  • Keyboard: K, then type “Financial Model”.
  • AI-spend source: GET /api/billing/by-account (localhost) / the hosted AI-spend rollup

What it does for you

Your AI spend is already the COGS line.The AI / LLM segment of your cost-of-goods is read straight from the spend RepoOps already tracks, never re-derived and never fabricated. It is $0 under BYOK (every inference runs on your own key); for a tool that pays for its own inference it is usually the largest segment, and you do not have to enter it.
A real P&L from inputs you control.Enter your pricing tiers, monthly recurring revenue, paid seats, and infra bills; the engine computes revenue, COGS (AI + infra + payments), gross profit, gross margin, and the per-tier margin table. Payments COGS is the Stripe percentage plus the per-transaction fixed fee, from the shared cost-model seed.
Per-unit economics and break-even.Revenue per seat, cost per seat, cost per session, and break-even seats (fixed infra divided by the per-seat contribution margin) tell you the shape of the business, not just the totals.
Scenarios without spreadsheets.The Scenarios sub-tab re-runs the same engine live as you drag the seats and price sliders, so you can see what a price change or a scale-up does to your margin before you make it.

Configure

Hosted: the read-only Stripe revenue connector (STRIPE_REVENUE_KEY, a restricted rk_ key) auto-derives MRR / ARR / churn; the Vercel / Neon connectors reuse the same tenant connector vault as telemetry to fill the infra COGS line, with a CSV fallback. All read-only, masked, never logged. Localhost (desktop): a single-user install holds no operator credentials, so the connectors and cross-fleet Benchmarks stay hosted-only and the desktop twin points to repoops.ai for them. On the desktop, revenue and infra are entered by hand and persist to localStorage per repo; the AI / LLM line is still captured automatically.

Use it well

Start on the desktop with your real pricing, paid-seat count, and infra bills, and read the gross-margin KPI. If margin is below your floor, open Scenarios and find the price or scale point that fixes it. When you connect Stripe and your infra providers on the hosted surface, the manual numbers are replaced by live ones and the model updates itself.

Read more