STUD.com
← Objectives

Score · Assess & Decide · Analysis & Finance

Buyer interview signal scoring for a burning problem

Each problem and solution averaged, banded, and flagged against the burning-problem and likely-adopted bars.

You receive: A reviewed interview-scoring calculator + the passing test report, run on your interview scores.

Part of Validate Demand

Opens soon

Cost15 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_buyer_interviews",
 "expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
 "hiddenCaseCount": 11,
 "hiddenCaseNames": [
  "strong_clears_bar_exactly_8",
  "problem_just_below_bar",
  "solution_at_bar_exactly_6",
  "solution_just_below_bar",
  "rounding_7_5",
  "mixed_problems_and_solutions",
  "single_respondent",
  "empty_scores_no_data",
  "custom_bars_at_bar_not_flagged",
  "decimal_input_scores",
  "two_problems_both_clear"
 ],
 "inputKeys": [
  "label",
  "problem_bar",
  "problems",
  "scores",
  "solution_bar",
  "solutions"
 ],
 "normalizeSource": "def _buyer_signal_normalize(r):\n    try:\n        def ac(a):\n            return None if a is None else round(float(a), 1)\n\n        def rows(key):\n            return [{\"label\": str(x[\"label\"]), \"average\": ac(x[\"average\"]), \"band\": str(x[\"band\"]),\n                     \"below_bar\": bool(x[\"below_bar\"])} for x in r[key]]\n        flags = [{\"kind\": str(f[\"kind\"]), \"label\": str(f[\"label\"]), \"average\": ac(f[\"average\"]),\n                  \"bar\": round(float(f[\"bar\"]), 1)} for f in r[\"below_threshold_flags\"]]\n        return {\"problems\": rows(\"problems\"), \"solutions\": rows(\"solutions\"), \"below_threshold_flags\": flags}\n    except Exception:\n        return repr(r)\n",
 "returnShapes": [
  [
   "below_threshold_flags",
   "problems",
   "solutions"
  ],
  "no-data"
 ],
 "signature": "def score_buyer_interviews(inp):",
 "submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
 "tier": "calculator",
 "visibleCases": [
  {
   "expect": {
    "below_threshold_flags": [],
    "problems": [
     {
      "average": 9.5,
      "band": "burning",
      "below_bar": false,
      "label": "P1"
     }
    ],
    "solutions": []
   },
   "input": {
    "problems": [
     {
      "label": "P1",
      "scores": [
       9,
       10,
       9,
       10
      ]
     }
    ],
    "solutions": []
   },
   "name": "single_burning_problem"
  }
 ],
 "vocabulary": [
  "average",
  "band",
  "bar",
  "below_bar",
  "below_threshold_flags",
  "burning",
  "kind",
  "label",
  "likely-adopted",
  "mild",
  "moderate",
  "nice-to-have",
  "no-data",
  "not-a-problem",
  "not-wanted",
  "problem",
  "problem_bar",
  "problems",
  "scores",
  "solution",
  "solution_bar",
  "solutions",
  "strong"
 ]
}

Get early access to STUD the day it goes live.