{
  "version": "xarts.ordered-series/1",
  "family": "ordered-series",
  "operation": "observed-curves",
  "provenance": {
    "legacyId": "retentioncurve"
  },
  "data": {
    "x": {
      "kind": "linear",
      "unit": "period"
    },
    "value": {
      "unit": "percent",
      "range": [
        0,
        100
      ]
    },
    "rows": [
      {
        "id": "p0",
        "series": "s0",
        "x": 0,
        "value": 100,
        "label": "Period 0"
      },
      {
        "id": "p1",
        "series": "s0",
        "x": 1,
        "value": 68,
        "label": "Period 1"
      },
      {
        "id": "p2",
        "series": "s0",
        "x": 2,
        "value": 52,
        "label": "Period 2"
      },
      {
        "id": "p3",
        "series": "s0",
        "x": 3,
        "value": 42,
        "label": "Period 3"
      },
      {
        "id": "p4",
        "series": "s0",
        "x": 4,
        "value": 35,
        "label": "Period 4"
      },
      {
        "id": "p5",
        "series": "s0",
        "x": 5,
        "value": 30,
        "label": "Period 5"
      },
      {
        "id": "p6",
        "series": "s0",
        "x": 6,
        "value": 26,
        "label": "Period 6"
      },
      {
        "id": "p7",
        "series": "s0",
        "x": 7,
        "value": 23,
        "label": "Period 7"
      },
      {
        "id": "p8",
        "series": "s0",
        "x": 8,
        "value": 21,
        "label": "Period 8"
      },
      {
        "id": "p9",
        "series": "s0",
        "x": 9,
        "value": 19,
        "label": "Period 9"
      },
      {
        "id": "p10",
        "series": "s0",
        "x": 10,
        "value": 18,
        "label": "Period 10"
      },
      {
        "id": "p11",
        "series": "s0",
        "x": 11,
        "value": 17,
        "label": "Period 11"
      },
      {
        "id": "p12",
        "series": "s1",
        "x": 0,
        "value": 100,
        "label": "Period 0"
      },
      {
        "id": "p13",
        "series": "s1",
        "x": 1,
        "value": 72,
        "label": "Period 1"
      },
      {
        "id": "p14",
        "series": "s1",
        "x": 2,
        "value": 56,
        "label": "Period 2"
      },
      {
        "id": "p15",
        "series": "s1",
        "x": 3,
        "value": 46,
        "label": "Period 3"
      },
      {
        "id": "p16",
        "series": "s1",
        "x": 4,
        "value": 39,
        "label": "Period 4"
      },
      {
        "id": "p17",
        "series": "s1",
        "x": 5,
        "value": 34,
        "label": "Period 5"
      },
      {
        "id": "p18",
        "series": "s1",
        "x": 6,
        "value": 30,
        "label": "Period 6"
      },
      {
        "id": "p19",
        "series": "s1",
        "x": 7,
        "value": 27,
        "label": "Period 7"
      },
      {
        "id": "p20",
        "series": "s1",
        "x": 8,
        "value": 25,
        "label": "Period 8"
      },
      {
        "id": "p21",
        "series": "s1",
        "x": 9,
        "value": 23,
        "label": "Period 9"
      },
      {
        "id": "p22",
        "series": "s1",
        "x": 10,
        "value": 22,
        "label": "Period 10"
      },
      {
        "id": "p23",
        "series": "s1",
        "x": 11,
        "value": 21,
        "label": "Period 11"
      },
      {
        "id": "p24",
        "series": "s2",
        "x": 0,
        "value": 100,
        "label": "Period 0"
      },
      {
        "id": "p25",
        "series": "s2",
        "x": 1,
        "value": 75,
        "label": "Period 1"
      },
      {
        "id": "p26",
        "series": "s2",
        "x": 2,
        "value": 60,
        "label": "Period 2"
      },
      {
        "id": "p27",
        "series": "s2",
        "x": 3,
        "value": 50,
        "label": "Period 3"
      },
      {
        "id": "p28",
        "series": "s2",
        "x": 4,
        "value": 44,
        "label": "Period 4"
      },
      {
        "id": "p29",
        "series": "s2",
        "x": 5,
        "value": 39,
        "label": "Period 5"
      },
      {
        "id": "p30",
        "series": "s2",
        "x": 6,
        "value": 35,
        "label": "Period 6"
      },
      {
        "id": "p31",
        "series": "s2",
        "x": 7,
        "value": 32,
        "label": "Period 7"
      },
      {
        "id": "p32",
        "series": "s2",
        "x": 8,
        "value": 30,
        "label": "Period 8"
      },
      {
        "id": "p33",
        "series": "s2",
        "x": 9,
        "value": 28,
        "label": "Period 9"
      },
      {
        "id": "p34",
        "series": "s2",
        "x": 10,
        "value": 27,
        "label": "Period 10"
      },
      {
        "id": "p35",
        "series": "s2",
        "x": 11,
        "value": 26,
        "label": "Period 11"
      },
      {
        "id": "p36",
        "series": "s3",
        "x": 0,
        "value": 100,
        "label": "Period 0"
      },
      {
        "id": "p37",
        "series": "s3",
        "x": 1,
        "value": 78,
        "label": "Period 1"
      },
      {
        "id": "p38",
        "series": "s3",
        "x": 2,
        "value": 65,
        "label": "Period 2"
      },
      {
        "id": "p39",
        "series": "s3",
        "x": 3,
        "value": 56,
        "label": "Period 3"
      },
      {
        "id": "p40",
        "series": "s3",
        "x": 4,
        "value": 50,
        "label": "Period 4"
      },
      {
        "id": "p41",
        "series": "s3",
        "x": 5,
        "value": 45,
        "label": "Period 5"
      },
      {
        "id": "p42",
        "series": "s3",
        "x": 6,
        "value": 41,
        "label": "Period 6"
      },
      {
        "id": "p43",
        "series": "s3",
        "x": 7,
        "value": 38,
        "label": "Period 7"
      },
      {
        "id": "p44",
        "series": "s3",
        "x": 8,
        "value": 36,
        "label": "Period 8"
      },
      {
        "id": "p45",
        "series": "s3",
        "x": 9,
        "value": 34,
        "label": "Period 9"
      },
      {
        "id": "p46",
        "series": "s3",
        "x": 10,
        "value": 33,
        "label": "Period 10"
      },
      {
        "id": "p47",
        "series": "s3",
        "x": 11,
        "value": 32,
        "label": "Period 11"
      }
    ]
  },
  "series": [
    {
      "id": "s0",
      "label": "ene 2024",
      "color": "series.blue",
      "width": 2.5,
      "cap": "round",
      "dash": "",
      "legendShape": "line",
      "point": {
        "visible": true,
        "radius": 3,
        "opacity": 1,
        "stroke": "surface",
        "strokeWidth": 1.5
      }
    },
    {
      "id": "s1",
      "label": "feb 2024",
      "color": "series.teal",
      "width": 2.5,
      "cap": "round",
      "dash": "",
      "legendShape": "line",
      "point": {
        "visible": true,
        "radius": 3,
        "opacity": 1,
        "stroke": "surface",
        "strokeWidth": 1.5
      }
    },
    {
      "id": "s2",
      "label": "mar 2024",
      "color": "series.red",
      "width": 2.5,
      "cap": "round",
      "dash": "",
      "legendShape": "line",
      "point": {
        "visible": true,
        "radius": 3,
        "opacity": 1,
        "stroke": "surface",
        "strokeWidth": 1.5
      }
    },
    {
      "id": "s3",
      "label": "abr 2024",
      "color": "series.amber",
      "width": 2.5,
      "cap": "round",
      "dash": "",
      "legendShape": "line",
      "point": {
        "visible": true,
        "radius": 3,
        "opacity": 1,
        "stroke": "surface",
        "strokeWidth": 1.5
      }
    }
  ],
  "calculation": {
    "input": "provided-values",
    "order": "ascending-x",
    "duplicates": "reject-per-series",
    "interpolation": "monotone-x",
    "xDomain": {
      "kind": "extent",
      "padding": 0,
      "constantPadding": 0.2,
      "includeZero": true,
      "roundOut": false
    },
    "yDomain": {
      "kind": "fixed",
      "values": [
        0,
        100
      ]
    },
    "bands": []
  },
  "layout": {
    "margin": {
      "top": 40,
      "right": 48,
      "bottom": 64,
      "left": 80
    },
    "measureYAxis": true,
    "axisInkPadding": 0,
    "smartAxes": true,
    "axisMeasurementNumerals": "proportional-nums",
    "exportTextMeasurement": "glyph-advances",
    "niceY": true,
    "xTicks": 12,
    "xTicksPerPixels": 0,
    "yTicks": 5,
    "clip": "none",
    "legendFlow": "block"
  },
  "axes": {
    "xFormat": "number",
    "xTickPolicy": "automatic",
    "yFormat": "percent-tight",
    "decimals": 0,
    "showSign": false,
    "showGridColumns": false,
    "xTitle": "",
    "yTitle": ""
  },
  "legend": {
    "height": 48,
    "exportMeasurement": "basic-pairs",
    "position": "top",
    "interactive": true,
    "inlineWidth": 120,
    "rowHeight": 16,
    "fontSize": 10,
    "color": "textSecondary"
  },
  "references": [
    {
      "id": "half",
      "value": 50,
      "color": "textMuted",
      "width": 1,
      "dash": "4,3",
      "label": "50% retained"
    }
  ],
  "annotations": [],
  "interaction": {
    "tooltip": true,
    "tooltipMode": "coordinate",
    "tooltipDecimals": 0,
    "zoom": false
  },
  "document": {
    "header": {
      "title": "Cohort Retention Curves",
      "subtitle": "User retention percentage by cohort over time periods"
    },
    "footer": {
      "source": "xarts · demo data",
      "notes": "Illustrative data to explore the chart and replace with your own."
    },
    "spacing": {
      "horizontalPadding": 24,
      "topPadding": 22,
      "bottomPadding": 16,
      "minimumTextGap": 4
    }
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 800,
      "height": 480
    },
    "locale": "en-US",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "output": {
    "filename": "retentioncurve-quality",
    "embedSpec": true,
    "geometryDecimals": 2
  }
}
