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
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.