---
title: "Population"
description: "what a predicate runs over, with the reader that serves it at each speed"
section: concepts
address: /concepts/population
contract: 0476e35e6e275db5
---

# Population

what a predicate runs over, with the reader that serves it at each speed

[figure: Population is a row at platform scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | row |
| scope | platform |
| key | its name |
| store | postgres |
| family | rules_engine |



## Fields


| field | type | required | note |
|---|---|---|---|
| `name` | `text` | yes |  |
| `unit_kind` | [Kind](/concepts/kind) | yes |  |
| `readers` | `{text:text}` | yes | for each speed of the preview and for live evaluation |
| `state` | [Readiness](/concepts/readiness) | yes | a population with no reader is not ready |
| `sample_strata` | `[text]` | no | the attribute paths whose values stratify a preview's sample, so the sample is spread over them |



## Routes that use it
No route takes or returns Population directly. The record holds it, and the objects that point at it reach it.
