NBA learning review · 2026-11-11

What the settled games taught the system, what Luna found, what the KPI did and what changes for the next slate. Status: assessed · updated 2026-11-12T23:40:55.182227+00:00
This date's latest revision covered 2 settled game(s). Results, misses and the Luna review below come from the pregame run 20261111T223002Z_eb7c6034, which Luna reviewed and which covers the full slate.

1. How the forecasts did

10 settled games. Average absolute error per player who played; lower is better, best in bold.

MetricProduction (published)Local baseLocal challenger
Points4.384.464.38
Rebounds1.781.781.78
Assists1.351.351.35
Minutes5.305.305.30
Threes0.850.860.85
Team score error8.908.908.90
Game total error13.4013.4013.40
Game margin error12.6012.6012.60
Winner picks7/97/97/9

Team scores

GameTeamLocal baseChallengerRealBase missLearning changeGain
BOS@TORTOR11211293190.00.0
BOS@TORBOS11211298140.00.0
CLE@NYNY11111110740.00.0
CLE@NYCLE10610611590.00.0
WAS@INDIND11911911450.00.0
WAS@INDWAS113113101120.00.0
BKN@NONO11911911180.00.0
BKN@NOBKN106106145390.00.0
DEN@MEMMEM11311311850.00.0
DEN@MEMDEN11611612370.00.0
LAL@MILMIL9898112140.00.0
LAL@MILLAL12812812350.00.0
SA@CHICHI103103119160.00.0
SA@CHISA12912912450.00.0
ORL@UTAUTA10810810800.00.0
ORL@UTAORL11411412390.00.0
GS@HOUHOU11511511500.00.0
GS@HOUGS10710710810.00.0
OKC@PORPOR11411411840.00.0
OKC@POROKC10610610820.00.0

2. Biggest player misses and why

Local base, players who played. The point miss is split into a playing-time part (wrong minutes) and a scoring-rate part (wrong points per minute).

GamePlayerPoints fc / realMinutes fc / realMissFrom minutesFrom rateMain cause
CLE@NYJames Harden CLE11 / 3228 / 33-21-2.0-19.0scoring rate
GS@HOUStephen Curry GS23 / 328 / 62018.11.9playing time
ORL@UTAFranz Wagner ORL23 / 3831 / 39-15-5.9-9.1scoring rate
BKN@NOEgor Demin BKN8 / 2227 / 23-141.2-15.2scoring rate
SA@CHINicolas Claxton CHI3 / 1714 / 16-14-0.4-13.6scoring rate
LAL@MILSandro Mamukelashvili LAL10 / 2321 / 26-13-2.4-10.6scoring rate
SA@CHIJalen Smith CHI10 / 2325 / 30-13-2.0-11.0scoring rate
OKC@PORIsaiah Hartenstein OKC7 / 2028 / 34-13-1.5-11.5scoring rate
DEN@MEMCameron Johnson DEN11 / 2327 / 30-12-1.2-10.8scoring rate
ORL@UTABrice Sensabaugh UTA7 / 199 / 23-12-10.9-1.1playing time
BOS@TORJamal Shead TOR14 / 326 / 22112.28.8scoring rate
WAS@INDIvica Zubac IND9 / 2025 / 31-11-2.2-8.8scoring rate
DEN@MEMJaylen Wells MEM11 / 2226 / 31-11-2.1-8.9scoring rate
LAL@MILJaime Jaquez Jr. MIL14 / 2530 / 30-110.0-11.0scoring rate
GS@HOUBrandin Podziemski GS11 / 2230 / 37-11-2.6-8.4scoring rate
CLE@NYMiles McBride NY9 / 1926 / 27-10-0.3-9.7scoring rate
WAS@INDAaron Nesmith IND12 / 226 / 22101.88.2scoring rate
BKN@NONoah Clowney BKN6 / 1614 / 19-10-2.1-7.9scoring rate
BKN@NODejounte Murray NO15 / 531 / 28101.58.5scoring rate
BKN@NOKarlo Matkovic NO14 / 430 / 22103.76.3scoring rate

Forecast rows by outcome

VariantPlayedDid not play (availability)Participation not verified
Production (published)2093513
Local base2093513
Local challenger2093513

3. Day over day

Every settled local slate under the timing policy. Points / minutes error per player.

DateGamesProduction (published)Local baseLocal challenger
20261028125.22 / 7.755.26 / 7.715.07 / 7.71
2026102936.14 / 7.026.05 / 6.336.00 / 6.33
2026103026.18 / 5.616.12 / 4.916.00 / 4.91
2026103175.86 / 8.315.92 / 6.575.68 / 6.57
2026110145.46 / 6.634.41 / 5.414.34 / 5.41
20261102155.00 / 7.414.41 / 5.754.38 / 5.75
20261104144.68 / 4.894.74 / 5.094.70 / 5.09
2026110525.30 / 4.574.79 / 4.364.49 / 4.36
2026110694.87 / 5.044.85 / 4.984.74 / 4.98
2026110774.53 / 5.184.51 / 5.384.34 / 5.38
2026110823.85 / 3.853.93 / 3.853.85 / 3.85
2026110914.48 / 9.194.38 / 9.194.48 / 9.19
2026111014.09 / 4.224.09 / 4.224.09 / 4.22
20261111104.38 / 5.304.46 / 5.304.38 / 5.30

