---
title: "Play"
description: "written once, filled per brand: its goal, condition, class, tactic, the move it proposes, its price, its measure, its forecast rule, its comparison, when it stops"
section: concepts
address: /concepts/play
contract: 0476e35e6e275db5
---

# Play

written once, filled per brand: its goal, condition, class, tactic, the move it proposes, its price, its measure, its forecast rule, its comparison, when it stops

[figure: Play is a definition at follows scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | definition |
| scope | follows |
| key | its name and version |
| store | postgres |
| family | strategy |



## Fields


| field | type | required | note |
|---|---|---|---|
| `name` | `text` | yes |  |
| `brand` | `id` | yes | the brand the play is filled for; a platform original is copied per brand with original set |
| `strategy` | `id` | no | the strategy it is armed in; absent until armed |
| `goal` | `id` | yes |  |
| `condition` | [Predicate](/concepts/predicate) | yes |  |
| `class` | [PlayClass](/concepts/playclass) | yes | the class last read on the beat (ClassReading); proposed on the arming from the kind's usual class and the rivals' coverage, never typed by taste |
| `tactic` | [Tactic](/concepts/tactic) | yes |  |
| `proposes` | `text` | yes | the move |
| `price` | [Cost](/concepts/cost) | no |  |
| `measure` | [KindOfMeasure](/concepts/kindofmeasure) | yes |  |
| `window` | `duration` | yes |  |
| `forecast_rule` | `text` | yes | how its forecast is made |
| `comparison` | `text` | yes | what is left alone |
| `stop` | `text` | yes |  |
| `armed` | `bool` | yes |  |
| `original` | `id` | no | a platform original in a template |
| `mode` | `one of harvest \| cultivate` | no | a harvest play for present demand, a cultivation play for demand to be made |
| `fit_phase` | `one of find the market \| sculpt the offering \| test the fit \| build a beachhead \| engineer demand \| find demand \| grow in a market \| hedge` | no | the phase of the search for product-market fit the play serves, where it serves one (26 §2.1) |
| `kind` | [KindOfPlay](/concepts/kindofplay) | no | the kind of play it is, from the register of kinds of play (26 §2.1) |
| `kind_of_move` | [KindOfMove](/concepts/kindofmove) | yes | the kind of move it proposes |
| `graph` | [GraphEdge](/concepts/graphedge) | yes | the edges between the moves it proposes; empty for a play of one move |
| `share` | `share` | yes | the share of the admitted members the arming admits; under one, the play is an experiment |
| `holdout` | `share` | yes | the share left alone at random, read as the effect's comparison |
| `trigger` | `one of a match \| a beat \| a person's word` | yes | what starts the play when no edge enters it |



## Routes that use it
- [`/v1/act/keep_play`](/reference/act/keep_play) returns it
