import { AlertTriangle } from 'lucide-react' import { formatPercent } from '@/lib/format' import type { Activity } from '@/domain/types' import type { RoiResult } from '@/domain/roi' // Umbral de ROI a partir del cual se dispara la advertencia de verosimilitud. // Un ROI > 1000% anual es matemáticamente posible pero comercialmente inverosímil: // indica casi siempre un input incorrecto (frecuencia sobreestimada, costo auto subestimado // o inversión subestimada). Documentado en METHODOLOGY_AUTOMATED_COST.md. const ROI_HIGH_THRESHOLD = 1000 interface TransparencySectionProps { activities: Activity[] investment: number roi?: RoiResult } export function TransparencySection({ activities, investment, roi }: TransparencySectionProps) { const zeroCostAutomatable = activities.filter( (a) => a.automatable && a.automatedCostFixed === 0 && a.automatedTimeMinutes === 0 ) const investmentIsZero = investment === 0 // Caso 4: ROI > 1000% finito (Infinity no aplica — ya lo cubre el caso de investment=0) const roiIsUnusuallyHigh = roi !== undefined && Number.isFinite(roi.roiAnnualPercent) && roi.roiAnnualPercent > ROI_HIGH_THRESHOLD if (zeroCostAutomatable.length === 0 && !investmentIsZero && !roiIsUnusuallyHigh) return null return (
{zeroCostAutomatable.length === 1 ? '1 actividad automatizable sin costo configurado:' : `${zeroCostAutomatable.length} actividades automatizables sin costo configurado:`}
Estas actividades se incluyen en el escenario automatizado con costo cero, lo que puede inflar artificialmente el ahorro calculado. Configurá sus costos en el workspace para un análisis realista.
Inversión en automatización no configurada.{' '} El payback aparece como inmediato y el ROI como infinito porque no hay inversión inicial. Configurá la inversión total en la tab "Global" del workspace para un análisis financiero completo.
)} {roiIsUnusuallyHigh && roi && (ROI inusualmente alto detectado: {formatPercent(roi.roiAnnualPercent)}. {' '} Un ROI superior al {formatPercent(ROI_HIGH_THRESHOLD, 0)} anual suele indicar uno de estos casos:
Revisá estos inputs antes de presentar el reporte al cliente. Ver METHODOLOGY_AUTOMATED_COST.md para guía de estimación.