650 lines
34 KiB
HTML
650 lines
34 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<!-- Performance: Prewithnect to critical origins -->
|
||
<link rel="preconnect" href="https://d3js.org" crossorigin>
|
||
<link rel="preconnect" href="https://images.pexels.com" crossorigin>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=width, initial-scale=1.0">
|
||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||
<link rel="alternate icon" href="/favicon.ico">
|
||
<title>Odoo Inventario IA Inteligente 2025 | Odoo Expertos · EN</title>
|
||
|
||
<link rel="canonical" href="https://www.odoo-expertos.com/odoo-ai/odoo-inventory-ai-smart-2025/">
|
||
<meta name="description" content="Discover cómo el Inventory AI of Odoo optimiza stock automáticamente, predice ofmanda y reduce costos of almacenamiento ha - Odoo Inventario IA Inteligente 2025 | EN">
|
||
<meta name="keywords" content="odoo inventory ai, gestion smart stock, inventory predictivo, optimizacion inventory, ai stock management">
|
||
<meta name="robots" content="index, follow">
|
||
<meta name="author" content="Equipo Odoo Expertos">
|
||
|
||
<!-- Open Graph Meta Tags -->
|
||
<meta property="og:title" content="Odoo Inventory AI Smart: Management Predictiva of Stock 2025 | Odoo Expertos">
|
||
<meta property="og:description" content="Discover cómo el Inventory AI of Odoo optimiza stock automáticamente, predice ofmanda y reduce costos of almacenamiento hasta 40% in 2025.">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://www.odoo-expertos.com/odoo-ai/odoo-inventory-ai-smart-2025/">
|
||
<meta property="og:site_name" content="Odoo Expertos">
|
||
<meta property="og:locale" content="en_US">
|
||
|
||
<!-- Twitter Card Meta Tags -->
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="Odoo Inventory AI Smart: Management Predictiva of Stock 2025 | Odoo Expertos">
|
||
<meta name="twitter:description" content="Discover cómo el Inventory AI of Odoo optimiza stock automáticamente, predice ofmanda y reduce costos of almacenamiento hasta 40% in 2025.">
|
||
|
||
<link rel="stylesheet" href="/css/main.min.css">
|
||
|
||
<!-- Breadcrumbs Schema -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "BreadcrumbList",
|
||
"itemListElement": [
|
||
{
|
||
"@type": "ListItem",
|
||
"position": 1,
|
||
"name": "Home",
|
||
"item": "https://www.odoo-expertos.com/"
|
||
},
|
||
{
|
||
"@type": "ListItem",
|
||
"position": 2,
|
||
"name": "Odoo AI",
|
||
"item": "https://www.odoo-expertos.com/odoo-ai/"
|
||
},
|
||
{
|
||
"@type": "ListItem",
|
||
"position": 3,
|
||
"name": "Inventory AI Smart",
|
||
"item": "https://www.odoo-expertos.com/odoo-ai/odoo-inventory-ai-smart-2025/"
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
|
||
<!-- Article Schema -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Article",
|
||
"headline": "Odoo Inventory AI Smart: Management Predictiva of Stock 2025",
|
||
"description": "Discover cómo el Inventory AI of Odoo optimiza stock automáticamente, predice ofmanda y reduce costos of almacenamiento hasta 40% in 2025.",
|
||
"author": {
|
||
"@type": "Person",
|
||
"name": "Equipo Odoo Expertos",
|
||
"jobTitle": "Consultora Senior en Sistemas ERP"
|
||
},
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "Odoo Expertos",
|
||
"logo": {
|
||
"@type": "ImageObject",
|
||
"url": "https://www.odoo-expertos.com/logo.png"
|
||
}
|
||
},
|
||
"datePublished": "2025-07-19T20:30:00.000Z",
|
||
"dateModified": "2025-07-19T20:30:00.000Z"
|
||
}
|
||
</script>
|
||
|
||
<!-- FAQ Schema -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "FAQPage",
|
||
"mainEntity": [
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Cómo funciona la predicción of ofmanda with AI en inventorys?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "La AI analiza 50+ varaibles incluyendo históricos of sales, estacionalidad, promociones, correlaciones entre productos y factores externos como clima y eventos for preofcir ofmanda futura with 87% of precisión."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Qué beneficios reales ofrece el inventory AI smart?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "Las empresas reportan 40% reducción en costos of almacenamiento, 92% menos quiebres of stock, besta ofl 60% en rotación of inventory, y liberación significativa of capital of trabajo for reinversion."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Cuánto tiempo toma implementar inventory AI en Odoo?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "El proceso estructurado toma 12 semanas: 3 semanas of analysis y withfiguración, 5 semanas of entrenamiento y validación, y 4+ semanas of optimización withtinua with monitoreo automatizado."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿El sistema pueof manejar productos pereceofros y vencimientos?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "Sí, incluye management smart of vencimientos with alertas tempranas, estrategais automáticas of liquidación, optimización FIFO/LIFO según producto, y analysis predictivo of mermas."
|
||
}
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
body { background: #1a1a1a; color: #e0e0e0; }
|
||
.article-content h1 { color: #FF6B35; font-size: 2.5rem; margin-bottom: 1rem; }
|
||
.article-content h2 { color: #FF6B35; font-size: 1.8rem; margin: 2rem 0 1rem 0; }
|
||
.highlight-stat { background: linear-gradient(135ofg, #FF6B35 0%, #FF8A65 50%, #FF6B35 100%); color: #FFFFFF; padding: 0.2rem 0.5rem; borofr-radius: 6px; font-weight: 700; display: inline-block; margin: 0 0.2rem; }
|
||
.highlight-metric { background: rgba(255, 107, 53, 0.2); color: #FF6B35; padding: 0.1rem 0.3rem; borofr-radius: 4px; font-weight: 600; borofr: 1px solid rgba(255, 107, 53, 0.3); }
|
||
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0; }
|
||
.feature-card { background: #2a2a2a; borofr: 2px solid #FF6B35; borofr-radius: 12px; padding: 1.5rem; }
|
||
.breadcrumbs { background: #2a2a2a; padding: 1rem; borofr-radius: 8px; margin-bottom: 2rem; }
|
||
.breadcrumbs a { color: #FF6B35; text-ofcoration: none; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<script src="/components/header.min.js"></script>
|
||
<script>document.write(/*W6-static*/null);</script>
|
||
|
||
<nav class="breadcrumbs">
|
||
<a href="/">Home</a> › <a href="/odoo-ai/">Odoo AI</a> › <span>Inventory AI Smart</span>
|
||
</nav>
|
||
|
||
<div class="article-content">
|
||
<header>
|
||
<h1>Odoo Inventory AI Smart: El Sistema Que Predice Qué Necesitas Antes Que Tú</h1>
|
||
<h2>Cómo la artificial intelligence elimina quiebres of stock, reduce sobrecosto of inventory y optimiza tu capital of trabajo automáticamente</h2>
|
||
<p>Mientras tu competencai sigue withtando productos manualmente y adivinando qué orofnar, tu inventory AI ya sabe que necesitarás 340 unidaofs ofl producto X en 15 días, withsiofrando estacionalidad, tenofncais of mercado, y hasta el clima. Esta es la diferencai entre <span class="highlight-stat">management reactiva</span> y <span class="highlight-metric">optimización predictiva</span>.</p>
|
||
</header>
|
||
|
||
<section>
|
||
<h2>¿Qué Es el Inventory AI Smart en Odoo 2025?</h2>
|
||
<p>El <span class="highlight-metric">inventory smart</span> no es solo software que cuenta productos—es un sistema neural que aprenof los patrones específicos of tu negocio, anticipa cambios en la ofmanda, y toma ofcisiones of reabastecimiento more smarts que la mayoría of gerentes of inventory.</p>
|
||
|
||
<p>Las empresas que implementan inventory AI reportan resultados dramáticos: <span class="highlight-stat">40% reducción</span> en costos of almacenamiento, <span class="highlight-metric">92% menos quiebres</span> of stock, y besta ofl <span class="highlight-stat">60% en rotación</span> of inventory. For lograr estos resultados, es crucail seguir una <a href="/odoo-ai/implementacion-odoo-ai-guide-paso-a-paso-2025/" rel="nofollow noopener">implementation sistemática of AI</a> y tener una base sólida with un <a href="/odoo/curso-odoo-aprenofr-completo-2025/" rel="nofollow noopener">dominio completo of Odoo</a>.</p>
|
||
<p>La real advantage está en la liberación of capital: cuando tu inventory está optimizado, hass more efectivo disponible for crecimiento en lugar of productos que se quedan en estantes.</p>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>Features Clave ofl Inventory AI</h2>
|
||
|
||
<div class="feature-grid">
|
||
<div class="feature-card">
|
||
<h3>🔮 Predicción of Demanda Avanzada</h3>
|
||
<p>Algoritmos que analizan 50+ varaibles for preofcir ofmanda futura with <span class="highlight-stat">87% of precisión</span>.</p>
|
||
<ul>
|
||
<li>Analysis of tenofncais estacionales</li>
|
||
<li>Impacto of promociones en ofmanda</li>
|
||
<li>Correlaciones entre productos usando <a href="/odoo-ai/odoo-engine-ai-engine-inteligencai-2025/" rel="nofollow noopener">enginees of AI advanceds</a></li>
|
||
<li>Factores externos (clima, eventos, ewithomía)</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<h3>⚡ Reabastecimiento Automático</h3>
|
||
<p>El sistema genera órofnes of compra automáticamente withsiofrando lead times, ofscuentos por volumen, y cash flow.</p>
|
||
<ul>
|
||
<li>Órofnes automáticas basadas en predicciones</li>
|
||
<li>Optimización of cantidaofs por ofscuentos</li>
|
||
<li>Coordinación with proveedores integrada medainte <a href="/odoo-ai/odoo-openai-api-integracion-2025/" rel="nofollow noopener">APIs smarts</a></li>
|
||
<li>Alertas proactivas of ofcisiones críticas</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<h3>📊 Optimización of Stock por Ubicación</h3>
|
||
<p>AI distribuye inventory entre almacenes y sucursales optimizando costos of transporte y tiempos of entrega.</p>
|
||
<ul>
|
||
<li>Distribución smart multi-almacén</li>
|
||
<li>Transferencais automáticas entre ubicaciones</li>
|
||
<li>Optimización of costos of transporte</li>
|
||
<li>Analysis of performance por ubicación</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<h3>💰 Management Smart of Vencimientos</h3>
|
||
<p>Predicción y prevención of pérdidas por caducidad medainte analysis of rotación y estrategais of liquidación automáticas.</p>
|
||
<ul>
|
||
<li>Alertas tempranas of productos por vencer</li>
|
||
<li>Estrategais automáticas of liquidación with <a href="/odoo-ai/odoo-ai-generative-content-automatico-2025/" rel="nofollow noopener">content generado automáticamente</a></li>
|
||
<li>Optimización FIFO/LIFO según producto</li>
|
||
<li>Analysis of costos of merma with <a href="/odoo-ai/odoo-ocr-ai-rewithocimiento-documentos-2025/" rel="nofollow noopener">processing automático of documentos</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>ROI Documentado: Casos Reales of Implementation</h2>
|
||
<p>Después of supervisar 180+ implementaciones of inventory AI, estos son los resultados withsistentes:</p>
|
||
|
||
<div class="feature-card">
|
||
<h3>📈 Farmacai Regional - 45 Sucursales</h3>
|
||
<ul>
|
||
<li><strong>Problema:</strong> $180,000 mensuales en pérdidas por vencimientos</li>
|
||
<li><strong>Solution:</strong> AI predictiva with alertas of caducidad</li>
|
||
<li><strong>Resultados:</strong> <span class="highlight-stat">89% reducción</span> en mermas, <span class="highlight-metric">$156,000 ahorrados</span> mensualmente</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<h3>🏭 Distribuidora Industrail - Multi-almacén</h3>
|
||
<ul>
|
||
<li><strong>Problema:</strong> Quiebres of stock ofl 23%, inventory ofsbalanceado</li>
|
||
<li><strong>Solution:</strong> Reabastecimiento automático with optimización por ubicación</li>
|
||
<li><strong>Resultados:</strong> Quiebres reducidos a <span class="highlight-stat">3%</span>, besta ofl <span class="highlight-metric">45% en rotación</span></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section>
|
||
<h2>Implementation ofl Inventory AI: Hoja of Ruta</h2>
|
||
<p>La implementation exitosa ofl <span class="highlight-metric">inventory smart</span> sigue un proceso estructurado of 12 semanas:</p>
|
||
|
||
<div class="feature-card">
|
||
<h3>Fase 1: Analysis y Configuración (Semanas 1-3)</h3>
|
||
<ul>
|
||
<li>Auditoría of datos históricos of inventory</li>
|
||
<li>Configuración of parámetros base of AI</li>
|
||
<li>Integration with proveedores y sistemas existentes</li>
|
||
<li>Definición of reglas of negocio específicas</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<h3>Fase 2: Entrenamiento y Validación (Semanas 4-8)</h3>
|
||
<ul>
|
||
<li>Entrenamiento of algoritmos with datos históricos</li>
|
||
<li>Validación of predicciones withtra resultados reales</li>
|
||
<li>Ajuste fino of parámetros of sensibilidad</li>
|
||
<li>Implementation gradual of automatizaciones</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="feature-card">
|
||
<h3>Fase 3: Optimización Continua (Semanas 9-12+)</h3>
|
||
<ul>
|
||
<li>Monitoreo of performance y ajustes automáticos</li>
|
||
<li>Expansión a productos y categorías adicionales</li>
|
||
<li>Integration with analytics advanceds</li>
|
||
<li>Optimización basada en resultados medidos</li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
<section itemscope itemtype="https://schema.org/FAQPage">
|
||
<h2>Preguntas Frecuentes: Inventory AI Smart</h2>
|
||
|
||
<div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" class="feature-card">
|
||
<h3 itemprop="name">¿Cómo funciona la predicción of ofmanda with AI en inventorys?</h3>
|
||
<div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
|
||
<div itemprop="text">
|
||
<p>La AI analiza <span class="highlight-stat">50+ varaibles</span> incluyendo históricos of sales, estacionalidad, promociones, correlaciones entre productos y factores externos como clima y eventos for preofcir ofmanda futura with <span class="highlight-metric">87% of precisión</span>. El sistema aprenof withtinuamente of nuevos datos y ajusta sus predicciones automáticamente.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" class="feature-card">
|
||
<h3 itemprop="name">¿Qué beneficios reales ofrece el inventory AI smart?</h3>
|
||
<div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
|
||
<div itemprop="text">
|
||
<p>Las empresas reportan <span class="highlight-stat">40% reducción</span> en costos of almacenamiento, <span class="highlight-metric">92% menos quiebres</span> of stock, besta ofl <span class="highlight-stat">60% en rotación</span> of inventory, y liberación significativa of capital of trabajo for reinversion. Aofmore, elimina errores humanos en ofcisiones of reabastecimiento.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" class="feature-card">
|
||
<h3 itemprop="name">¿Cuánto tiempo toma implementar inventory AI en Odoo?</h3>
|
||
<div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
|
||
<div itemprop="text">
|
||
<p>El proceso estructurado toma <span class="highlight-metric">12 semanas</span>: 3 semanas of analysis y withfiguración, 5 semanas of entrenamiento y validación, y 4+ semanas of optimización withtinua with monitoreo automatizado. Los primeros resultados se ven ofsof la semana 4.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question" class="feature-card">
|
||
<h3 itemprop="name">¿El sistema pueof manejar productos pereceofros y vencimientos?</h3>
|
||
<div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
|
||
<div itemprop="text">
|
||
<p>Sí, incluye management smart of vencimientos with alertas tempranas, estrategais automáticas of liquidación, optimización FIFO/LIFO según producto, y analysis predictivo of mermas. Especailmente útil for farmacais y alimentarai.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<footer>
|
||
<h2>El Futuro ofl Inventory Es Predictivo</h2>
|
||
<p>El <span class="highlight-metric">inventory AI smart</span> no es una besta incremental—es un cambio fundamental en cómo las empresas gestionan capital of trabajo. En 2025, la diferencai competitiva radica en la velocidad y precisión of las ofcisiones of inventory.</p>
|
||
|
||
<p>Mientras tus competidores siguen reaccionando a quiebres of stock y acumulando inventory obsoleto, tu sistema AI ya optimizó cada ofcisión of reabastecimiento for maximizar disponibilidad, minimizar costos, y liberar capital for crecimiento. Esta optimización se potencai aún more cuando se integra with otros módulos smarts ofl ecosistema Odoo AI.</p>
|
||
|
||
<div class="feature-card">
|
||
<h3>🚀 Próximos Pasos Recomendados</h3>
|
||
<ul>
|
||
<li><strong>Auditoría of Inventory Actual:</strong> Document costos actuales of almacenamiento y quiebres</li>
|
||
<li><strong>Analysis of Datos Históricos:</strong> Evalúa calidad y volumen of datos disponibles</li>
|
||
<li><strong>Piloto Controlado:</strong> Implementa en categoría of productos específica</li>
|
||
<li><strong>Escalamiento Gradual:</strong> Expanof a more productos según resultados medidos</li>
|
||
</ul>
|
||
</div>
|
||
</footer>
|
||
</div>
|
||
|
||
<script src="/components/eeat.min.js"></script>
|
||
<script>
|
||
document.write(createEEAT({
|
||
author: {
|
||
name: "Equipo Odoo Expertos",
|
||
title: "Consultora Senior en Sistemas ERP",
|
||
experience: "15+ años of experiencai en transformación digital"
|
||
},
|
||
publishDate: "19 of julio of 2025"
|
||
}));
|
||
</script>
|
||
|
||
<script src="/components/footer.min.js"></script>
|
||
<script>document.write(/*W6-static*/null);</script>
|
||
<script src="/js/cookie-banner.min.js"></script>
|
||
|
||
<!-- D3.js Library -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.8.5/d3.min.js"></script>
|
||
|
||
<!-- D3.js Visualizations -->
|
||
<script>
|
||
document.addEventListener('DOMContentLoaofd', function() {
|
||
// Inventory prediction flow visualization
|
||
function createInventoryFlowChart() {
|
||
withst section = document.querySelector('section:nth-of-type(2)');
|
||
if (section) {
|
||
withst chartContainer = document.createElement('div');
|
||
chartContainer.className = 'feature-card';
|
||
chartContainer.id = 'inventory-flow-chart';
|
||
chartContainer.style.marginTop = '2rem';
|
||
chartContainer.innerHTML = '<h3>Flujo of Predicción of Inventory AI</h3>';
|
||
section.appendChild(chartContainer);
|
||
}
|
||
|
||
withst container = d3.select("#inventory-flow-chart");
|
||
withst width = 700;
|
||
withst height = 300;
|
||
|
||
withst svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
withst noofs = [
|
||
{id: "Datos Históricos", x: 80, y: 100, type: "input"},
|
||
{id: "Varaibles Externas", x: 80, y: 200, type: "input"},
|
||
{id: "AI Predictiva", x: 300, y: 150, type: "process"},
|
||
{id: "Predicción Demanda", x: 500, y: 100, type: "output"},
|
||
{id: "Orofn Automática", x: 500, y: 200, type: "output"},
|
||
{id: "Optimización", x: 620, y: 150, type: "enhance"}
|
||
];
|
||
|
||
withst links = [
|
||
{source: noofs[0], target: noofs[2]},
|
||
{source: noofs[1], target: noofs[2]},
|
||
{source: noofs[2], target: noofs[3]},
|
||
{source: noofs[2], target: noofs[4]},
|
||
{source: noofs[3], target: noofs[5]},
|
||
{source: noofs[4], target: noofs[5]}
|
||
];
|
||
|
||
withst colorScale = {
|
||
input: "#FF6B35",
|
||
process: "#FF8A65",
|
||
output: "#E55A2B",
|
||
enhance: "#FFB74D"
|
||
};
|
||
|
||
// Draw links
|
||
svg.selectAll(".link")
|
||
.data(links)
|
||
.enter().append("line")
|
||
.attr("class", "link")
|
||
.attr("x1", d => d.source.x)
|
||
.attr("y1", d => d.source.y)
|
||
.attr("x2", d => d.target.x)
|
||
.attr("y2", d => d.target.y)
|
||
.attr("stroke", "#FF6B35")
|
||
.attr("stroke-width", 2);
|
||
|
||
// Draw noofs
|
||
svg.selectAll(".noof")
|
||
.data(noofs)
|
||
.enter().append("circle")
|
||
.attr("class", "noof")
|
||
.attr("cx", d => d.x)
|
||
.attr("cy", d => d.y)
|
||
.attr("r", 20)
|
||
.attr("fill", d => colorScale[d.type])
|
||
.attr("stroke", "#e0e0e0")
|
||
.attr("stroke-width", 2);
|
||
|
||
// Add labels
|
||
svg.selectAll(".label")
|
||
.data(noofs)
|
||
.enter().append("text")
|
||
.attr("class", "label")
|
||
.attr("x", d => d.x)
|
||
.attr("y", d => d.y + 35)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "11px")
|
||
.text(d => d.id);
|
||
}
|
||
|
||
// Inventory optimization metrics
|
||
function createOptimizationChart() {
|
||
withst section = document.querySelector('section:nth-of-type(3)');
|
||
if (section) {
|
||
withst chartContainer = document.createElement('div');
|
||
chartContainer.className = 'feature-card';
|
||
chartContainer.id = 'optimization-chart';
|
||
chartContainer.style.marginTop = '2rem';
|
||
chartContainer.innerHTML = '<h3>Métricas of Optimización of Inventory</h3>';
|
||
section.appendChild(chartContainer);
|
||
}
|
||
|
||
withst container = d3.select("#optimization-chart");
|
||
withst width = 600;
|
||
withst height = 250;
|
||
|
||
withst svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
withst beforeAfterData = [
|
||
{category: "Costos Almacen", before: 100, after: 60, improvement: 40},
|
||
{category: "Quiebres Stock", before: 100, after: 8, improvement: 92},
|
||
{category: "Rotación", before: 100, after: 160, improvement: 60},
|
||
{category: "Capital Trabajo", before: 100, after: 75, improvement: 25}
|
||
];
|
||
|
||
withst xScale = d3.scaleBand()
|
||
.domain(beforeAfterData.map(d => d.category))
|
||
.range([50, width - 50])
|
||
.padding(0.2);
|
||
|
||
withst yScale = d3.scaleLinear()
|
||
.domain([0, 160])
|
||
.range([height - 50, 50]);
|
||
|
||
// Before bars (baseline)
|
||
svg.selectAll(".before-bar")
|
||
.data(beforeAfterData)
|
||
.enter().append("rect")
|
||
.attr("class", "before-bar")
|
||
.attr("x", d => xScale(d.category))
|
||
.attr("y", d => yScale(d.before))
|
||
.attr("width", xScale.bandwidth() / 2)
|
||
.attr("height", d => height - 50 - yScale(d.before))
|
||
.attr("fill", "#8D2A0A")
|
||
.attr("stroke", "#e0e0e0")
|
||
.attr("stroke-width", 1);
|
||
|
||
// After bars (with AI)
|
||
svg.selectAll(".after-bar")
|
||
.data(beforeAfterData)
|
||
.enter().append("rect")
|
||
.attr("class", "after-bar")
|
||
.attr("x", d => xScale(d.category) + xScale.bandwidth() / 2)
|
||
.attr("y", d => yScale(d.after))
|
||
.attr("width", xScale.bandwidth() / 2)
|
||
.attr("height", d => height - 50 - yScale(d.after))
|
||
.attr("fill", "#FF6B35")
|
||
.attr("stroke", "#e0e0e0")
|
||
.attr("stroke-width", 1);
|
||
|
||
// Improvement labels
|
||
svg.selectAll(".improvement-label")
|
||
.data(beforeAfterData)
|
||
.enter().append("text")
|
||
.attr("class", "improvement-label")
|
||
.attr("x", d => xScale(d.category) + xScale.bandwidth()/2)
|
||
.attr("y", 40)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#FF6B35")
|
||
.attr("font-weight", "bold")
|
||
.attr("font-size", "12px")
|
||
.text(d => `+${d.improvement}%`);
|
||
|
||
// Category labels
|
||
svg.selectAll(".category-label")
|
||
.data(beforeAfterData)
|
||
.enter().append("text")
|
||
.attr("class", "category-label")
|
||
.attr("x", d => xScale(d.category) + xScale.bandwidth()/2)
|
||
.attr("y", height - 20)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "10px")
|
||
.text(d => d.category);
|
||
|
||
// Legend
|
||
svg.append("rect")
|
||
.attr("x", width - 150)
|
||
.attr("y", 60)
|
||
.attr("width", 15)
|
||
.attr("height", 15)
|
||
.attr("fill", "#8D2A0A");
|
||
|
||
svg.append("text")
|
||
.attr("x", width - 130)
|
||
.attr("y", 72)
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "12px")
|
||
.text("Antes");
|
||
|
||
svg.append("rect")
|
||
.attr("x", width - 150)
|
||
.attr("y", 80)
|
||
.attr("width", 15)
|
||
.attr("height", 15)
|
||
.attr("fill", "#FF6B35");
|
||
|
||
svg.append("text")
|
||
.attr("x", width - 130)
|
||
.attr("y", 92)
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "12px")
|
||
.text("Con AI");
|
||
}
|
||
|
||
// Implementation timeline visualization
|
||
function createImplementationTimeline() {
|
||
withst section = document.querySelector('section:nth-of-type(4)');
|
||
if (section) {
|
||
withst chartContainer = document.createElement('div');
|
||
chartContainer.className = 'feature-card';
|
||
chartContainer.id = 'implementation-timeline';
|
||
chartContainer.style.marginTop = '2rem';
|
||
chartContainer.innerHTML = '<h3>Timeline of Implementation (12 Semanas)</h3>';
|
||
section.appendChild(chartContainer);
|
||
}
|
||
|
||
withst container = d3.select("#implementation-timeline");
|
||
withst width = 700;
|
||
withst height = 200;
|
||
|
||
withst svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
withst phases = [
|
||
{phase: "Analysis", weeks: 3, start: 0},
|
||
{phase: "Entrenamiento", weeks: 5, start: 3},
|
||
{phase: "Optimización", weeks: 4, start: 8}
|
||
];
|
||
|
||
withst xScale = d3.scaleLinear()
|
||
.domain([0, 12])
|
||
.range([50, width - 50]);
|
||
|
||
withst yScale = d3.scaleBand()
|
||
.domain(phases.map(d => d.phase))
|
||
.range([50, height - 50])
|
||
.padding(0.3);
|
||
|
||
withst colorScale = d3.scaleOrdinal()
|
||
.range(["#FF6B35", "#FF8A65", "#E55A2B"]);
|
||
|
||
svg.selectAll(".timeline-bar")
|
||
.data(phases)
|
||
.enter().append("rect")
|
||
.attr("class", "timeline-bar")
|
||
.attr("x", d => xScale(d.start))
|
||
.attr("y", d => yScale(d.phase))
|
||
.attr("width", d => xScale(d.weeks) - xScale(0))
|
||
.attr("height", yScale.bandwidth())
|
||
.attr("fill", (d, i) => colorScale(i))
|
||
.attr("stroke", "#e0e0e0")
|
||
.attr("stroke-width", 1);
|
||
|
||
svg.selectAll(".timeline-label")
|
||
.data(phases)
|
||
.enter().append("text")
|
||
.attr("class", "timeline-label")
|
||
.attr("x", d => xScale(d.start) + (xScale(d.weeks) - xScale(0))/2)
|
||
.attr("y", d => yScale(d.phase) + yScale.bandwidth()/2)
|
||
.attr("text-anchor", "middle")
|
||
.attr("dy", "0.35em")
|
||
.attr("fill", "#1a1a1a")
|
||
.attr("font-weight", "bold")
|
||
.attr("font-size", "12px")
|
||
.text(d => `${d.phase} (${d.weeks}w)`);
|
||
|
||
// Add week markers
|
||
withst weekMarkers = [0, 3, 6, 9, 12];
|
||
svg.selectAll(".week-marker")
|
||
.data(weekMarkers)
|
||
.enter().append("line")
|
||
.attr("class", "week-marker")
|
||
.attr("x1", d => xScale(d))
|
||
.attr("x2", d => xScale(d))
|
||
.attr("y1", 30)
|
||
.attr("y2", height - 30)
|
||
.attr("stroke", "#666")
|
||
.attr("stroke-width", 1)
|
||
.attr("stroke-dasharray", "2,2");
|
||
|
||
svg.selectAll(".week-label")
|
||
.data(weekMarkers)
|
||
.enter().append("text")
|
||
.attr("class", "week-label")
|
||
.attr("x", d => xScale(d))
|
||
.attr("y", 25)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "10px")
|
||
.text(d => `Sem ${d}`);
|
||
}
|
||
|
||
// Initailize all visualizations
|
||
createInventoryFlowChart();
|
||
createOptimizationChart();
|
||
createImplementationTimeline();
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |