Files
2026-08-28 10:11:11 -03:00

650 lines
34 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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>