Build1 distinct publisher3 min readPublished
Every row stays causally valid and the temporal split stays correct, which is why no leakage check flags this, while the independent observations behind each confidence interval fall by a factor equal to the window length.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Interval width does not scale with rows. It scales with the root of how many separate examples you actually hold, so a thirtyfold overstatement of that count tightens every error bar by about 5.5, according to the dev.to post [7]. Do the division: one over the root of thirty is 0.183, so the interval you print covers roughly 18 percent of the width the evidence supports [1]. The post rounds that to a fifth [8], which is the same statement.
The penalty is a property of the window, not of the model, which makes it portable arithmetic. Swap in a seven-day label on the same 3,300 rows and you get about 471 effective examples, with intervals near 38 percent of warranted width [2]. Move to the 365-day label and 2,940 rows stand in for nine observations, an overstatement of 327 times that compresses intervals by roughly 18, to about five percent of their honest width [3]. The post's verdict on an estimate like that is that it carries no real information [17].
Row count over window length is a crude estimator, and the author says so while arguing it beats nothing [14]. It is optimistic in one specific way, because it treats any two observations more than one window apart as independent draws. Across nine years of a real series the data generating process has usually changed more than once [13], so those nine annual observations are not nine draws from one distribution, and the effective count for a model that assumes stationarity is lower than the division implies.
A test suite will not catch this one. The data is valid and the split is temporally correct and the code is right; the defect lives in an assumption underneath the metric [11]. The post's line for it is that these assumptions can fail silently, without raising an exception [11]. So this belongs in review, next to the metrics table, rather than in CI.
The remediation is cheap at the bottom. Report effective sample size in the same table as the metrics, so nobody reads one without the other [14]. Keep training on every correlated row, because they still help the fit, but derive intervals, error bars and significance tests from a non-overlapping subset [15]. Above that sits blocked cross-validation with purging and embargo: contiguous segments stay together, purging removes the examples whose windows straddle a fold boundary, and an embargo gap stops the edge from sharing information at all [16]. Financial ML has used that for years, and per the post everywhere else that windows appear has underused it [16].
In my context the first rung buys the most. One extra column makes the assumption visible, and a visible assumption is one somebody can argue with at review.
Ranked by verification strength, evidence, and original report placement.
A daily price series of about 3,300 rows with a thirty-day forward label generated at each step produces roughly 3,275 labelled examples.
Dividing rather than sliding, 3,300 rows with a thirty-day window yields about 110 genuinely independent examples rather than 3,275.
The inflation ratio equals the window length exactly: a seven-day window inflates sevenfold, a ninety-day window ninetyfold.
This is not leakage: there is no contamination across the split boundary and every row is causally valid, and time-based splits, which most teams now handle correctly, fix leakage.
Uncertainty estimates scale with the root of how many truly separate examples are held, so overstating by thirty compresses everything by a factor near 5.5.
Confidence intervals on the metrics land at roughly a fifth of their warranted width, and bootstrap distributions over validation scores are far tighter than reality.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · September 2, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Three manual interventions in a month, and every guard was working as designed1 distinct publisher
build
Six MariaDB versions, one real difference: the only reason to leave 10.6 is the July 2026 clock1 distinct publisher
build
Force the tool call, then hand Lightsail a long-lived key1 distinct publisher
build
Separating moderation rejections moved one API gateway's success rate from 95.5% to 98.9%1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Self-checking maths, single author
Unusually for a one-source story, most of the argument can be audited from the page: 3,300 over 30 gives the 110 independent examples, the square root of 30 gives the 5.5-times compression, and 2,940 rows across nine years gives nine annual observations. That is why this scores above the middle. What holds it there is everything the arithmetic cannot supply — no dataset, no notebook, no measured comparison of a blocked-and-purged evaluation against a naive one, and no citation for the rows-over-window rule, which the dev.to post itself calls crude. The claims about prevailing practice are assertions in an otherwise verifiable piece.
No usage signal to read
There is nothing to measure. No team, tool, release or codebase is shown adopting effective-sample-size reporting or purged blocked folds; the closest thing to a usage fact is neuportal's own line that it publishes forecasts under this constraint, which appears once, unverified, next to a link to its site. Asserting that a practice is standard in financial machine learning is not the same as observing it, and we decline to convert one into the other.
Slightly harder-edged than the maths
The headline promise is met, which is rarer than it sounds — the rows really do collapse by the window length, and the post resists the temptation to call it leakage. The overstatement is narrower: 'the ratio equals the window length exactly' is presented as an identity when it is an approximation the same author later concedes is crude, and dividing by the window is a bound rather than a measurement of dependence. Add the closing pitch to a forecast product and the tilt is upward, but only mildly. Most pieces built on one unreviewed example claim considerably more than this one does.
The argument sells the arguer
Follow the last paragraph. The author is neuportal, the piece ends at neuportal.ai/experiment, and the pitch is that their forecasts are committed before the outcome and scored in the open with failures kept. An essay arguing that everyone else's confidence intervals are five times too narrow is also an essay arguing that the party who counts separately deserves the trust. dev.to hosts it as member-submitted content, so no editor stood between the argument and the promotion. None of this makes the division wrong — it does mean the sociological claims about what other teams get wrong should be read as coming from an interested party.
Trust the division, not the survey
Our confidence splits along a clean seam. One publisher, one interested author, nobody reproducing the example — and yet the numbers the whole case rests on can be checked on a napkin, which is why we sit higher than a lone self-published post would usually earn. Where the piece stops calculating and starts describing the field, or gestures at a forecast record it never shows, we hold it much more loosely.