Seasonal: Check Sample Depth Before Trusting The Pattern
A beginner-safe Seasonal lesson for reading sample depth before story: use period, occurrences, average, median, standard deviation, and worst return as the first trust gate.
Educational only
The examples teach workflow and risk framing. They do not provide trade recommendations, personalized advice, leverage guidance, or guaranteed outcomes.
Chapter 01
Check sample size before story
Trader question
Do I have enough history to treat this as a pattern rather than a coincidence?
Seasonal evidence starts with sample quality. Before a strong month becomes a serious hypothesis, the learner should read period, occurrences, limited-history state, worst return, and dispersion.
Desk checklist
- Read period and occurrences before average return.
- Downgrade thin samples and limited-history views.
- Keep worst return and dispersion beside the seasonal note.
Interactive proof
Period selector, limited-history banner, occurrences, data stats, and Overview metrics
Use the sample-depth scaler to change period and watch occurrence count, confidence, average, median, worst return, and standard deviation update.
Sample depth is the first trust gate. A strong seasonal average should be downgraded when occurrences are thin, median disagrees, worst return is wide, or dispersion is high.
Interactive desk lab
Seasonal Sample Depth Scaler
A practical Seasonal Analysis sample-depth lab for changing history period and watching occurrences, confidence, average, median, worst return, and dispersion caveats update before trusting a pattern.
A practical Seasonal Analysis sample-depth lab for changing history period and watching occurrences, confidence, average, median, worst return, and dispersion caveats update before trusting a pattern.
The same month across sample depths
A strong-looking seasonal bar changes as history depth expands, while the caveat strip stays visible.
A one-year seasonal bar appears with a bright average.
The sample expands to five, ten, and fifteen years.
Occurrences, worst return, and standard deviation cards fade in beside the bar.
The final frame labels the month reviewable only after sample checks.
Remotion code
SeasonalSameMonthDepthVideo
The snippet is stored with the lesson so a future Remotion project can render the chapter video.
Show component snippet
import {AbsoluteFill, Easing, Sequence, interpolate, useCurrentFrame} from "remotion";
const depths = [
{label: "1Y", occurrences: 1, average: "+4.8%"},
{label: "5Y", occurrences: 5, average: "+1.2%"},
{label: "10Y", occurrences: 10, average: "+0.9%"},
{label: "15Y", occurrences: 15, average: "+0.7%"},
];
export const SeasonalSameMonthDepthVideo = () => {
const frame = useCurrentFrame();
const progress = interpolate(frame, [8, 120], [0, 3], {
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
easing: Easing.bezier(0.16, 1, 0.3, 1),
});
const active = Math.min(3, Math.floor(progress));
const barHeight = interpolate(progress, [0, 1, 2, 3], [210, 128, 108, 96], {
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
});
return (
<AbsoluteFill style={{background: "#fff8e8", color: "#071126", padding: 72}}>
<h1 style={{fontSize: 54, lineHeight: 1}}>Same month, different evidence.</h1>
<div style={{marginTop: 42, display: "grid", gridTemplateColumns: "260px 1fr", gap: 34, alignItems: "end"}}>
<div style={{height: 250, display: "grid", alignItems: "end", borderBottom: "3px solid #071126"}}>
<div style={{height: barHeight, background: "#d9971f", width: 120}} />
</div>
<div style={{display: "grid", gap: 14}}>
{depths.map((depth, index) => (
<div key={depth.label} style={{opacity: index <= active ? 1 : 0.28, padding: 16, background: index === active ? "#071126" : "#fffdf7", color: index === active ? "#fff8e8" : "#071126", border: "1px solid #ad862d"}}>
{depth.label}: {depth.occurrences} occurrences, average {depth.average}
</div>
))}
</div>
</div>
<Sequence from={112} layout="none">
<p style={{marginTop: 28, fontSize: 26, color: "#805407"}}>The average is not trusted until occurrences, worst return, and dispersion are visible.</p>
</Sequence>
</AbsoluteFill>
);
};Sources used for this tutorial
Next step
Open the tool with the checklist beside you.
Move from the lesson into the matching Bullion Brains tool, keep the checklist visible, and treat the output as evidence until the caveats are clear.