{"product_id":"sell-through-rate","title":"Sell-Through Rate Calculator","description":"\u003cstyle\u003e\n.str-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\n  background: var(--surface);\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  container-type: inline-size;\n  font-variant-numeric: tabular-nums;\n}\n.str-calculator,\n.str-calculator *,\n.str-calculator *::before,\n.str-calculator *::after {\n  box-sizing: border-box;\n}\n.str-calculator [class*=\"str-\"] {\n  min-width: 0;\n}\n.str-calculator h2,\n.str-calculator h3,\n.str-calculator p {\n  margin-top: 0;\n}\n.str-calculator a {\n  color: var(--primary);\n  text-underline-offset: 3px;\n}\n.str-calculator a:hover {\n  text-decoration-thickness: 2px;\n}\n.str-calculator button,\n.str-calculator input,\n.str-calculator select {\n  font: inherit;\n}\n.str-calculator button,\n.str-calculator input,\n.str-calculator select,\n.str-calculator summary,\n.str-calculator a {\n  outline: none;\n}\n.str-calculator button:focus-visible,\n.str-calculator input:focus-visible,\n.str-calculator select:focus-visible,\n.str-calculator summary:focus-visible,\n.str-calculator a:focus-visible {\n  box-shadow: 0 0 0 3px rgba(29, 78, 216, .24);\n  border-radius: 6px;\n}\n.str-calculator .str-shell {\n  padding: 24px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n}\n.str-calculator .str-header {\n  display: grid;\n  gap: 12px;\n  margin-bottom: 16px;\n}\n.str-calculator .str-title {\n  margin: 0;\n  font-size: 24px;\n  line-height: 1.25;\n  font-weight: 700;\n  letter-spacing: -.02em;\n}\n.str-calculator .str-subtitle {\n  margin: 0;\n  max-width: 760px;\n  color: var(--muted);\n}\n.str-calculator .str-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n.str-calculator .str-pill {\n  display: inline-flex;\n  align-items: baseline;\n  gap: 6px;\n  padding: 6px 10px;\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-pill strong {\n  color: var(--ink);\n  font-weight: 700;\n}\n.str-calculator .str-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 24px;\n}\n.str-calculator .str-button {\n  min-height: 44px;\n  border: 1px solid transparent;\n  border-radius: 6px;\n  padding: 10px 16px;\n  cursor: pointer;\n  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;\n  font-weight: 650;\n}\n.str-calculator .str-button:hover {\n  box-shadow: 0 2px 5px rgba(15, 23, 42, .12);\n}\n.str-calculator .str-button:active {\n  transform: translateY(1px);\n}\n.str-calculator .str-download {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  padding: 12px 18px;\n  background: var(--accent);\n  color: #ffffff;\n  white-space: nowrap;\n}\n.str-calculator .str-download:hover {\n  background: var(--accent-hover);\n}\n.str-calculator .str-download:focus-visible {\n  box-shadow: 0 0 0 3px rgba(194, 65, 12, .28);\n}\n.str-calculator .str-download-icon {\n  width: 18px;\n  height: 18px;\n  flex: 0 0 auto;\n}\n.str-calculator .str-reset {\n  background: var(--surface);\n  border-color: #64748b;\n  color: var(--ink);\n}\n.str-calculator .str-reset:hover {\n  background: var(--tint);\n  border-color: #475569;\n}\n.str-calculator .str-workspace {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 16px;\n  align-items: start;\n}\n.str-calculator .str-panel,\n.str-calculator .str-section {\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);\n}\n.str-calculator .str-panel {\n  padding: 20px;\n}\n.str-calculator .str-section {\n  margin-top: 16px;\n  padding: 20px;\n}\n.str-calculator .str-section-heading,\n.str-calculator .str-panel-heading {\n  margin: 0 0 16px;\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n}\n.str-calculator .str-field-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));\n  gap: 16px;\n}\n.str-calculator .str-field {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n.str-calculator .str-label {\n  display: block;\n  color: var(--ink);\n  font-size: 14px;\n  font-weight: 600;\n}\n.str-calculator .str-control-wrap {\n  position: relative;\n}\n.str-calculator .str-control {\n  width: 100%;\n  min-height: 44px;\n  border: 1px solid #64748b;\n  border-radius: 6px;\n  padding: 10px 12px;\n  background: var(--surface);\n  color: var(--ink);\n  font-size: 15px;\n  line-height: 1.4;\n}\n.str-calculator .str-control:hover {\n  border-color: #475569;\n}\n.str-calculator .str-control:focus {\n  border-color: var(--primary);\n  box-shadow: 0 0 0 3px rgba(29, 78, 216, .14);\n}\n.str-calculator .str-control[aria-invalid=\"true\"] {\n  border-color: #b91c1c;\n  box-shadow: 0 0 0 2px rgba(185, 28, 28, .12);\n}\n.str-calculator .str-control-suffix {\n  padding-right: 38px;\n}\n.str-calculator .str-suffix {\n  position: absolute;\n  right: 12px;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--muted);\n  font-size: 14px;\n  font-weight: 600;\n  pointer-events: none;\n}\n.str-calculator .str-helper,\n.str-calculator .str-error {\n  min-height: 20px;\n  margin: 0;\n  font-size: 13px;\n  line-height: 1.45;\n}\n.str-calculator .str-helper {\n  color: var(--muted);\n}\n.str-calculator .str-error {\n  color: #991b1b;\n  font-weight: 500;\n}\n.str-calculator .str-result-panel {\n  background: var(--tint);\n}\n.str-calculator .str-primary-result {\n  padding: 20px;\n  border: 1px solid #bfdbfe;\n  border-radius: 8px;\n  background: #eff6ff;\n}\n.str-calculator .str-primary-label {\n  margin: 0 0 4px;\n  color: #1e3a8a;\n  font-size: 14px;\n  font-weight: 600;\n}\n.str-calculator .str-primary-value {\n  margin: 0;\n  color: #172554;\n  font-size: 30px;\n  line-height: 1.15;\n  font-weight: 700;\n  overflow-wrap: anywhere;\n}\n.str-calculator .str-primary-detail {\n  margin: 8px 0 0;\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-card-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));\n  gap: 12px;\n  margin-top: 12px;\n}\n.str-calculator .str-metric-card {\n  padding: 14px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n}\n.str-calculator .str-metric-label {\n  margin: 0 0 4px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-metric-value {\n  margin: 0;\n  color: var(--ink);\n  font-size: 20px;\n  line-height: 1.25;\n  font-weight: 700;\n  overflow-wrap: anywhere;\n}\n.str-calculator .str-metric-note {\n  margin: 6px 0 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-alert {\n  display: none;\n  margin-top: 12px;\n  padding: 10px 12px;\n  border: 1px solid #fdba74;\n  border-radius: 6px;\n  background: #fff7ed;\n  color: #7c2d12;\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-alert.str-visible {\n  display: block;\n}\n.str-calculator .str-chart-card {\n  display: block;\n}\n.str-calculator .str-chart-intro {\n  margin: -8px 0 16px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-chart-cluster {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  justify-content: center;\n  align-items: center;\n  gap: 20px;\n  width: min(100%, 660px);\n  margin: 0 auto;\n}\n.str-calculator .str-chart-visual {\n  width: min(100%, 240px);\n  aspect-ratio: 1;\n  margin: 0 auto;\n}\n.str-calculator .str-chart-svg {\n  display: none;\n  width: 100%;\n  height: 100%;\n  overflow: visible;\n}\n.str-calculator .str-chart-svg.str-visible {\n  display: block;\n}\n.str-calculator .str-chart-empty {\n  display: flex;\n  min-height: 120px;\n  align-items: center;\n  justify-content: center;\n  padding: 16px;\n  border: 1px dashed #cbd5e1;\n  border-radius: 8px;\n  background: var(--tint);\n  color: var(--muted);\n  text-align: center;\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-chart-empty.str-hidden {\n  display: none;\n}\n.str-calculator .str-legend {\n  display: grid;\n  gap: 10px;\n  justify-content: center;\n}\n.str-calculator .str-legend-row {\n  display: grid;\n  grid-template-columns: 12px minmax(90px, max-content) max-content max-content;\n  align-items: center;\n  column-gap: 10px;\n  row-gap: 4px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-swatch {\n  width: 12px;\n  height: 12px;\n  border-radius: 3px;\n}\n.str-calculator .str-legend-name {\n  color: var(--ink);\n  font-weight: 600;\n}\n.str-calculator .str-legend-value,\n.str-calculator .str-legend-share {\n  white-space: nowrap;\n}\n.str-calculator .str-chart-caption,\n.str-calculator .str-table-note {\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.str-calculator .str-safe-stack .str-chart-cluster {\n  grid-template-columns: minmax(0, 1fr);\n  row-gap: 24px;\n  width: min(100%, 520px);\n}\n.str-calculator .str-safe-stack .str-chart-caption {\n  margin-top: 20px;\n}\n.str-calculator .str-table-overflow {\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n}\n.str-calculator .str-table {\n  width: 100%;\n  min-width: 620px;\n  border-collapse: collapse;\n  background: var(--surface);\n}\n.str-calculator .str-table th,\n.str-calculator .str-table td {\n  padding: 11px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: left;\n  vertical-align: top;\n  font-size: 13px;\n}\n.str-calculator .str-table th {\n  background: #f1f5f9;\n  color: var(--ink);\n  font-weight: 700;\n}\n.str-calculator .str-table td {\n  color: var(--muted);\n  font-weight: 500;\n}\n.str-calculator .str-table td.str-number,\n.str-calculator .str-table th.str-number {\n  text-align: right;\n  white-space: nowrap;\n}\n.str-calculator .str-table tbody tr:last-child td {\n  border-bottom: 0;\n}\n.str-calculator .str-table tbody tr:hover td {\n  background: #fafafa;\n}\n.str-calculator .str-safe-table-stack .str-table-note {\n  margin-top: 20px;\n}\n.str-calculator .str-education {\n  margin-top: 24px;\n  padding-top: 24px;\n  border-top: 1px solid var(--border);\n}\n.str-calculator .str-education-grid {\n  display: grid;\n  gap: 20px;\n}\n.str-calculator .str-education-section {\n  max-width: 880px;\n}\n.str-calculator .str-education h2 {\n  margin-bottom: 10px;\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n}\n.str-calculator .str-education h3 {\n  margin: 16px 0 8px;\n  font-size: 15px;\n  line-height: 1.4;\n  font-weight: 700;\n}\n.str-calculator .str-education p {\n  margin-bottom: 12px;\n  color: #334155;\n}\n.str-calculator .str-formula {\n  display: inline-block;\n  margin: 4px 0 12px;\n  padding: 8px 10px;\n  border: 1px solid #bfdbfe;\n  border-radius: 6px;\n  background: #eff6ff;\n  color: #172554;\n  font-weight: 700;\n}\n.str-calculator .str-sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n@container (min-width: 640px) {\n  .str-calculator .str-chart-cluster {\n    grid-template-columns: 240px max-content;\n    column-gap: 24px;\n  }\n  .str-calculator .str-legend {\n    align-self: end;\n    padding-bottom: 4px;\n  }\n}\n@container (min-width: 900px) {\n  .str-calculator .str-workspace {\n    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);\n  }\n}\n@container (max-width: 639px) {\n  .str-calculator .str-legend-row {\n    grid-template-columns: 12px minmax(90px, max-content) max-content;\n  }\n  .str-calculator .str-legend-share {\n    grid-column: 2 \/ 4;\n    padding-left: 0;\n  }\n}\n@container (max-width: 420px) {\n  .str-calculator .str-shell {\n    padding: 16px;\n    border-left: 0;\n    border-right: 0;\n    border-radius: 0;\n  }\n  .str-calculator .str-panel,\n  .str-calculator .str-section {\n    padding: 16px;\n  }\n  .str-calculator .str-toolbar {\n    align-items: stretch;\n  }\n  .str-calculator .str-button {\n    justify-content: center;\n    flex: 1 1 100%;\n  }\n}\n@container (max-width: 360px) {\n  .str-calculator .str-chart-caption,\n  .str-calculator .str-table-note {\n    margin-top: 12px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"str-calculator\" data-calculator-root\u003e\n  \u003cdiv class=\"str-shell\"\u003e\n    \u003cheader class=\"str-header\"\u003e\n      \u003ch2 class=\"str-title\"\u003eSell-Through Rate Calculator\u003c\/h2\u003e\n      \u003cp class=\"str-subtitle\"\u003eMeasure how much received inventory sold during a selected period, see what remains, and compare current performance with a planning target.\u003c\/p\u003e\n      \u003cdiv class=\"str-pills\" aria-label=\"Live calculation summary\"\u003e\n        \u003cspan class=\"str-pill\"\u003eRate \u003cstrong data-str-pill-rate\u003e65.00%\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"str-pill\"\u003eRemaining \u003cstrong data-str-pill-remaining\u003e350,000 units\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"str-pill\"\u003eTarget gap \u003cstrong data-str-pill-gap\u003e150,000 units\u003c\/strong\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003cdiv class=\"str-toolbar\" aria-label=\"Calculator actions\"\u003e\n      \u003cbutton class=\"str-button str-download\" type=\"button\" data-str-download\u003e\n        \u003csvg class=\"str-download-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"\u003e\n          \u003cpath d=\"M12 3v11m0 0 4-4m-4 4-4-4M5 17v3h14v-3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n        \u003cspan\u003eDownload Excel\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cbutton class=\"str-button str-reset\" type=\"button\" data-str-reset\u003eReset\u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"str-workspace\"\u003e\n      \u003csection class=\"str-panel str-input-panel\" aria-labelledby=\"str-input-heading\"\u003e\n        \u003ch3 class=\"str-panel-heading\" id=\"str-input-heading\"\u003eInventory inputs\u003c\/h3\u003e\n        \u003cdiv class=\"str-field-grid\"\u003e\n          \u003cdiv class=\"str-field\"\u003e\n            \u003clabel class=\"str-label\" for=\"str-product\"\u003eProduct or category\u003c\/label\u003e\n            \u003cinput class=\"str-control\" id=\"str-product\" type=\"text\" value=\"Company Alpha inventory\" autocomplete=\"off\" data-str-product\u003e\n            \u003cp class=\"str-helper\"\u003eOptional label used in the result summary and workbook.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"str-field\"\u003e\n            \u003clabel class=\"str-label\" for=\"str-period\"\u003eAnalysis period\u003c\/label\u003e\n            \u003cselect class=\"str-control\" id=\"str-period\" data-str-period\u003e\n              \u003coption value=\"\"\u003eSelect a period\u003c\/option\u003e\n              \u003coption value=\"week\"\u003eWeek\u003c\/option\u003e\n              \u003coption value=\"month\" selected\u003eMonth\u003c\/option\u003e\n              \u003coption value=\"quarter\"\u003eQuarter\u003c\/option\u003e\n              \u003coption value=\"season\"\u003eSeason\u003c\/option\u003e\n              \u003coption value=\"year\"\u003eYear\u003c\/option\u003e\n            \u003c\/select\u003e\n            \u003cp class=\"str-helper\"\u003eUse the same time window for sold and received units.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"str-field\"\u003e\n            \u003clabel class=\"str-label\" for=\"str-sold\"\u003eNumber of units sold\u003c\/label\u003e\n            \u003cinput class=\"str-control\" id=\"str-sold\" type=\"text\" inputmode=\"decimal\" value=\"650,000\" autocomplete=\"off\" aria-describedby=\"str-sold-help str-sold-error\" data-str-sold\u003e\n            \u003cp class=\"str-helper\" id=\"str-sold-help\"\u003eUnits sold to customers during the selected period.\u003c\/p\u003e\n            \u003cp class=\"str-error\" id=\"str-sold-error\" data-str-sold-error aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"str-field\"\u003e\n            \u003clabel class=\"str-label\" for=\"str-received\"\u003eNumber of units received\u003c\/label\u003e\n            \u003cinput class=\"str-control\" id=\"str-received\" type=\"text\" inputmode=\"decimal\" value=\"1,000,000\" autocomplete=\"off\" aria-describedby=\"str-received-help str-received-error\" data-str-received\u003e\n            \u003cp class=\"str-helper\" id=\"str-received-help\"\u003eInventory received or made available in the same period.\u003c\/p\u003e\n            \u003cp class=\"str-error\" id=\"str-received-error\" data-str-received-error aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"str-field\"\u003e\n            \u003clabel class=\"str-label\" for=\"str-target\"\u003ePlanning target\u003c\/label\u003e\n            \u003cdiv class=\"str-control-wrap\"\u003e\n              \u003cinput class=\"str-control str-control-suffix\" id=\"str-target\" type=\"text\" inputmode=\"decimal\" value=\"80.00\" autocomplete=\"off\" aria-describedby=\"str-target-help str-target-error\" data-str-target\u003e\n              \u003cspan class=\"str-suffix\" aria-hidden=\"true\"\u003e%\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cp class=\"str-helper\" id=\"str-target-help\"\u003eOptional benchmark for calculating the unit gap.\u003c\/p\u003e\n            \u003cp class=\"str-error\" id=\"str-target-error\" data-str-target-error aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"str-panel str-result-panel\" aria-labelledby=\"str-result-heading\"\u003e\n        \u003ch3 class=\"str-panel-heading\" id=\"str-result-heading\"\u003eLive results\u003c\/h3\u003e\n        \u003cdiv class=\"str-primary-result\" aria-live=\"polite\" aria-atomic=\"true\"\u003e\n          \u003cp class=\"str-primary-label\"\u003eSell-through rate\u003c\/p\u003e\n          \u003cp class=\"str-primary-value\" data-str-rate\u003e65.00%\u003c\/p\u003e\n          \u003cp class=\"str-primary-detail\" data-str-rate-detail\u003e650,000 of 1,000,000 received units sold during the month.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"str-card-grid\"\u003e\n          \u003carticle class=\"str-metric-card\"\u003e\n            \u003cp class=\"str-metric-label\"\u003eUnits remaining\u003c\/p\u003e\n            \u003cp class=\"str-metric-value\" data-str-remaining\u003e350,000\u003c\/p\u003e\n            \u003cp class=\"str-metric-note\" data-str-remaining-note\u003e35.00% of received units\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"str-metric-card\"\u003e\n            \u003cp class=\"str-metric-label\"\u003eUnits at target\u003c\/p\u003e\n            \u003cp class=\"str-metric-value\" data-str-target-units\u003e800,000\u003c\/p\u003e\n            \u003cp class=\"str-metric-note\" data-str-target-note\u003eAt an 80.00% target\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"str-metric-card\"\u003e\n            \u003cp class=\"str-metric-label\"\u003eAdditional sales needed\u003c\/p\u003e\n            \u003cp class=\"str-metric-value\" data-str-gap\u003e150,000\u003c\/p\u003e\n            \u003cp class=\"str-metric-note\" data-str-gap-note\u003e15.00 percentage points below target\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"str-metric-card\"\u003e\n            \u003cp class=\"str-metric-label\"\u003eSales above receipts\u003c\/p\u003e\n            \u003cp class=\"str-metric-value\" data-str-excess\u003e0\u003c\/p\u003e\n            \u003cp class=\"str-metric-note\" data-str-excess-note\u003eNo reconciliation exception\u003c\/p\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"str-alert\" role=\"status\" data-str-alert\u003e\u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"str-section str-chart-card\" aria-labelledby=\"str-breakdown-heading\" data-str-chart-card\u003e\n      \u003ch3 class=\"str-section-heading\" id=\"str-breakdown-heading\"\u003eInventory disposition\u003c\/h3\u003e\n      \u003cp class=\"str-chart-intro\" data-str-chart-intro\u003eThe chart reconciles sold units, remaining units, and any sales recorded above receipts.\u003c\/p\u003e\n      \u003cdiv class=\"str-chart-cluster\" data-str-chart-cluster\u003e\n        \u003cdiv class=\"str-chart-visual\" data-str-chart-visual\u003e\n          \u003csvg class=\"str-chart-svg\" viewbox=\"0 0 220 220\" role=\"img\" aria-labelledby=\"str-chart-title str-chart-desc\" data-str-chart-svg\u003e\n            \u003ctitle id=\"str-chart-title\"\u003eInventory disposition chart\u003c\/title\u003e\n            \u003cdesc id=\"str-chart-desc\" data-str-chart-desc\u003e650,000 units sold and 350,000 units remaining.\u003c\/desc\u003e\n          \u003c\/svg\u003e\n          \u003cdiv class=\"str-chart-empty str-hidden\" data-str-chart-empty\u003eEnter units sold and units received to see the inventory breakdown.\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"str-legend\" aria-label=\"Inventory disposition legend\" data-str-legend\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"str-chart-caption\" data-str-chart-caption\u003eAt the current pace, 35.00% of received units remain available. Use the target gap to test whether a promotion, price adjustment, or purchasing change is needed.\u003c\/div\u003e\n\n      \u003cdiv class=\"str-table-overflow\" data-str-breakdown-wrap\u003e\n        \u003ctable class=\"str-table\" aria-label=\"Inventory disposition data table\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\"\u003eCategory\u003c\/th\u003e\n              \u003cth scope=\"col\" class=\"str-number\"\u003eUnits\u003c\/th\u003e\n              \u003cth scope=\"col\" class=\"str-number\"\u003eShare of reconciled units\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-str-breakdown-body\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"str-table-note\" data-str-breakdown-note\u003eThe chart and table use the same current-state model. When sold units exceed received units, the difference is shown separately rather than forcing the rate down to 100%.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"str-section str-comparison-section\" aria-labelledby=\"str-comparison-heading\" data-str-table-card\u003e\n      \u003ch3 class=\"str-section-heading\" id=\"str-comparison-heading\"\u003eCurrent versus target scenario\u003c\/h3\u003e\n      \u003cdiv class=\"str-table-overflow\" data-str-comparison-wrap\u003e\n        \u003ctable class=\"str-table\" aria-label=\"Current and target scenario comparison\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\"\u003eMetric\u003c\/th\u003e\n              \u003cth scope=\"col\" class=\"str-number\"\u003eCurrent\u003c\/th\u003e\n              \u003cth scope=\"col\" class=\"str-number\"\u003eAt target\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eInterpretation\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-str-comparison-body\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"str-table-note\" data-str-comparison-note\u003eTarget values are planning aids, not universal retail benchmarks. Compare them with your historical performance, product lifecycle, seasonality, and margin requirements.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"str-education\" aria-labelledby=\"str-education-heading\"\u003e\n      \u003cdiv class=\"str-education-grid\"\u003e\n        \u003cdiv class=\"str-education-section\"\u003e\n          \u003ch2 id=\"str-education-heading\"\u003eWhat does this sell-through calculator estimate?\u003c\/h2\u003e\n          \u003cp\u003eSell-through rate measures the share of inventory received or made available during a period that was sold during that same period. It is a practical inventory-management indicator for retailers, wholesalers, brands, distributors, and other businesses that sell physical goods. The calculator also shows the units remaining, the number of units corresponding to a chosen planning target, and the additional sales required to reach that target.\u003c\/p\u003e\n          \u003cp class=\"str-formula\"\u003eSell-through rate = units sold ÷ units received × 100\u003c\/p\u003e\n          \u003cp\u003eThe numerator and denominator must describe the same product scope, unit of measure, and time window. Mixing weekly sales with monthly receipts, eaches with cases, or one SKU’s sales with a category’s receipts can produce a mathematically valid but operationally misleading result.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"str-education-section\"\u003e\n          \u003ch2\u003eHow should each input be completed?\u003c\/h2\u003e\n          \u003ch3\u003eProduct or category\u003c\/h3\u003e\n          \u003cp\u003eThis optional text field labels the analysis in the live interpretation and exported workbook. Use a SKU, product family, brand, store department, or channel name. The label does not affect the math. Leaving it blank simply produces a generic inventory summary.\u003c\/p\u003e\n          \u003ch3\u003eAnalysis period\u003c\/h3\u003e\n          \u003cp\u003eSelect the week, month, quarter, season, or year covered by both sold and received units. The period changes the wording of the interpretation, not the formula. Short periods are useful for fast-moving goods and promotions; longer periods can be more appropriate for seasonal or durable products. A common mistake is changing the period without refreshing both input datasets.\u003c\/p\u003e\n          \u003ch3\u003eNumber of units sold\u003c\/h3\u003e\n          \u003cp\u003eEnter completed unit sales recorded during the chosen period. Use a nonnegative count and keep returns treatment consistent with your internal reporting. Higher sold units increase the rate and reduce remaining inventory. If sold units exceed received units, the calculator preserves the resulting rate above 100% and flags the excess. That situation often indicates beginning inventory, transfers, returns, or timing differences that are missing from the received figure.\u003c\/p\u003e\n          \u003ch3\u003eNumber of units received\u003c\/h3\u003e\n          \u003cp\u003eEnter inventory received or otherwise made available during the same period. This value must be greater than zero for a defined rate. Depending on your process, “received” may mean only new inbound receipts or total available inventory, including beginning on-hand stock. Choose one definition and use it consistently across periods. Increasing receipts without increasing sales lowers the sell-through rate and usually increases remaining units.\u003c\/p\u003e\n          \u003ch3\u003ePlanning target\u003c\/h3\u003e\n          \u003cp\u003eEnter an optional percentage from 0% to 100%. The target calculates how many units would need to sell from the current receipt base and the remaining unit gap. A higher target raises the required sales level. The field is a scenario assumption rather than a universal benchmark, because appropriate rates vary by product lifecycle, lead time, gross margin, seasonality, and markdown strategy.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"str-education-section\"\u003e\n          \u003ch2\u003eHow should the results be interpreted?\u003c\/h2\u003e\n          \u003ch3\u003eSell-through rate\u003c\/h3\u003e\n          \u003cp\u003eThe primary result shows the percentage of received units that sold. A rate of 65% means 65 of every 100 received units sold during the selected period. A zero rate means receipts were recorded but no units sold. A rate above 100% is possible when sales draw on beginning stock or when receipts and sales are not reconciled on the same basis; it should prompt a data-definition review rather than an automatic correction.\u003c\/p\u003e\n          \u003ch3\u003eUnits remaining\u003c\/h3\u003e\n          \u003cp\u003eThis is received units minus sold units, floored at zero. It approximates the unsold portion of the period’s receipt base. It is not necessarily ending inventory if beginning stock, shrinkage, transfers, returns, or adjustments are excluded. Pair this result with your inventory ledger before making replenishment decisions.\u003c\/p\u003e\n          \u003ch3\u003eUnits at target and additional sales needed\u003c\/h3\u003e\n          \u003cp\u003eUnits at target equals received units multiplied by the target percentage. Additional sales needed is the positive difference between target units and current sold units. When current performance already meets or exceeds the target, the gap is zero and the calculator reports the number of units above target.\u003c\/p\u003e\n          \u003ch3\u003eSales above receipts\u003c\/h3\u003e\n          \u003cp\u003eThis reconciliation metric equals sold units minus received units when the difference is positive. It does not imply an error by itself, but it indicates that the simple receipt-based denominator does not capture all inventory sources. Review beginning inventory, interlocation transfers, returns to stock, backorders, and cut-off timing.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"str-education-section\"\u003e\n          \u003ch2\u003eWhat do the chart and tables add?\u003c\/h2\u003e\n          \u003cp\u003eThe donut chart separates units sold from units remaining and, when necessary, shows sales above receipts as a third category. The legend and data table expose the exact same values and percentages used to draw the chart. This makes the visualization useful for quick review while preserving an auditable numeric breakdown.\u003c\/p\u003e\n          \u003cp\u003eThe current-versus-target table converts the target percentage into units, remaining inventory, and a percentage-point difference. It helps merchandising and purchasing teams discuss the operational size of a gap instead of relying on the rate alone. Changing the target does not alter current performance; it only changes the comparison scenario.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"str-education-section\"\u003e\n          \u003ch2\u003eHow can sell-through support better inventory decisions?\u003c\/h2\u003e\n          \u003cp\u003eTrack the metric on a consistent cadence and compare like with like: the same SKU scope, locations, channel, period length, and receipt definition. A declining rate may support reviewing price, placement, assortment depth, marketing, or replenishment quantities. A very high rate can indicate strong demand, but it may also signal underbuying and lost sales if stockouts occur.\u003c\/p\u003e\n          \u003cp\u003eSell-through should not be used alone. Combine it with margin, stockout frequency, weeks of supply, inventory turnover, return rates, and carrying costs. The \u003ca href=\"https:\/\/www.census.gov\/retail\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. Census Bureau retail data\u003c\/a\u003e can provide broader market context, while the \u003ca href=\"https:\/\/www.sba.gov\/business-guide\/manage-your-business\/manage-your-finances\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. Small Business Administration’s financial-management guidance\u003c\/a\u003e explains why inventory and cash-flow discipline are connected. For additional inventory-management context, see \u003ca href=\"https:\/\/www.investopedia.com\/terms\/i\/inventory-management.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestopedia’s inventory-management overview\u003c\/a\u003e.\u003c\/p\u003e\n          \u003cp\u003eCommon mistakes include using purchase orders rather than physically received units, ignoring beginning inventory when sales draw from it, mixing gross and net sales, comparing periods of different lengths without context, and treating a target as an industry rule. The most useful benchmark is usually your own clean historical data, segmented by product class and lifecycle stage.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909481767155,"sku":"sell-through-rate","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/sell-through-rate.webp?v=1783935395","url":"https:\/\/financialmodelslab.com\/products\/sell-through-rate","provider":"Financial Models Lab","version":"1.0","type":"link"}