4. What each learning stage did

StageStateDetail
Settlementdone10 games scored against final box scores
Luna reviewreceivedmodel gpt-5.6-luna; 3 findings accepted, 1 rejected by the numeric check; 2026-11-12T23:12:53.466792+00:00
Luna proposals4 admitted0 refused, 0 expired; proposals only enter as shadow hypotheses
Calibration for next slateeligibleKPI effect scale 1.268 from 1776 rows / 14 slates, applies to 20261112
Automatic activationoffLuna text never changes a forecast; only promoted candidates do
Action: data_qualityrequestedinspect unverified participation
Action: modelrequestedcollect prospective evidence
Action: coderequestedreview separately

Run 20261111T223002Z_eb7c6034.

5. KPI model used for this slate

Trained through 2026-11-02, weights chosen through 2026-11-06, checked through 2026-11-10. Policy v7.1_live_daily_refit.

TargetWeightRowsError without KPIKPI aloneBlendedGain intervalGate
pts0.456204.5354.5054.4730.023 to 0.136passed
reb0.006201.8871.8811.8870.000 to 0.000not passed
ast0.456201.3691.3661.3520.000 to 0.042passed

Features: projected_mins, mins_mean, minutes_trend, pts_mean, reb_mean, ast_mean, fga_per_min, tptfga_per_min, fta_per_min, history_rows_capped. A weight of 0 means the KPI is not applied to that stat.

6. Luna review of this slate

Summary. 10 settled games. Computed from the frozen forecast comparison; lower MAE is better. production: pts MAE 4.378, reb MAE 1.775, ast MAE 1.349, mins MAE 5.301; margin MAE 12.600; correct winners 7/9. baseline: pts MAE 4.459, reb MAE 1.775, ast MAE 1.349, mins MAE 5.301; margin MAE 12.600; correct winners 7/9. challenger: pts MAE 4.378, reb MAE 1.775, ast MAE 1.349, mins MAE 5.301; margin MAE 12.600; correct winners 7/9.
Luna's own reading. The slate shows material player-level misses concentrated in participation availability, minutes allocation, and scoring rate. Several reviewed production rows also have unverified input provenance, while the validation result contains a source-quality issue. These observations support further shadow testing, not an implemented correction or a systemic conclusion.

Accepted findings

CategoryFindingEvidence
availabilitySome forecasted participants have no recorded participation, so their projected production should be separated from played-player accuracy. The evidence does not establish why those players did not participate or whether the pregame availability state was correct.20261111_WAS@IND:baseline:IND:946647301869
20261111_ORL@UTA:production:ORL:94364276527
20261111_BOS@TOR:baseline:BOS:94624472047
20261111_CLE@NY:production:CLE:28268539499
minutesSeveral played-player rows show substantial divergence between projected and actual minutes, including both underestimation and overestimation. This is consistent with rotation uncertainty, but one slate cannot identify whether the cause is availability information, role changes, or model calibration.20261111_GS@HOU:production:GS:28046691632
20261111_ORL@UTA:production:ORL:94614279027
20261111_OKC@POR:production:OKC:28338669069
20261111_CLE@NY:production:CLE:28116891632
rateMultiple played-player scoring misses are accompanied by actual shot volume or free-throw volume above projection. The supplied decomposition attributes most of these examples to the rate component rather than minutes, but the examples include unusual individual performances and do not establish a stable calibration defect.20261111_BKN@NO:production:BKN:949143631189
20261111_CLE@NY:production:CLE:28116891632
20261111_SA@CHI:production:CHI:28568879869
20261111_OKC@POR:production:OKC:28338669069

Findings rejected by the numeric check

Luna's claims are compared with the exact saved values; any mismatch rejects the finding.

CategoryFindingWhy rejected
data_qualityProduction input identity is unverified for several reviewed rows, and the validation result did not pass because of a source-quality issue. These limitations reduce confidence in attributing observed errors to the model rather than to input or source reconciliation.Measurement does not equal its cited evidence: 20261111_LAL@MIL:production:LAL:28128827869:projected_pts

Proposed hypotheses

TargetFeatureHypothesis
ptsfga_per_minWhen projected shot volume per minute understates a player's opportunity, a bounded scoring adjustment using fga_per_min may reduce points misses for played players. Test prospectively while separating rotation and availability errors.
ptsfta_per_minFree-throw opportunity per minute may be underrepresented in some scoring forecasts, particularly where actual free-throw attempts materially exceed projection. Test with safeguards against single-game foul-drawing outliers.
ptsprojected_minsPoints forecasts may benefit from a rotation-aware interaction between projected minutes and scoring rate, because large minutes misses can dominate the resulting points error. Evaluate separately for played players and nonparticipants.
ptshistory_rows_cappedSparse or capped player histories may produce unstable scoring-rate estimates and understate role changes. Test whether history depth changes points calibration, with production provenance and qualification status retained as stratification fields.

