Add privacy-safe demand forecasting case study
Synthetic monthly SKU/region demand notebook comparing a trimmed-mean baseline against gradient boosting, with a gated TimesFM build-vs-buy comparison. Includes rolling-origin validation, executive narrative, architecture diagram, one-page PDF, and LinkedIn draft. No company data, credentials, or private implementation details. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
39
docs/architecture.svg
Normal file
39
docs/architecture.svg
Normal file
@@ -0,0 +1,39 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="430" viewBox="0 0 1100 430" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Demand forecasting delivery architecture</title>
|
||||
<desc id="desc">Synthetic demand flows through preparation, baseline and model, rolling validation, selection, and a twelve-month forecast. Manual triggering today has a future Airflow boundary.</desc>
|
||||
<style>
|
||||
.box { fill: #f5f7fb; stroke: #243b53; stroke-width: 2; rx: 12; }
|
||||
.accent { fill: #d9f0ff; }
|
||||
.text { fill: #102a43; font: 18px sans-serif; text-anchor: middle; }
|
||||
.small { fill: #486581; font: 15px sans-serif; text-anchor: middle; }
|
||||
.arrow { stroke: #486581; stroke-width: 2.5; fill: none; marker-end: url(#arrowhead); }
|
||||
.dashed { stroke-dasharray: 8 7; }
|
||||
</style>
|
||||
<defs>
|
||||
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
|
||||
<polygon points="0 0, 10 3.5, 0 7" fill="#486581"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect class="box accent" x="25" y="155" width="155" height="70"/>
|
||||
<text class="text" x="102" y="185">Synthetic</text><text class="text" x="102" y="208">demand</text>
|
||||
<rect class="box" x="220" y="155" width="165" height="70"/>
|
||||
<text class="text" x="302" y="185">Prepare</text><text class="text" x="302" y="208">features</text>
|
||||
<rect class="box" x="425" y="80" width="180" height="70"/>
|
||||
<text class="text" x="515" y="110">Trimmed-mean</text><text class="text" x="515" y="133">baseline</text>
|
||||
<rect class="box" x="425" y="230" width="180" height="70"/>
|
||||
<text class="text" x="515" y="260">Gradient-boosting</text><text class="text" x="515" y="283">model</text>
|
||||
<rect class="box" x="650" y="155" width="175" height="70"/>
|
||||
<text class="text" x="737" y="185">Rolling</text><text class="text" x="737" y="208">validation</text>
|
||||
<rect class="box" x="870" y="155" width="190" height="70"/>
|
||||
<text class="text" x="965" y="185">12-month</text><text class="text" x="965" y="208">forecast</text>
|
||||
<path class="arrow" d="M180 190 H220"/>
|
||||
<path class="arrow" d="M385 190 H410 V115 H425"/>
|
||||
<path class="arrow" d="M385 190 H410 V265 H425"/>
|
||||
<path class="arrow" d="M605 115 H625 V190 H650"/>
|
||||
<path class="arrow" d="M605 265 H625 V190 H650"/>
|
||||
<path class="arrow" d="M825 190 H870"/>
|
||||
<text class="small" x="300" y="45">Manual trigger today</text>
|
||||
<path class="arrow dashed" d="M300 55 V145"/>
|
||||
<text class="small" x="740" y="365">Future orchestration boundary</text>
|
||||
<path class="arrow dashed" d="M740 350 V235"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
Reference in New Issue
Block a user