top of page


training set

A training set consists of past decisions and their outcomes, organized into a table.

parking "hourly rate" example

A large parking garage operator wishes to set prices that optimize profits. For simplicity, let's say the operator will set the hourly rate set once per zip code per day.

The operator forms a table in which each row corresponds to a given zip code on a given day from the past. Each row contains the following information:

  • id. a label for the combination of zip code and day

  • attributes. the zip code and numerical day of week

  • decision. the hourly rate that was set for that zip code on that day

  • outcome. the profit taken in that for that zip code on that day

rate_id,   zip_code,   weekday,   hourly_rate,   profit
20220308_1,      94103,         1,            22,     8300
20220308_2,      94107,         1
,            26,     9370
09_1,      94103,         2,            21,     6300
09_2,      94107,         2,            24,     5680

Generalizing, a training set is a table in which each row represents a historical event ("sample") about which a decision was made, leading to a measurable outcome.

Each column is one of four types, with an optional prefix for flexible ordering:

  • sample. exactly one, optionally prefixed by "s:"

  • attribute. at least one, optionally prefixed by "a:"

  • decision. exactly one (for now), optionally prefixed by "d:"

  • outcome. exactly one, optionally prefixed by "o:"

The fields must appear in this order unless prefixes are used.


The sample is the unit—customer, session, or event—about which a decision needs to be made. It should defined as well as possible. For example, if a sample is the click of a checkout button, specify whether it should be included if it results in, say, a rejected or fraudulent credit card transaction.


Attributes are the properties, or features, of each sample about which a decision was made. Attributes must have been known and accessible at the time the decision was made.


The decision is either a numerical (e.g. price) or categorical (e.g. "admit" or "reject") choice made on behalf of each sample.


The outcome is a numerical measure, such as profit or revenue, that resulted from a decision. The outcome should be a "bigger is better" quantity, unlike to churn or latency (although these quantities are permissible if a minus sign is put in front).

dash console

1. Enter comma-separated decision input values, ordered the same as the attributes, optionally with a prefixed label, and hit return.

2. Note the suggested optimal decision and your target metric's expected outcome.

3. Optionally record the dash decision ID.

4. View the comparison between the suggested decision and the past outcomes of decisions with similar inputs.

Screenshot 2021-10-09 21.28.53.png
create dash

Create a table (.csv) of past decisions and their outcomes (see how), and run the following command:

$ curl -F 'file=@parking_hourly_rates.csv'

Example response:

  "data": {
    "created_at": "2022-03-22T01:32:24.987507", 
    "dash_id": "5fa23a451e9c453b860035a67b634968", 
    "data_summary": {
      "hourly_rate": {
        "25%": 21.75, 
        "50%": 23.0, 
        "75%": 24.5, 
        "count": 4.0, 
        "max": 26.0, 
        "mean": 23.25, 
        "min": 21.0, 
        "std": 2.217355782608345
      "profit": {
        "25%": 6145.0, 
        "50%": 7300.0, 
        "75%": 8567.5, 
        "count": 4.0, 
        "max": 9370.0, 
        "mean": 7412.5, 
        "min": 5680.0, 
        "std": 1718.397994257054
      "weekday": {
        "25%": 1.0, 
        "50%": 1.5, 
        "75%": 2.0, 
        "count": 4.0, 
        "max": 2.0, 
        "mean": 1.5, 
        "min": 1.0, 
        "std": 0.5773502691896257
      "zip_code": {
        "25%": 94103.0, 
        "50%": 94105.0, 
        "75%": 94107.0, 
        "count": 4.0, 
        "max": 94107.0, 
        "mean": 94105.0, 
        "min": 94103.0, 
        "std": 2.309401076758503
    "fields": {
      "attributes": [
      "decision_parameters": [
      "incidental_outcomes": [], 
      "outcome": "profit", 
      "sample": "rate_id"
    "name": "parking_hourly_rates.csv", 
    "updated_at": "2022-03-22T01:32:26.198344"
  "status": "ok"

dash endpoint
Screenshot 2021-10-09 23.03.03.png (1).png
http api
bottom of page