Skip to content

Play

A Play is a named, repeatable strategy with the Metric it moves and its cost, run by a Startup as a Process.

A seed Play finds the first Customers; a compound Play builds an engine that keeps growing.

Properties

PropertyTypeRequiredDescription
familystringrequiredThe job it does, such as demand, retention, or pricing.
costmoneyWhat one run costs.
cohortjsonThe Portfolio query a Studio rolls it out to.
fromstringLineage: the slot it compiles from, as Hypothesis#<slot>@v<version>.
spendmoneyMedia, data and creative spend posted against the Play.
workerCostmoneyWhat the Workers running it cost: model tokens, compute, upstream calls and human minutes.
customersAcquiredintegerOutside Customers whose Acquisition names the Play.
outsideRevenuemoneyRevenue collected from those Customers, net of refunds.
marginmoneyOutside revenue less spend, Worker cost and the cost to serve those Customers.
paybackDaysintegerDays from the first spend until margin covers spend and Worker cost; empty until it does.

Object

JSON
{
  "$id": "https://api.sb/tutorloop.com/plays/play_1",
  "$type": "Play",
  "family": "demand",
  "cost": {
    "amount": 60,
    "currency": "USD"
  },
  "cohort": {},
  "from": "Hypothesis#approach@v1",
  "spend": {
    "amount": 60,
    "currency": "USD"
  },
  "workerCost": {
    "amount": 60,
    "currency": "USD"
  },
  "customersAcquired": 1,
  "outsideRevenue": {
    "amount": 60,
    "currency": "USD"
  },
  "margin": {
    "amount": 60,
    "currency": "USD"
  },
  "paybackDays": 1
}

Relationships

Verbs

  1. createCreates a Play.
    POST /{namespace}/playsdoPlay.created
  2. getReturns one Play by id.
    GET /{namespace}/plays/{id}readNo Event
  3. listReturns Plays, newest first, one page at a time.
    GET /{namespace}/playsreadNo Event
  4. updateChanges the given properties of a Play.
    PATCH /{namespace}/plays/{id}doPlay.updated
  5. deleteDeletes a Play; its history is kept.
    DELETE /{namespace}/plays/{id}doPlay.deleted
  6. applyApply runs a Play across a Portfolio cohort, one wave at a time, measured as an Experiment.
    POST /{namespace}/plays/{play}/applydoPlay.applied

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Play.createYesYesYesNo
Play.getYesYesYesYes
Play.listYesYesYesYes
Play.updateYesYesYesNo
Play.deleteYesYesYesNo
Play.applyYesYesYesNo

Call it

Text
Apply the latest play.

Example

A creator-partnership Play gives a cooking creator 15% of the revenue her followers bring to a meal-planning App. It moves paid signups, costs nothing until a sale, and runs as a seed Play. After 60 days its ledger shows 23 Customers acquired, $1,840 in outsideRevenue and a paybackDays of 9.