From 65e911eee87c571490446d0f8021796b24d8814e Mon Sep 17 00:00:00 2001 From: averagenative Date: Tue, 1 Sep 2026 18:00:51 -0400 Subject: [PATCH] Record how the platform-height correction fakes a 31% win The merged note says a platform-height correction to shotL/shotR buys 3% on arc height at the rim and is not worth shipping. A second session of flights has since made that conclusion much stronger, and turned up the trap that nearly reversed it. Pooling the two sessions makes the same correction look like a 31% win, 75.2px down to 51.8px. Split by session: session A (n=8) 54.7px -> 53.0px -3% session B (n=7) 61.4px -> 75.1px +23% WORSE pooled (n=15) 75.2px -> 51.8px -31% It helps marginally in one session, hurts materially in the other, and only looks good pooled. The tell is that pooling made the CONSTANT model worse than it was in either session alone, which can only happen if pooling introduced variance neither session had; the extra free parameter then absorbs it and leave-one-out rewards it for that rather than for predicting anything. There is no real drift to absorb either: per session the parameters agree to within .21 of a standard deviation, so calibration does carry across sessions and the pooled variance was not a genuine offset. No behaviour change. This exists so the next person who notices the platform-height correlation -- it is strong, and it replicates -- does not pool their sessions, see 31%, and ship it. --- idleon-hoops.user.js | 18 ++++++++++++++++++ idleon-suite.user.js | 20 +++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/idleon-hoops.user.js b/idleon-hoops.user.js index 6da9cdb..bdb07a6 100644 --- a/idleon-hoops.user.js +++ b/idleon-hoops.user.js @@ -114,6 +114,24 @@ // empirical correction fitted on 11 flights from one player has to earn // more than 3% before it goes in. // + // It is worse than useless, and the way it hides is worth writing down. + // Adding a second session's flights and pooling the two made the same + // correction look like a 31% win -- 75.2px down to 51.8px -- which is + // exactly the kind of number that gets a change shipped. Split by session + // it evaporates: + // + // session A (n=8) 54.7px -> 53.0px -3% + // session B (n=7) 61.4px -> 75.1px +23% WORSE + // pooled (n=15) 75.2px -> 51.8px -31% + // + // The tell is that pooling made the CONSTANT model worse than it was in + // either session on its own, which can only happen if pooling introduced + // variance neither session had. The linear term then soaks that up, and the + // leave-one-out score rewards it for absorbing an artefact of pooling + // rather than for predicting anything. Per-session the parameters agree to + // within .21 of a standard deviation, so there is no real drift to model. + // Score a per-shot correction per session, never across pooled sessions. + // // The ~55px of arc height at the rim is therefore the real accuracy ceiling // today, and it is per-shot noise in L and R rather than anything to do // with the anchor. Averaging across shots is what actually removes it, diff --git a/idleon-suite.user.js b/idleon-suite.user.js index a7a2ba2..8cc7b81 100644 --- a/idleon-suite.user.js +++ b/idleon-suite.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name IdleOn Helper Suite // @namespace nativerobot -// @version 1.9 +// @version 1.10 // @downloadURL https://raw.githubusercontent.com/averagenative/idleon-userscripts/main/idleon-suite.user.js // @updateURL https://raw.githubusercontent.com/averagenative/idleon-userscripts/main/idleon-suite.user.js // @description All-in-one: autoclicker + Hoops, Fishing and Darts minigame helpers for Legends of IdleOn, each one individually switchable @@ -645,6 +645,24 @@ // empirical correction fitted on 11 flights from one player has to earn // more than 3% before it goes in. // + // It is worse than useless, and the way it hides is worth writing down. + // Adding a second session's flights and pooling the two made the same + // correction look like a 31% win -- 75.2px down to 51.8px -- which is + // exactly the kind of number that gets a change shipped. Split by session + // it evaporates: + // + // session A (n=8) 54.7px -> 53.0px -3% + // session B (n=7) 61.4px -> 75.1px +23% WORSE + // pooled (n=15) 75.2px -> 51.8px -31% + // + // The tell is that pooling made the CONSTANT model worse than it was in + // either session on its own, which can only happen if pooling introduced + // variance neither session had. The linear term then soaks that up, and the + // leave-one-out score rewards it for absorbing an artefact of pooling + // rather than for predicting anything. Per-session the parameters agree to + // within .21 of a standard deviation, so there is no real drift to model. + // Score a per-shot correction per session, never across pooled sessions. + // // The ~55px of arc height at the rim is therefore the real accuracy ceiling // today, and it is per-shot noise in L and R rather than anything to do // with the anchor. Averaging across shots is what actually removes it,