function PageForecasts({pushToast}){ const I = window.Icons; const D = window.FLUXData; const [model, setModel] = React.useState('claude'); return ( <>

Pronósticos de demanda

Modelos predictivos con bandas de confianza al 95%. Histórico de 60 días + proyección a 30 días.

Modelo activo Claude Forecast v2.4 — MAPE 4.8%, entrenado con 14 meses históricos + señales de calendario, clima y promociones.
{[ {l:'MAPE (precisión)', v:'4.8%', d:'mejor que ARIMA (8.2%)', icon:'Target'}, {l:'Demanda proyectada (30d)', v:'26,540', d:'+10.0% vs. mes actual', icon:'Trend'}, {l:'Cobertura de SKUs', v:'98.4%', d:'6,732 / 6,842', icon:'CheckCircle'}, {l:'Última actualización', v:'hace 12 min', d:'Actualización: cada hora', icon:'Sync'}, ].map((k,i)=>{ const Ic = I[k.icon]; return (
{k.l}
{k.v}
{k.d}
); })}
Demanda histórica + pronóstico Real Pronóstico Banda 95%
Total cadena
SKUs con mayor desviación de pronóstico
{D.skus.slice(0,5).map((s,i)=>{ const dev = ((s.sold30 - s.forecast30) / s.forecast30 * 100); return ( ); })}
SKUProductoPronósticoRealDesviaciónAcción IA
{s.sku} {s.name} {s.forecast30} {s.sold30} {dev<0?:} {Math.abs(dev).toFixed(1)}%
); } window.PageForecasts = PageForecasts;