STUD.com
← Objectives

Compute · Assess & Decide · Data & Research

Score AI model process and tool maturity into bands

A team assessing whether an AI model is mature enough to sell as a service gets a process-maturity band and a tool/system-maturity band computed directly from per-phase level scores, ready to feed the AIaaS feasibility decision.

You receive: A pure function summing per-phase maturity levels into {processTotal, processBand, toolTotal, toolBand} on the book's exact band boundaries, graded on hidden cases.

Part of Choose Business Model

What's verified: STUD verifies the function sums the per-phase levels and assigns the exact book bands (process: 10 or less low, 11-30 medium, 31+ high; tools: 5 or less low, 6-15 medium, 16+ high) on held-out inputs. STUD does NOT verify that the per-phase levels were assessed correctly for the real model or tooling.

Opens soon

Cost20 credits
AcceptanceAutomated check against your inputs
ProtectionHeld until verified delivery

This objective is verified and ready. It opens soon, once sign-in and payments are live.

Deliverable interface

The exact vocabulary the automated check enforces: keys, tokens, entry points, and worked examples. Generated from the verification source.

{
 "constants": {},
 "entryName": "score",
 "expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
 "hiddenCaseCount": 13,
 "hiddenCaseNames": [
  "hd_process_10_tool_6",
  "hd_process_11_tool_5",
  "hd_process_min_tool_16",
  "hd_mixed_bands",
  "hd_long_ladder",
  "gen0",
  "gen1",
  "gen2",
  "gen3",
  "gen4",
  "gen5",
  "gen6",
  "gen7"
 ],
 "inputKeys": [
  "level",
  "processPhases",
  "toolPhases"
 ],
 "normalizeSource": "def _normalize_compute_ai_model_maturity_scorecard(r):\n    if not isinstance(r, dict):\n        return repr(r)\n    try:\n        return {\"processTotal\": int(round(float(r[\"processTotal\"]))), \"processBand\": str(r[\"processBand\"]),\n                \"toolTotal\": int(round(float(r[\"toolTotal\"]))), \"toolBand\": str(r[\"toolBand\"])}\n    except Exception:\n        return repr(r)\n",
 "returnShapes": [
  [
   "processBand",
   "processTotal",
   "toolBand",
   "toolTotal"
  ]
 ],
 "signature": "def score(inp):",
 "submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
 "tier": "calculator",
 "visibleCases": [
  {
   "expect": {
    "processBand": "high",
    "processTotal": 35,
    "toolBand": "high",
    "toolTotal": 19
   },
   "input": {
    "processPhases": [
     {
      "level": 5,
      "phase": "p0"
     },
     {
      "level": 5,
      "phase": "p1"
     },
     {
      "level": 5,
      "phase": "p2"
     },
     {
      "level": 5,
      "phase": "p3"
     },
     {
      "level": 5,
      "phase": "p4"
     },
     {
      "level": 5,
      "phase": "p5"
     },
     {
      "level": 5,
      "phase": "p6"
     }
    ],
    "toolPhases": [
     {
      "level": 5,
      "phase": "t0"
     },
     {
      "level": 5,
      "phase": "t1"
     },
     {
      "level": 5,
      "phase": "t2"
     },
     {
      "level": 4,
      "phase": "t3"
     }
    ]
   },
   "name": "high_high"
  },
  {
   "expect": {
    "processBand": "low",
    "processTotal": 10,
    "toolBand": "low",
    "toolTotal": 3
   },
   "input": {
    "processPhases": [
     {
      "level": 2,
      "phase": "p0"
     },
     {
      "level": 2,
      "phase": "p1"
     },
     {
      "level": 2,
      "phase": "p2"
     },
     {
      "level": 2,
      "phase": "p3"
     },
     {
      "level": 2,
      "phase": "p4"
     }
    ],
    "toolPhases": [
     {
      "level": 1,
      "phase": "t0"
     },
     {
      "level": 1,
      "phase": "t1"
     },
     {
      "level": 1,
      "phase": "t2"
     }
    ]
   },
   "name": "low_low"
  },
  {
   "expect": {
    "processBand": "medium",
    "processTotal": 18,
    "toolBand": "medium",
    "toolTotal": 9
   },
   "input": {
    "processPhases": [
     {
      "level": 3,
      "phase": "p0"
     },
     {
      "level": 3,
      "phase": "p1"
     },
     {
      "level": 3,
      "phase": "p2"
     },
     {
      "level": 3,
      "phase": "p3"
     },
     {
      "level": 3,
      "phase": "p4"
     },
     {
      "level": 3,
      "phase": "p5"
     }
    ],
    "toolPhases": [
     {
      "level": 3,
      "phase": "t0"
     },
     {
      "level": 3,
      "phase": "t1"
     },
     {
      "level": 3,
      "phase": "t2"
     }
    ]
   },
   "name": "medium_medium"
  },
  {
   "expect": {
    "processBand": "high",
    "processTotal": 31,
    "toolBand": "high",
    "toolTotal": 16
   },
   "input": {
    "processPhases": [
     {
      "level": 5,
      "phase": "p0"
     },
     {
      "level": 5,
      "phase": "p1"
     },
     {
      "level": 5,
      "phase": "p2"
     },
     {
      "level": 5,
      "phase": "p3"
     },
     {
      "level": 5,
      "phase": "p4"
     },
     {
      "level": 5,
      "phase": "p5"
     },
     {
      "level": 1,
      "phase": "p6"
     }
    ],
    "toolPhases": [
     {
      "level": 5,
      "phase": "t0"
     },
     {
      "level": 5,
      "phase": "t1"
     },
     {
      "level": 5,
      "phase": "t2"
     },
     {
      "level": 1,
      "phase": "t3"
     }
    ]
   },
   "name": "process_boundary_31"
  },
  {
   "expect": {
    "processBand": "medium",
    "processTotal": 30,
    "toolBand": "medium",
    "toolTotal": 15
   },
   "input": {
    "processPhases": [
     {
      "level": 5,
      "phase": "p0"
     },
     {
      "level": 5,
      "phase": "p1"
     },
     {
      "level": 5,
      "phase": "p2"
     },
     {
      "level": 5,
      "phase": "p3"
     },
     {
      "level": 5,
      "phase": "p4"
     },
     {
      "level": 5,
      "phase": "p5"
     }
    ],
    "toolPhases": [
     {
      "level": 5,
      "phase": "t0"
     },
     {
      "level": 5,
      "phase": "t1"
     },
     {
      "level": 5,
      "phase": "t2"
     }
    ]
   },
   "name": "boundaries_30_15"
  }
 ],
 "vocabulary": [
  "high",
  "level",
  "low",
  "medium",
  "processBand",
  "processPhases",
  "processTotal",
  "toolBand",
  "toolPhases",
  "toolTotal"
 ]
}

Get early access to STUD the day it goes live.