Spoke
manager-effectiveness
Nine-domain Manager Effectiveness Index — empirical pillar blends via performance-validity evidence.
Character
Problem
External. Narratives sway exec committees because weights were negotiated politically, not evidenced empirically.
Internal. Updating weights consumes weeks inside Sheets—with zero append-only ledger for auditors.
Philosophical. Composite leadership constructs must admit evidentiary revision without silent retrofits.
Guide
measureIds, persists tenant pillar weights (tenant_domain_weight_profiles), blends predictive r² imports from performance-validity into defaults via configurable alphaEmpirical, and emits append-only audits per refresh.Abstract
Background. Multi-domain leader models abound academically but rarely expose auditable pillar weights tethered to outcome predictability.
Methodology. buildMeiCompositeScore narrates composites with measurement-aware phrasing; pooled outcome summaries arrive through performance-validity.mei-predictive-evidence UPSERT feeding weights/recalibrate convex blends vs FiveTran-aligned priors (~0.7 empirical default).
Scope. Depends on trustworthy rating payloads—not a standalone survey SaaS.
Contribution. Typed HTTP + MCP, immutable audit ledger, explanatory strings for ops teams.
Evidence / Provenance. PAT-159 scaffolding + README references to empirical blend policy.
Plan
- 01
Configure weights
Upsert pillar profiles per tenant—or accept curated defaults mirrored from consulting baselines.
- 02
Publish predictive evidence
Populate performance-validity bridge rows whenever new cycles justify empirical refresh.
- 03
Recalibrate + narrate
Invoke
POST …/weights/recalibrate; capture audits + conversational justification strings. - 04
Emit composites
Downstream dashboards pull MEI composites with pillar drill-through via stable measure identifiers.
Call to Action
Direct. Inspect contracts/types.ts for domain vocabulary.
Transitional. Pair README with PAT-159 session artefacts.
Spoke I/O (visual language v1)
Every toolbox spoke shares the same abstract choreography: typed inputs on the left, distilled verbs in the center, typed outputs on the right, and (when relevant) cross-spoke HTTP composition along the bottom rail. Source package: @people-analytics-toolbox/spoke-illustrations.
manager-effectiveness · weights recalibrate
Default weights are a starting prior — evidence moves them.
The nine-domain MEI ships with a FiveTran-aligned prior (upward-feedback weighted heaviest). Recalibration reads predictive-validity R² per domain from performance-validity and blends it against that prior — so the index learns which domains actually predict outcomes for a given tenant.
POST /api/spokes/manager-effectiveness/weights/recalibrate
Authorization: Bearer $TOOLBOX_SERVICE_KEY
{
"tenantId": "TENANT_ID",
"validityScorecardCycleIds": ["CYCLE_IDS"],
"alphaEmpirical": 0.7,
"outcomeKinds": ["retention", "promotion", "next-cycle-perf"]
}| Domain | Prior | Recalibrated | Δ |
|---|---|---|---|
| upward-feedback | 0.40 | 0.27 | −0.13 |
| decision-discipline | 0.20 | 0.18 | −0.02 |
| operational-health | 0.20 | 0.23 | +0.03 |
| people-development | 0.10 | 0.11 | +0.01 |
| team-output | 0.04 | 0.07 | +0.03 |
| talent-stewardship | 0.02 | 0.03 | +0.01 |
| equity-fairness | 0.02 | 0.05 | +0.03 |
| self-awareness-consistency | 0.02 | 0.03 | +0.01 |
| span-load-fit | 0.02 | 0.04 | +0.02 |
Worked example: newWeight = normalize(α·(R²ᵢ / ΣR²) + (1−α)·prior), α = 0.7. Per-domain R² are illustrative inputs to show the math — not a production tenant's result. The response also returns perDomainRSquared, alphaUsed, and a plain-English narration.
Try it now
Copy this curl. Paste in any terminal. Public read — no auth needed.
manager-effectiveness.health
GETHeartbeat verifying schema reachability until you POST composite payloads.
curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/manager-effectiveness/health"
manager-effectiveness.tenant.weights.recalibrate
POSTSERVICE KEY REQUIRED
Convex blend of pooled Q2 explanatory mass vs priors — returns old/new pillar weights plus narration audit string. Populate tenantId + at least one performance-validity scorecard cycle ids you ingested beforehand.
curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/manager-effectiveness/weights/recalibrate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
-d '{
"tenantId": "YOUR_TOOLBOX_TENANT_ID",
"validityScorecardCycleIds": ["cycle-uuid-from-performance-validity-ingest"],
"alphaEmpirical": 0.7,
"outcomeKinds": ["retention", "promotion"]
}'Vendor the contract
The Zod contract is the source of truth. Vendor a copy into your consumer app — you keep it; we don't break it underneath you. Re-vendor when the version bumps.
// Vendor canonical types: // src/spokes/manager-effectiveness/contracts/types.ts
Source path: src/spokes/manager-effectiveness/contracts/types.ts · GitHub
Failure
Exec spats about weights devolve into politics—no reproducible predictive evidence attaches to the headline index.
Success
Every refresh cites blended empirical mass + audited defaults; narratives explain pillar shifts with quantitative provenance.