7. Luna hypotheses and their promotion gate

A hypothesis changes forecasts only after it improves later games it never saw. Gate: at least 60 later player rows over 1 slate(s) with the gain interval above zero. Gain = points of error removed per player row (positive is better). 24 hypotheses tracked across 23 families; 2598 evidence rows.

IdStatFeatureStatusCoefficientLater rowsSlatesMean gainGain intervalLast slateVerdict
49a8a744ptstptfga_per_minshadow0.004710728-0.004-0.009 to -0.002-0.002hurts
761fef5bptsopp_pos_astshadow0.0063158911-0.004-0.024 to 0.009-0.000hurts
3bfd01d0astast_meanshadow0.0126158911-0.006-0.022 to 0.0110.014hurts
fa747049ptsopp_pos_ptsshadow0.0118158911-0.007-0.061 to 0.011-0.003hurts
e2faa0a7ptsfta_per_minshadow0.00217296-0.007-0.020 to 0.010-0.003hurts
83dfc1b6astopp_pos_rebshadow0.0037158911-0.010-0.013 to 0.0010.001hurts
ec1bba64ptsfga_per_minshadow-0.0042177712-0.017-0.024 to -0.001-0.004hurts
87c5fb77ptsopp_pos_rebshadow0.0212158911-0.022-0.098 to -0.0050.018hurts
34c173baptspts_meanshadow-0.0140182113-0.022-0.040 to 0.013-0.042hurts
17f277caastopp_pos_astshadow0.0067158911-0.023-0.029 to -0.0020.003hurts
3d05bb53rebopp_pos_astshadow0.0046158911-0.024-0.033 to -0.011-0.001hurts
205dcef8rebopp_pos_ptsshadow0.0052158911-0.025-0.034 to -0.014-0.003hurts
62ba1a50ptsminutes_trendshadow0.0108182113-0.025-0.034 to 0.008-0.050hurts
3e2f2dc0astopp_pos_ptsshadow0.0043158911-0.028-0.037 to 0.003-0.004hurts
ff33879bastown_team_offshadow0.0013158911-0.030-0.034 to -0.012-0.001hurts
a1054f0eastopp_team_defshadow0.0013158911-0.031-0.035 to -0.011-0.001hurts
2400aa71ptsprojected_minsshadow-0.0222182113-0.034-0.077 to 0.010-0.067hurts
b8845ee9rebopp_pos_rebshadow0.0139158911-0.035-0.077 to -0.024-0.012hurts
c5813244ptshistory_rows_cappedshadow0.011810728-0.036-0.090 to 0.006-0.024hurts
1147d39erebown_team_offshadow0.0063158911-0.052-0.080 to -0.0400.003hurts
ed5c3099rebopp_team_defshadow0.0073158911-0.057-0.090 to -0.046-0.008hurts
0f45c0d3ptsown_team_offshadow0.0146158911-0.077-0.182 to -0.0200.010hurts
9578e14fptsopp_team_defshadow0.0159158911-0.090-0.207 to -0.028-0.015hurts
d61fdf87ptsmins_meanshadow–00––hurts

8. Calibration produced for the next slate

ItemValue
Applies to20261112
KPI effect scale1.268
Interval1.051 to 1.500
Eligibleyes
Evidence1776 rows, 14 slates
New KPI supplements0
Built from20261028, 20261029, 20261030, 20261031, 20261101, 20261102, 20261104, 20261105, 20261106, 20261107, 20261108, 20261109

The scale multiplies the KPI change only when its interval excludes 1.0; it applies to later slates with a compatible policy.

9. Shadow recipe (v9) on the same games

No v9 shadow run for this date.

10. Fixes and changes to the system

From config/nba_change_log.json, newest first.

DateAreaWhat was foundWhat changedState
20261111Luna in productionProduction regenerates hourly, so the active run was always post-tip and never eligible; Luna was not requested since Nov 10.Settlement requests the Luna review on the newest run locked 5+ minutes before the first tip (PR #4).deployed
20261111KPI team budgetThe exact team budget reverted 15 of 43 KPI point changes on Nov 10.v9: 5% per-team bound instead of the exact budget.shadow
20261111Last-ten blendThe v9 blend halved every KPI/Luna correction.v9.2: blend applies to the base only; learned change added back.shadow
20261111Luna in v9v9 forced Luna supplements off.v9 reads the shared Luna store; only promoted candidates apply.shadow
20261111Data writersRankings from June; ESPN injuries/depth TLS failures on Windows; one optional failure stopped the refresh.Browser-free rankings download, trusted roots, optional steps keep the previous file.active