{
  "title": "Remove immature installs from a D7 retention denominator",
  "synthetic": true,
  "inputs": {
    "eligible": 200,
    "immature": 50,
    "returners": 40
  },
  "outputs": [
    {
      "label": "Mature retention %",
      "actual": 20,
      "expected": 20,
      "passed": true
    },
    {
      "label": "Incorrect mixed rate %",
      "actual": 16,
      "expected": 16,
      "passed": true
    }
  ],
  "constraints": [
    "v.returners<=v.eligible"
  ],
  "formulas": [
    {
      "label": "Mature retention %",
      "javascript": "100*v.returners/v.eligible"
    },
    {
      "label": "Incorrect mixed rate %",
      "javascript": "100*v.returners/(v.eligible+v.immature)"
    }
  ],
  "limits": "The returner count must use the same cohort and day-boundary definition as the eligible denominator. This model cannot repair identity resets, missing events or a different definition of active use."
}
