ANEXO 28
FARO Action Guide
Este anexo corresponde a la Fase 7 — Decisión, etapa “FARO Action Guide”. Es la capa donde FARO Connect convierte diagnósticos, prioridades, recomendaciones y simulaciones en una guía ejecutiva concreta de acción.
Hasta el Anexo 27, FARO ya puede responder:
Qué está pasando.
Por qué puede estar pasando.
Qué tan grave es.
Qué tan confiable es.
Qué debería priorizarse.
Qué conviene hacer.
Qué escenarios conviene simular.
El FARO Action Guide responde el paso siguiente:
¿Cómo se baja todo eso a una guía clara para que alguien actúe bien, en orden, con responsable, plazo y evidencia?
1. Objetivo del anexo
El objetivo del FARO Action Guide es transformar la inteligencia de FARO en una guía operativa ejecutable.
No alcanza con decir:
Auditar descuentos.
FARO debe decir:
Acción:
Auditar descuentos mayores al 8%.
Responsable:
Gerente Comercial.
Áreas consultadas:
Finanzas, Administración, RRHH.
Paso 1:
Exportar ventas de los últimos 30 días con descuento mayor al 8%.
Paso 2:
Separar por vendedor, cliente, producto y sucursal.
Paso 3:
Calcular margen por operación.
Paso 4:
Identificar operaciones con margen menor al mínimo.
Paso 5:
Presentar informe a Dirección con propuesta de política de autorización.
Vencimiento:
72 horas.
Evidencia requerida:
Listado auditado + propuesta de corrección.
Eso es guía de acción. No literatura.
2. Tesis del Anexo 28
La tesis es:
FARO Connect no debe quedarse en recomendar. Debe guiar la ejecución.
Una recomendación dice qué conviene hacer.
El Action Guide dice:
cómo hacerlo,
en qué orden,
quién lo hace,
con qué información,
qué evidencia debe dejar,
cuándo vence,
qué KPI debe mejorar,
cómo se mide si funcionó.
Ejemplo:
Diagnóstico:
Crecimiento no rentable.
Recomendación:
Auditar descuentos y revisar comisión.
Action Guide:
1. Identificar operaciones con descuento mayor al umbral.
2. Calcular margen por operación.
3. Separar por vendedor y cliente.
4. Revisar cobranza asociada.
5. Detectar comisiones pagadas sobre ventas no rentables.
6. Proponer ajuste.
7. Medir margen 30 días después.
La diferencia es enorme: una cosa suena inteligente; la otra mueve la empresa.
3. Qué es FARO Action Guide
El FARO Action Guide es una guía estructurada de ejecución derivada de una recomendación FARO.
Debe incluir:
diagnóstico origen
recomendación origen
acción principal
pasos concretos
responsable
consultados
aprobador
plazo
prioridad
datos necesarios
herramientas necesarias
evidencia requerida
KPI afectado
resultado esperado
riesgo de no actuar
criterio de cierre
seguimiento posterior
Ejemplo de estructura:
{
"action_guide_code": "AG_COMMERCIAL_001",
"title": "Auditoría de descuentos altos",
"origin_diagnosis": "crecimiento_no_rentable",
"origin_recommendation": "auditar_descuentos_altos",
"priority": "P2",
"responsible_role": "Gerente Comercial",
"consulted_roles": ["Finanzas", "RRHH"],
"steps": [
"Exportar ventas con descuento mayor al 8%",
"Calcular margen por operación",
"Separar por vendedor, cliente y producto",
"Detectar operaciones no rentables",
"Presentar propuesta de política de descuento"
],
"due_hours": 72,
"evidence_required": [
"Listado de operaciones auditadas",
"Resumen por vendedor",
"Propuesta de corrección"
],
"kpis_to_monitor": [
"descuento_promedio",
"margen_bruto",
"comision_sobre_margen"
]
}
4. Diferencia entre recomendación, acción y Action Guide
| Concepto | Qué responde | Ejemplo |
|---|---|---|
| Recomendación | Qué conviene hacer. | Auditar descuentos altos. |
| Acción | Tarea concreta asignada. | Gerente Comercial debe auditar descuentos antes del viernes. |
| Action Guide | Cómo ejecutar bien esa acción. | Paso a paso, datos, evidencia, KPI, cierre y seguimiento. |
La secuencia correcta es:
Diagnóstico
→ Recomendación
→ Simulación si corresponde
→ Decisión
→ FARO Action Guide
→ Acción asignada
→ Seguimiento
→ Medición
→ Aprendizaje
5. Por qué esta capa es crítica
Sin Action Guide, FARO puede generar buenas recomendaciones que después se ejecutan mal.
Ejemplo:
Recomendación:
Revisar política de descuentos.
Cada persona puede interpretar algo distinto:
Comercial mira vendedores.
Finanzas mira margen.
Dirección mira caja.
RRHH mira comisión.
Administración mira autorización.
El Action Guide ordena:
qué revisar,
con qué datos,
en qué orden,
con qué criterio,
qué entregar,
qué decisión tomar después.
En empresas reales, la diferencia entre “revisar” y “hacer una auditoría con evidencia” es la diferencia entre gestión y humo corporativo.
6. Tipos de Action Guide FARO
| Tipo de guía | Para qué sirve | Ejemplo |
|---|---|---|
| Correctiva | Resolver problema actual. | Auditar descuentos altos. |
| Preventiva | Evitar problema futuro. | Reponer stock antes del quiebre. |
| Validación de datos | Mejorar calidad antes de decidir. | Completar costos faltantes. |
| Escalamiento | Subir tema crítico. | Acción crítica vencida. |
| Decisión ejecutiva | Preparar decisión sensible. | Cambiar comisión. |
| Simulación | Guiar análisis previo. | Evaluar canje. |
| Proceso | Mejorar método de trabajo. | Crear workflow obligatorio. |
| Política | Cambiar regla interna. | Nueva política de crédito. |
| Seguimiento | Medir impacto posterior. | Ver si margen mejoró. |
7. Biblioteca inicial de Action Guides
Una base seria debería tener:
100 a 200 Action Guides iniciales
Escalable a:
500+ guías por industria, tensión, diagnóstico, recomendación y acción.
Distribución sugerida:
| Familia | Cantidad inicial |
|---|---|
| Comercial | 20-40 |
| Finanzas | 20-40 |
| Stock / Compras | 25-50 |
| RRHH / incentivos | 15-30 |
| Operaciones | 20-40 |
| Dirección / workflow | 20-40 |
| Calidad de datos | 15-30 |
| Clientes | 10-25 |
| Proveedores | 10-25 |
| Industria específica | 40-100 |
Para MVP, con 20 a 30 guías bien armadas alcanza para demostrar el corazón del sistema.
8. Estructura estándar de un FARO Action Guide
{
"action_guide_code": "AG_FINANCE_001",
"title": "Plan urgente de caja",
"description": "Guía para recuperar caja cuando la empresa está por debajo del mínimo operativo.",
"origin_diagnosis": "caja_debil_con_ventas_altas",
"origin_recommendation": "priorizar_cobranza_y_reprogramar_pagos",
"guide_type": "correctiva",
"priority_level": "P1",
"confidence_min": 0.80,
"responsible_role": "Responsable de Finanzas",
"approver_role": "Dirección",
"consulted_roles": ["Comercial", "Administración"],
"steps": [],
"required_data": [],
"required_tools": [],
"evidence_required": [],
"due_hours": 24,
"kpis_to_monitor": [],
"closure_criteria": [],
"follow_up_rules": []
}
9. Campos obligatorios
| Campo | Para qué sirve |
|---|---|
| action_guide_code | Identificador único. |
| title | Nombre claro de la guía. |
| description | Qué resuelve. |
| origin_diagnosis | Diagnóstico que la origina. |
| origin_recommendation | Recomendación asociada. |
| guide_type | Correctiva, preventiva, validación, etc. |
| priority_level | P1 a P5. |
| confidence_min | Confianza mínima necesaria. |
| responsible_role | Responsable principal. |
| approver_role | Quién aprueba si corresponde. |
| consulted_roles | Áreas consultadas. |
| steps | Pasos de ejecución. |
| required_data | Datos necesarios. |
| required_tools | Herramientas requeridas. |
| evidence_required | Evidencia para cerrar. |
| due_hours | Plazo sugerido. |
| kpis_to_monitor | KPIs afectados. |
| closure_criteria | Criterio de cierre. |
| follow_up_rules | Seguimiento posterior. |
10. Niveles de detalle del Action Guide
FARO puede generar guías en distintos niveles.
Nivel 1 — Guía ejecutiva resumida
Qué hacer.
Quién responde.
Cuándo vence.
Qué KPI debe mejorar.
Nivel 2 — Guía operativa
Pasos concretos.
Datos necesarios.
Evidencia requerida.
Áreas consultadas.
Nivel 3 — Guía técnica
Consulta SQL.
Fórmulas.
Reglas.
Exportaciones.
Tablas afectadas.
Nivel 4 — Guía con workflow
Tareas automáticas.
Responsables.
Vencimientos.
Escalamiento.
Estados.
Medición posterior.
Para FARO Connect conviene tener los 4 niveles. El dueño quiere claridad; el equipo necesita ejecución.
11. Action Guide comercial: auditoría de descuentos altos
Diagnóstico origen
Crecimiento no rentable.
Margen deteriorado por descuentos.
Recomendación origen
Auditar operaciones con descuento mayor al 8%.
Objetivo
Detectar operaciones donde el descuento aplicado erosiona margen, caja o comisión.
Responsable
R: Gerente Comercial
A: Dirección
C: Finanzas, RRHH, Administración
I: Vendedores
Pasos
1. Exportar ventas de los últimos 30/60/90 días.
2. Filtrar operaciones con descuento mayor al umbral.
3. Calcular margen por operación.
4. Separar por vendedor, producto, cliente, sucursal y canal.
5. Identificar operaciones con margen menor al mínimo.
6. Cruzar con cobranza y días de mora.
7. Cruzar con comisión pagada o estimada.
8. Detectar patrones por vendedor o cliente.
9. Proponer política de autorización de descuentos.
10. Presentar informe a Dirección.
Datos necesarios
ventas netas
precio lista
precio final
descuento
costo
margen
cliente
vendedor
producto
sucursal
condición de pago
fecha de cobro
comisión
Fórmula principal
Descuento promedio = (precio_lista - precio_final) / precio_lista
def descuento_operacion(precio_lista, precio_final):
if precio_lista == 0:
return 0
return (precio_lista - precio_final) / precio_lista
SQL ejemplo
SELECT
sale_id,
sale_date,
branch_id,
customer_id,
seller_id,
product_id,
list_price,
final_price,
cost_amount,
net_amount,
CASE
WHEN list_price = 0 THEN 0
ELSE (list_price - final_price) / list_price
END AS discount_rate,
CASE
WHEN net_amount = 0 THEN 0
ELSE (net_amount - cost_amount) / net_amount
END AS gross_margin_rate
FROM fact_sales
WHERE sale_date >= CURRENT_DATE - INTERVAL '30 days'
AND list_price > 0
AND (list_price - final_price) / list_price > 0.08;
Evidencia requerida
Listado de operaciones auditadas.
Top 10 vendedores con mayor descuento.
Top 10 clientes con mayor descuento.
Productos más afectados.
Impacto estimado en margen.
Propuesta de política correctiva.
Criterio de cierre
La auditoría fue presentada.
La Dirección aprobó o rechazó cambios.
Se creó acción posterior si corresponde.
Se definió nuevo umbral o política.
12. Action Guide financiero: plan urgente de caja
Diagnóstico origen
Caja bajo mínimo operativo.
Caja débil con ventas altas.
Objetivo
Recuperar liquidez o reducir riesgo de caja en el corto plazo.
Responsable
R: Finanzas
A: Dirección
C: Comercial, Administración, Compras
I: Gerencia General
Pasos
1. Calcular caja disponible real.
2. Calcular pagos comprometidos próximos 7 y 30 días.
3. Listar clientes con deuda vencida.
4. Priorizar cobranza por monto, mora y probabilidad de cobro.
5. Separar pagos críticos de pagos negociables.
6. Revisar compras no urgentes.
7. Proponer plan de caja a 7 días.
8. Definir responsables de cobranza por cliente.
9. Reportar avance diario.
10. Actualizar FARO Score financiero.
Datos necesarios
saldo bancos
efectivo
cuentas por cobrar
cuentas por pagar
deuda vencida
fecha de vencimiento
cliente
proveedor
monto
prioridad de pago
Fórmula
Caja proyectada 7 días =
caja actual + cobros esperados - pagos comprometidos
def caja_proyectada(caja_actual, cobros_esperados, pagos_comprometidos):
return caja_actual + cobros_esperados - pagos_comprometidos
SQL ejemplo
SELECT
customer_id,
SUM(amount_due) AS deuda_total,
SUM(CASE WHEN due_date < CURRENT_DATE THEN amount_due ELSE 0 END) AS deuda_vencida,
MAX(CURRENT_DATE - due_date) AS dias_mora_max
FROM accounts_receivable
WHERE status <> 'paid'
GROUP BY customer_id
ORDER BY deuda_vencida DESC;
Evidencia requerida
Cashflow 7 días.
Cashflow 30 días.
Listado de clientes priorizados.
Listado de pagos críticos y negociables.
Plan de cobranza.
Decisiones de Dirección.
Criterio de cierre
Caja vuelve sobre mínimo operativo.
Plan aprobado por Dirección.
Cobranza prioritaria ejecutada.
Pagos críticos ordenados.
13. Action Guide stock: reposición preventiva
Diagnóstico origen
Riesgo futuro de stock crítico.
Stock crítico comercial.
Objetivo
Evitar quiebre de productos clave antes de que afecte ventas.
Responsable
R: Compras
A: Dirección / Gerencia Operativa
C: Stock, Comercial, Finanzas
I: Sucursales
Pasos
1. Identificar productos críticos con cobertura menor al plazo proveedor.
2. Calcular días de cobertura por producto y sucursal.
3. Validar stock físico vs sistema.
4. Consultar órdenes de compra pendientes.
5. Consultar proveedor actual.
6. Evaluar proveedor alternativo.
7. Redistribuir stock entre sucursales si conviene.
8. Emitir orden de compra si corresponde.
9. Informar a Comercial sobre disponibilidad esperada.
10. Medir quiebres evitados.
Fórmula
Días de cobertura = stock_actual / venta_promedio_diaria
def dias_cobertura(stock_actual, venta_promedio_diaria):
if venta_promedio_diaria == 0:
return None
return stock_actual / venta_promedio_diaria
SQL ejemplo
SELECT
i.product_id,
i.branch_id,
i.stock_qty,
AVG(s.daily_units_sold) AS venta_promedio_diaria,
p.supplier_lead_time_days,
CASE
WHEN AVG(s.daily_units_sold) = 0 THEN NULL
ELSE i.stock_qty / AVG(s.daily_units_sold)
END AS dias_cobertura
FROM fact_inventory i
JOIN dim_product p ON p.product_id = i.product_id
LEFT JOIN product_daily_sales s ON s.product_id = i.product_id
WHERE p.is_critical = true
GROUP BY
i.product_id,
i.branch_id,
i.stock_qty,
p.supplier_lead_time_days
HAVING
CASE
WHEN AVG(s.daily_units_sold) = 0 THEN NULL
ELSE i.stock_qty / AVG(s.daily_units_sold)
END < p.supplier_lead_time_days;
Evidencia requerida
Listado de productos críticos.
Días de cobertura.
Plazo proveedor.
Acción tomada: compra, redistribución o proveedor alternativo.
Fecha estimada de reposición.
Criterio de cierre
Producto con cobertura suficiente.
Orden emitida o redistribución completada.
Riesgo de quiebre reducido.
14. Action Guide stock: reducción de stock inmovilizado
Diagnóstico origen
Stock inmovilizado.
Capital atrapado en inventario.
Objetivo
Liberar capital sin destruir margen innecesariamente.
Pasos
1. Listar productos sin movimiento por más de X días.
2. Clasificar por valor inmovilizado.
3. Separar productos liquidables, redistribuibles y estratégicos.
4. Calcular margen mínimo aceptable.
5. Proponer plan de liquidación o redistribución.
6. Bloquear nuevas compras de productos lentos.
7. Medir capital liberado.
Fórmula
Stock inmovilizado % = valor_stock_sin_movimiento / valor_stock_total
def stock_inmovilizado_ratio(valor_sin_movimiento, valor_stock_total):
if valor_stock_total == 0:
return 0
return valor_sin_movimiento / valor_stock_total
Evidencia requerida
Listado de productos inmovilizados.
Valor total inmovilizado.
Plan de acción por producto.
Margen mínimo definido.
Capital liberado esperado.
15. Action Guide RRHH/comercial: rediseño de comisión
Diagnóstico origen
Comisión desalineada.
Crecimiento no rentable.
Objetivo
Rediseñar la comisión para incentivar ventas sanas, no solo volumen.
Responsable
R: Gerente Comercial + RRHH
A: Dirección
C: Finanzas, Administración
I: Vendedores
Pasos
1. Relevar fórmula actual de comisión.
2. Calcular comisión pagada por vendedor.
3. Cruzar comisión con margen generado.
4. Cruzar comisión con cobranza efectiva.
5. Detectar vendedores con alta comisión y bajo margen.
6. Simular fórmula alternativa.
7. Medir impacto por vendedor.
8. Evaluar riesgo de desmotivación.
9. Presentar propuesta a Dirección.
10. Implementar piloto antes de cambio general.
Fórmula sugerida
Comisión ajustada =
venta_neta × tasa_base × factor_margen × factor_cobranza × factor_descuento
def comision_ajustada(
venta_neta,
tasa_base,
margen,
margen_objetivo,
dias_cobranza,
dias_objetivo,
descuento,
descuento_maximo
):
factor_margen = min(margen / margen_objetivo, 1.2) if margen_objetivo else 1
factor_cobranza = 1 if dias_cobranza <= dias_objetivo else 0.75
factor_descuento = 1 if descuento <= descuento_maximo else 0.80
return venta_neta * tasa_base * factor_margen * factor_cobranza * factor_descuento
Evidencia requerida
Simulación por vendedor.
Comparativo comisión actual vs propuesta.
Impacto en margen.
Impacto en costo variable.
Riesgo comercial.
Aprobación de Dirección.
Criterio de cierre
Simulación aprobada.
Piloto definido.
Comunicación interna preparada.
Fecha de implementación aprobada.
Regla fina: cambiar comisiones con Excel y coraje suele terminar en incendio. Hay que simular, pilotear y comunicar.
16. Action Guide clientes: cliente grande riesgoso
Diagnóstico origen
Cliente grande riesgoso.
Cliente grande poco rentable.
Objetivo
Proteger caja y margen sin perder innecesariamente un cliente relevante.
Pasos
1. Calcular ventas acumuladas del cliente.
2. Calcular margen por cliente.
3. Calcular deuda vencida y días de mora.
4. Calcular rentabilidad ajustada por cobranza.
5. Revisar condición comercial actual.
6. Definir escenario: mantener, reducir crédito, exigir pago parcial o bloquear.
7. Presentar recomendación a Dirección.
8. Comunicar nueva condición si se aprueba.
9. Medir cobranza posterior.
Fórmula
Rentabilidad ajustada =
margen generado - costo financiero - pérdida esperada por incobrabilidad
def rentabilidad_ajustada_cliente(
margen_generado,
costo_financiero,
perdida_esperada
):
return margen_generado - costo_financiero - perdida_esperada
Evidencia requerida
Ficha del cliente.
Ventas.
Margen.
Mora.
Deuda vencida.
Condición recomendada.
Aprobación de Dirección.
17. Action Guide canjes
Diagnóstico origen
Canje mal evaluado.
Venta aparente sin caja.
Objetivo
Evaluar si un canje genera valor real o solo una venta nominal.
Responsable
R: Finanzas / Dirección
A: Directorio
C: Comercial, Legal, Administración
I: Gerencia General
Pasos
1. Registrar propuesta de canje.
2. Valuar materiales entregados.
3. Calcular costo real de materiales.
4. Valuar activo recibido.
5. Aplicar factor de liquidez.
6. Estimar plazo de realización.
7. Calcular costo financiero.
8. Evaluar riesgo legal y documental.
9. Comparar contra venta normal.
10. Aprobar, rechazar o renegociar.
Fórmula
Valor neto del canje =
valor_activo × factor_liquidez
- costo_materiales
- costo_financiero
- riesgo_estimado
def valor_neto_canje(
valor_activo,
factor_liquidez,
costo_materiales,
costo_financiero,
riesgo_estimado
):
return valor_activo * factor_liquidez - costo_materiales - costo_financiero - riesgo_estimado
Evidencia requerida
Propuesta comercial.
Valuación del activo.
Documentación legal.
Simulación financiera.
Comparativo contra venta normal.
Aprobación de Dirección/Directorio.
Criterio de cierre
Canje aprobado, rechazado o renegociado con fundamento.
Riesgo documentado.
Condición registrada en FARO.
18. Action Guide referidos
Diagnóstico origen
Referidos sin control.
Referido erosiona margen.
Objetivo
Ordenar pagos a referidos, arquitectos, maestros, gestores u originadores de venta.
Pasos
1. Identificar operación originada por referido.
2. Registrar referido asociado.
3. Calcular margen de la operación.
4. Calcular comisión solicitada.
5. Comparar comisión contra margen.
6. Validar si cumple política.
7. Aprobar o rechazar pago.
8. Registrar trazabilidad.
9. Medir ventas futuras por referido.
Fórmula
Peso del referido sobre margen =
comisión_referido / margen_operación
def referido_sobre_margen(comision_referido, margen_operacion):
if margen_operacion == 0:
return None
return comision_referido / margen_operacion
Evidencia requerida
Identificación del referido.
Operación asociada.
Margen de operación.
Comisión solicitada.
Aprobación.
Comprobante o registro interno.
19. Action Guide calidad de datos: margen no confiable
Diagnóstico origen
Margen no confiable por costos incompletos.
Objetivo
Corregir datos críticos antes de tomar decisiones comerciales.
Pasos
1. Identificar productos sin costo.
2. Identificar ventas sin producto maestro.
3. Completar costos unitarios.
4. Normalizar códigos de producto.
5. Recalcular margen.
6. Medir confianza del KPI margen.
7. Rehabilitar diagnóstico comercial.
SQL ejemplo
SELECT
product_id,
COUNT(*) AS operaciones,
SUM(net_amount) AS ventas_afectadas
FROM fact_sales
WHERE cost_amount IS NULL
OR cost_amount = 0
GROUP BY product_id
ORDER BY ventas_afectadas DESC;
Criterio de cierre
Costos completos por encima del 95%.
Productos normalizados.
Margen recalculado.
Confianza KPI margen superior a 0.80.
20. Action Guide dirección: workflow obligatorio
Diagnóstico origen
Dirección sin ejecución.
Accountability débil.
Objetivo
Convertir decisiones en acciones con responsable, vencimiento y medición.
Pasos
1. Revisar decisiones tomadas en comité.
2. Identificar decisiones sin acción.
3. Crear acción por cada decisión vigente.
4. Asignar responsable único.
5. Definir vencimiento.
6. Asociar KPI, alerta, tensión o diagnóstico.
7. Definir evidencia de cierre.
8. Configurar escalamiento por vencimiento.
9. Revisar semanalmente.
10. Medir cierre e impacto.
Regla
Toda decisión debe tener:
responsable + vencimiento + evidencia + KPI afectado.
SQL ejemplo
SELECT
d.decision_id,
d.title,
d.created_at,
COUNT(a.action_id) AS acciones_asociadas
FROM executive_decisions d
LEFT JOIN action_workflow a ON a.decision_id = d.decision_id
GROUP BY d.decision_id, d.title, d.created_at
HAVING COUNT(a.action_id) = 0;
Criterio de cierre
100% de decisiones relevantes con acción asociada.
Acciones críticas con responsable y vencimiento.
Escalamiento activo.
21. Plantilla estándar de Action Guide
FARO ACTION GUIDE
Título:
[Nombre de la guía]
Origen:
[Diagnóstico / recomendación / simulación]
Prioridad:
[P1/P2/P3/P4/P5]
Objetivo:
[Qué busca lograr]
Responsable:
[R]
Aprobador:
[A]
Consultados:
[C]
Informados:
[I]
Datos necesarios:
[Lista de datos]
Pasos:
1. [Paso concreto]
2. [Paso concreto]
3. [Paso concreto]
Herramientas:
[ERP / Excel / FARO / SQL / CRM / WhatsApp / etc.]
Evidencia requerida:
[Qué debe quedar cargado]
Vencimiento:
[Plazo]
KPIs afectados:
[KPIs]
Criterio de cierre:
[Cómo se considera resuelto]
Seguimiento:
[Cuándo se vuelve a medir]
Impacto esperado:
[Qué mejora]
Riesgo de no actuar:
[Qué pasa si no se hace]
22. Conversión de recomendación a Action Guide
Código conceptual:
def generar_action_guide(recomendacion, biblioteca_guias):
for guia in biblioteca_guias:
if recomendacion["recommendation_code"] in guia["applicable_recommendations"]:
return {
"action_guide_code": guia["action_guide_code"],
"title": guia["title"],
"steps": guia["steps"],
"responsible_role": guia["responsible_role"],
"due_hours": guia["due_hours"],
"evidence_required": guia["evidence_required"],
"kpis_to_monitor": guia["kpis_to_monitor"]
}
return None
23. Conversión de Action Guide a acción
Una guía puede generar una o varias acciones.
Ejemplo:
{
"guide": "Auditoría de descuentos altos",
"actions": [
{
"title": "Exportar ventas con descuento > 8%",
"responsible": "Administración Comercial",
"due_hours": 24
},
{
"title": "Analizar margen por vendedor",
"responsible": "Gerente Comercial",
"due_hours": 48
},
{
"title": "Presentar política de descuento",
"responsible": "Gerente Comercial",
"due_hours": 72
}
]
}
Código:
def convertir_guia_en_acciones(guia):
acciones = []
for paso in guia["steps"]:
if paso.get("convert_to_action", True):
acciones.append({
"title": paso["title"],
"responsible_role": paso.get("responsible_role", guia["responsible_role"]),
"due_hours": paso.get("due_hours", guia["due_hours"]),
"evidence_required": paso.get("evidence_required", [])
})
return acciones
24. Nivel de automatización del Action Guide
| Nivel | Qué hace FARO | Ejemplo |
|---|---|---|
| Manual guiado | Muestra pasos. | Cambiar comisión. |
| Tarea sugerida | Sugiere crear acciones. | Auditar descuentos. |
| Tarea automática | Crea acciones automáticamente. | Validar datos faltantes. |
| Escalamiento automático | Escala por vencimiento. | Acción crítica vencida. |
| Bloqueo técnico | Bloquea decisión débil. | KPI sin confianza suficiente. |
Regla:
FARO puede automatizar tareas operativas. Las decisiones sensibles deben quedar bajo aprobación humana.
25. Action Guide y evidencia
Cada guía debe exigir evidencia.
Ejemplos de evidencia:
archivo exportado
captura de ERP
listado de clientes
informe de auditoría
comentario de responsable
aprobación de Dirección
orden de compra
nueva política cargada
simulación adjunta
KPI recalculado
Sin evidencia, el cierre es maquillaje.
Código:
def puede_cerrar_accion(evidencias_requeridas, evidencias_cargadas):
return set(evidencias_requeridas).issubset(set(evidencias_cargadas))
26. Action Guide y seguimiento
Cada guía debe definir cuándo medir resultado.
Ejemplo:
| Tipo de guía | Seguimiento |
|---|---|
| Auditoría descuentos | 7, 15 y 30 días |
| Cobranza urgente | diario durante 7 días |
| Reposición stock | 48 horas y 7 días |
| Comisión | 30, 60 y 90 días |
| Canje | hasta liquidación o cierre legal |
| Calidad de datos | al reprocesar KPI |
| Workflow | semanal |
27. Action Guide y FARO Score
El Action Guide debe impactar el Score según avance.
Ejemplo:
Guía creada: sin impacto.
Acción aceptada: +1.
Acción ejecutada en plazo: +2.
Tensión resuelta: +4.
Acción vencida: -3.
Acción cerrada sin evidencia: no suma.
Código:
def impacto_action_guide_score(status):
mapa = {
"guide_created": 0,
"action_accepted": 1,
"in_progress": 1,
"closed_with_evidence": 3,
"resolved_tension": 4,
"overdue": -3,
"closed_without_evidence": 0
}
return mapa.get(status, 0)
28. Action Guide y aprendizaje
FARO debe aprender qué guías funcionan.
Debe registrar:
guía utilizada
diagnóstico origen
responsable
tiempo de ejecución
evidencia cargada
KPI antes
KPI después
tensión resuelta o no
score antes
score después
feedback del usuario
Ejemplo:
{
"action_guide": "auditoria_descuentos_altos",
"kpi_before": {
"discount_rate": 0.12,
"gross_margin": 0.21
},
"kpi_after_30_days": {
"discount_rate": 0.08,
"gross_margin": 0.24
},
"result": "effective",
"learning": "La guía redujo descuentos y mejoró margen."
}
29. Tabla SQL de biblioteca de Action Guides
CREATE TABLE action_guide_library (
action_guide_code TEXT PRIMARY KEY,
title TEXT NOT NULL,
description TEXT,
guide_type TEXT,
applicable_diagnoses JSONB,
applicable_recommendations JSONB,
applicable_tensions JSONB,
industry_scope JSONB,
priority_level TEXT,
confidence_min NUMERIC DEFAULT 0.70,
responsible_role TEXT,
approver_role TEXT,
consulted_roles JSONB,
steps JSONB,
required_data JSONB,
required_tools JSONB,
evidence_required JSONB,
due_hours INTEGER,
kpis_to_monitor JSONB,
closure_criteria JSONB,
follow_up_rules JSONB,
automation_level TEXT,
score_impact_expected NUMERIC,
active BOOLEAN DEFAULT true,
version TEXT DEFAULT '1.0',
created_at TIMESTAMP DEFAULT now(),
updated_at TIMESTAMP DEFAULT now()
);
30. Tabla SQL de guías generadas
CREATE TABLE action_guide_events (
action_guide_event_id TEXT PRIMARY KEY,
action_guide_code TEXT NOT NULL,
company_id TEXT,
branch_id TEXT,
area_id TEXT,
responsible_id TEXT,
origin_type TEXT,
origin_id TEXT,
diagnosis_id TEXT,
recommendation_event_id TEXT,
tension_event_id TEXT,
priority_level TEXT,
confidence NUMERIC,
title TEXT,
guide_snapshot JSONB,
status TEXT DEFAULT 'created',
due_date TIMESTAMP,
created_at TIMESTAMP DEFAULT now(),
accepted_at TIMESTAMP,
completed_at TIMESTAMP,
closed_at TIMESTAMP
);
31. Tabla SQL de pasos del Action Guide
CREATE TABLE action_guide_steps (
step_id TEXT PRIMARY KEY,
action_guide_event_id TEXT NOT NULL,
step_order INTEGER NOT NULL,
title TEXT NOT NULL,
description TEXT,
responsible_id TEXT,
due_date TIMESTAMP,
status TEXT DEFAULT 'pending',
evidence_required JSONB,
evidence_uploaded JSONB,
completed_at TIMESTAMP,
created_at TIMESTAMP DEFAULT now()
);
32. Tabla SQL de evidencia
CREATE TABLE action_evidence (
evidence_id TEXT PRIMARY KEY,
entity_type TEXT NOT NULL,
entity_id TEXT NOT NULL,
evidence_type TEXT,
description TEXT,
file_url TEXT,
uploaded_by TEXT,
validated_by TEXT,
validation_status TEXT DEFAULT 'pending',
created_at TIMESTAMP DEFAULT now(),
validated_at TIMESTAMP
);
33. Estados del Action Guide
| Estado | Significado |
|---|---|
| Created | FARO generó la guía. |
| Accepted | Responsable aceptó trabajarla. |
| In progress | Hay pasos en ejecución. |
| Waiting approval | Requiere aprobación superior. |
| Waiting evidence | Falta evidencia. |
| Completed | Pasos completados. |
| Measured | Se midió impacto. |
| Closed | Cerrada con evidencia. |
| Rejected | Rechazada con motivo. |
| Escalated | Escalada por vencimiento o criticidad. |
34. Motor FARO Action Guide
Flujo recomendado:
Diagnóstico / recomendación / simulación
→ seleccionar guía aplicable
→ validar confianza mínima
→ adaptar por industria
→ adaptar por prioridad
→ asignar responsable
→ definir pasos
→ definir vencimiento
→ definir evidencia
→ convertir pasos en acciones
→ monitorear avance
→ medir impacto
→ aprender
Código conceptual:
def motor_action_guide(evento_origen, biblioteca_guias):
guias_aplicables = []
for guia in biblioteca_guias:
if evento_origen["confidence"] < guia.get("confidence_min", 0.70):
continue
if evento_origen["code"] in guia.get("applicable_recommendations", []):
guias_aplicables.append(guia)
if evento_origen["code"] in guia.get("applicable_diagnoses", []):
guias_aplicables.append(guia)
if evento_origen["code"] in guia.get("applicable_tensions", []):
guias_aplicables.append(guia)
if not guias_aplicables:
return None
guia = guias_aplicables[0]
return {
"action_guide_code": guia["action_guide_code"],
"title": guia["title"],
"steps": guia["steps"],
"responsible_role": guia["responsible_role"],
"due_hours": guia["due_hours"],
"evidence_required": guia["evidence_required"],
"automation_level": guia["automation_level"]
}
35. Ejemplo completo: crecimiento no rentable
Diagnóstico
Crecimiento no rentable.
Recomendación
Auditar descuentos, revisar comisión y priorizar cobranza.
Action Guide generado
Título:
Guía de corrección de crecimiento no rentable.
Prioridad:
P2 — Alta.
Responsable:
Gerente Comercial.
Consultados:
Finanzas, RRHH, Stock.
Pasos:
1. Auditar descuentos mayores al 8%.
2. Calcular margen por vendedor y producto.
3. Cruzar ventas con cobranza.
4. Revisar comisión sobre operaciones de bajo margen.
5. Identificar clientes de alto volumen y mora.
6. Proponer ajustes comerciales.
7. Medir impacto en 30 días.
Evidencia:
Informe comercial-financiero.
Propuesta de política.
Listado de operaciones auditadas.
36. Ejemplo completo: caja bajo mínimo
Diagnóstico
Caja bajo mínimo operativo.
Action Guide
Título:
Plan urgente de caja.
Prioridad:
P1 — Crítica.
Responsable:
Finanzas.
Pasos:
1. Calcular caja real disponible.
2. Proyectar caja a 7 días.
3. Priorizar cobranza de clientes grandes.
4. Revisar pagos críticos.
5. Reprogramar pagos negociables.
6. Informar plan a Dirección.
7. Reportar avance diario.
Vencimiento:
24 horas.
Evidencia:
Cashflow 7 días.
Listado de cobranzas priorizadas.
Listado de pagos críticos.
37. Ejemplo completo: canje
Diagnóstico
Canje pendiente de evaluación.
Action Guide
Título:
Evaluación financiera y legal de canje.
Prioridad:
P2/P1 según monto.
Responsable:
Finanzas + Dirección.
Pasos:
1. Registrar propuesta.
2. Valuar materiales.
3. Valuar activo.
4. Aplicar factor de liquidez.
5. Calcular costo financiero.
6. Validar documentación legal.
7. Comparar contra venta normal.
8. Aprobar, rechazar o renegociar.
Evidencia:
Simulación financiera.
Documentación legal.
Aprobación de Dirección.
38. Ejemplo completo: datos insuficientes para margen
Diagnóstico
Margen no confiable por costos incompletos.
Action Guide
Título:
Corrección de datos críticos para margen.
Prioridad:
P2.
Responsable:
Data Owner + Compras.
Pasos:
1. Identificar productos sin costo.
2. Completar costo unitario.
3. Normalizar productos sin maestro.
4. Reprocesar ventas.
5. Recalcular margen.
6. Recalcular confianza del KPI.
7. Rehabilitar diagnóstico comercial.
Criterio de cierre:
Confianza del margen superior a 0.80.
39. Action Guide explicado para socio técnico
La explicación técnica es esta:
El Action Guide no es una checklist escrita a mano.
Es una capa estructurada que conecta:
1. Diagnóstico.
2. Recomendación.
3. Simulación si aplica.
4. Biblioteca de guías.
5. Pasos operativos.
6. Datos requeridos.
7. Evidencia requerida.
8. Workflow.
9. Seguimiento.
10. Medición de impacto.
11. Aprendizaje.
La IA puede ayudar a redactar la guía, pero la estructura debe salir de biblioteca, reglas y datos.
Arquitectura correcta:
Motor FARO selecciona guía.
Biblioteca define pasos.
Workflow ejecuta.
Responsables cargan evidencia.
Score mide impacto.
Aprendizaje ajusta futuras guías.
40. Prompt interno para IA explicativa
Actúa como analista ejecutivo FARO.
Con base únicamente en el payload estructurado recibido, redacta una guía de acción clara y ejecutable.
No inventes datos.
No agregues pasos fuera del payload.
Distingue acción, responsable, evidencia y cierre.
Incluye:
1. objetivo,
2. responsable,
3. pasos,
4. datos necesarios,
5. evidencia requerida,
6. plazo,
7. KPI afectado,
8. criterio de cierre,
9. seguimiento.
Payload:
{action_guide_payload}
Regla:
La IA redacta. FARO estructura. El responsable ejecuta. El sistema mide.
41. Testing de Action Guides
Test selección de guía
def test_generar_action_guide_descuentos():
recomendacion = {
"recommendation_code": "auditar_descuentos_altos",
"confidence": 0.84,
"code": "auditar_descuentos_altos"
}
biblioteca = [
{
"action_guide_code": "AG_COMMERCIAL_001",
"title": "Auditoría de descuentos altos",
"applicable_recommendations": ["auditar_descuentos_altos"],
"confidence_min": 0.70,
"steps": [],
"responsible_role": "Gerente Comercial",
"due_hours": 72,
"evidence_required": [],
"automation_level": "crear_tarea_sugerida"
}
]
guia = motor_action_guide(recomendacion, biblioteca)
assert guia is not None
assert guia["action_guide_code"] == "AG_COMMERCIAL_001"
Test no generar guía con baja confianza
def test_no_generar_guia_baja_confianza():
recomendacion = {
"recommendation_code": "auditar_descuentos_altos",
"confidence": 0.45,
"code": "auditar_descuentos_altos"
}
biblioteca = [
{
"action_guide_code": "AG_COMMERCIAL_001",
"applicable_recommendations": ["auditar_descuentos_altos"],
"confidence_min": 0.70
}
]
guia = motor_action_guide(recomendacion, biblioteca)
assert guia is None
Test cierre con evidencia
def test_cierre_con_evidencia():
requeridas = ["informe_auditoria", "propuesta_politica"]
cargadas = ["informe_auditoria", "propuesta_politica"]
assert puede_cerrar_accion(requeridas, cargadas) is True
42. Riesgos si no existe FARO Action Guide
| Riesgo | Consecuencia |
|---|---|
| Recomendaciones quedan vagas | Nadie sabe exactamente qué hacer. |
| Acciones se ejecutan distinto según persona | Inconsistencia operativa. |
| No queda evidencia | No se puede auditar ni aprender. |
| No hay criterio de cierre | Se cierran temas sin resolverlos. |
| No se mide impacto | FARO no aprende. |
| Responsables se diluyen | Baja accountability. |
| Dirección vuelve a perseguir tareas manualmente | El sistema pierde valor. |
| FARO parece buen analista, pero mal ejecutor | Baja adopción real. |
43. Output final del Anexo 28
Al finalizar este anexo, FARO debe tener definido:
1. Biblioteca inicial de FARO Action Guides.
2. Tipos de guías.
3. Estructura estándar de guía.
4. Guías por diagnóstico.
5. Guías por recomendación.
6. Guías por tensión.
7. Guías por industria.
8. Pasos operativos por guía.
9. Datos requeridos por guía.
10. Herramientas requeridas.
11. Evidencia requerida.
12. Responsable y RACI.
13. Vencimientos sugeridos.
14. Criterios de cierre.
15. Reglas de seguimiento.
16. Conversión guía → acciones.
17. Conversión guía → workflow.
18. Impacto en FARO Score.
19. Tablas SQL de guías.
20. Motor de Action Guide.
21. Estados de guía.
22. Testing de guías.
23. Uso controlado de IA explicativa.
24. Aprendizaje por efectividad de guías.
44. Conexión con otros anexos
| Próximo anexo | Qué recibe desde Anexo 28 |
|---|---|
| Anexo 23 — Diagnóstico ejecutivo | Diagnósticos que originan guías. |
| Anexo 24 — Confianza del diagnóstico | Confianza mínima para generar guía. |
| Anexo 25 — Priorización ejecutiva | Prioridad que define vencimiento y fuerza. |
| Anexo 26 — Recomendaciones FARO | Recomendaciones que se transforman en guías. |
| Anexo 27 — Simulación de escenarios | Escenarios aprobados que bajan a ejecución. |
| Anexo 29 — Biblioteca de acciones | Acciones concretas creadas desde la guía. |
| Anexo 30 — Responsables y RACI | Roles responsables de cada guía. |
| Anexo 31 — Workflow y escalamiento | Seguimiento de pasos y vencimientos. |
| Anexo 32 — Evidencia y cierre | Pruebas requeridas para cerrar acciones. |
| Anexo 35 — FARO Score | Impacto de ejecución, atraso o resolución. |
| Anexo 36 — Aprendizaje | Medición de efectividad de cada guía. |
| Anexo 37 — Recalibración | Ajuste de guías según resultados reales. |
El FARO Action Guide transforma recomendaciones en guías concretas de ejecución. Define pasos, responsables, datos necesarios, evidencia requerida, vencimientos, KPIs afectados, criterios de cierre y seguimiento posterior. Es la capa que evita que FARO solo recomiende y permite que la empresa realmente ejecute.