La sección de Reportes es tu panel de control financiero y operativo. Cada número tiene un significado concreto y una acción posible. Esta guía te explica qué mide cada métrica, cómo interpretarla y qué configuraciones del sistema la afectan directamente.
Tab ROI
Resumen ejecutivo: impacto financiero y operativo de los últimos 6 meses de un vistazo.
Tab Métricas
Vista detallada del mes actual: turnos, ingresos, eficiencia y actividad del bot.
Tab Retención
Fidelización de pacientes: cohortes de retorno y alertas de pacientes en riesgo de abandono.
1. Tab ROI — Resumen Ejecutivo
Este es el primer tab que ves al entrar a Reportes porque concentra el valor más alto de información en el menor tiempo posible. Piénsalo como el "informe de directorio" de tu práctica.

Las 4 tarjetas ejecutivas
Suma de todos los pagos con estado 'aprobado' registrados durante el mes actual. Solo incluye cobros reales confirmados — ni señas pendientes ni presupuestos.
Suma de agenda_appointment_payments WHERE status = 'approved' AND mes actualCantidad total de turnos agendados en el mes, en cualquier estado (confirmado, completado, pendiente, cancelado, no-show). Es el volumen bruto de actividad de tu agenda.
COUNT de agenda_appointments WHERE mes actualPorcentaje de turnos que fueron confirmados o completados sobre el total de turnos del mes. Es el indicador de 'salud' de tu agenda: qué tan seguido los pacientes efectivamente se atienden.
(turnos_confirmados + turnos_completados) / total_turnos × 100Cantidad de mensajes enviados de forma automática por el sistema durante el mes: confirmaciones, recordatorios 24h, recordatorios 2h, links de pago, respuestas del asistente IA, etc.
COUNT de agenda_message_log WHERE direction = 'out' AND mes actualGráficos de tendencia (6 meses)
Barras indigo: ingresos cobrados en pesos cada mes. Barras verde: cantidad de turnos. Doble eje: el eje izquierdo es en pesos, el derecho en cantidad de turnos.
Línea verde: tasa de confirmación % mes a mes. Línea roja: tasa de no-show % mes a mes. Las áreas sombreadas ayudan a ver la tendencia.
Card ROI del Bot — Horas ahorradas
Calcula el valor monetario del tiempo que el bot ahorró en los últimos 6 meses en lugar de tener que hacerlo manualmente.
Fórmula:
horas_ahorradas = (mensajes_enviados × 3 minutos) ÷ 60
valor_estimado = horas_ahorradas × tarifa_hora_configurableSe estiman 3 minutos por mensaje: el tiempo promedio que toma atender una llamada o mensaje manual (saludar, verificar disponibilidad, confirmar, despedirse).
Acumulado 6 meses — La barra al pie muestra: turnos totales, ingresos cobrados, nuevos pacientes, mensajes automáticos y horas ahorradas del semestre completo.
2. Tab Métricas — Vista del Mes Actual
Vista operativa del mes en curso. Se actualiza en tiempo real cada vez que entrás. Ideal para el seguimiento semanal de la actividad.
Tarjetas de métricas del mes
Todos los turnos del mes independientemente de su estado. Incluye confirmados, pendientes, cancelados y no-shows.
COUNT agenda_appointments WHERE start_at en rango del mesSuma real de dinero recibido (pagos con estado 'aprobado'). Diferente al 'estimado' que es la suma teórica de precios de servicios.
SUM amount_minor_units WHERE status='approved' AND created_at en mes actualCantidad de pacientes que se registraron en el sistema por primera vez durante el mes (por fecha de creación del perfil en la base de datos).
COUNT agenda_patients WHERE created_at en mes actualCantidad de turnos cancelados explícitamente. El número secundario muestra los 'no-shows': pacientes que no vinieron sin avisar. Son dos tipos distintos de pérdida.
COUNT WHERE status='canceled' / COUNT WHERE status='no_show'No-show: perdiste el horario sin aviso. La tasa de no-show = no_shows / total_turnos. Por encima del 15% es urgente activar recordatorios obligatorios.
Gráfico de Demanda Diaria
Barras que muestran cuántos turnos tuviste cada día del mes. Pasando el cursor sobre cada barra se ve el número exacto y la fecha.
Picos altos: días de alta demanda. Si son siempre los mismos días de la semana, considerá abrir más disponibilidad en esos días.
Valles (días en cero): días sin atención (feriados, vacaciones) o días con muy poca disponibilidad cargada en la agenda.
Fin de mes vs. inicio: si los primeros días del mes tienen pocas barras y los últimos muchas, los pacientes están reservando tarde. Los recordatorios proactivos del bot pueden adelantar esa demanda.
Card del Bot
Muestra la actividad automática del sistema este mes: total de mensajes enviados, variación vs mes anterior, y las horas estimadas ahorradas.
Panel de Eficiencia (lado derecho)
Barra de progreso que divide el total de turnos en tres estados:
Ingresos por Medio de Pago
Desglose de los cobros aprobados del mes por canal: efectivo, Mercado Pago, transferencia, débito, crédito. Cada barra muestra el monto y el porcentaje sobre el total cobrado.
Para qué sirve: identificar qué medios prefieren tus pacientes y dónde concentrar la optimización. Si el 80% es efectivo y tenés Mercado Pago habilitado pero nadie lo usa, revisá si el bot está ofreciendo el link de pago correctamente.
3. Tab Retención — Fidelización de Pacientes
Mide qué tan bien estás reteniendo a tus pacientes a lo largo del tiempo. Es el indicador más honesto del valor a largo plazo de tu práctica: un paciente que vuelve es más rentable que uno nuevo.
Tarjetas de resumen
Cantidad de pacientes distintos que tuvieron al menos un turno (en estados no cancelados) en los últimos 12 meses.
COUNT DISTINCT patient_id WHERE start_at >= hace 12 meses AND status NOT IN ('canceled')Porcentaje de pacientes únicos del período que tuvieron turnos en más de un mes distinto. Mide la fidelización real.
pacientes_con_más_de_1_mes_activo / pacientes_únicos_totales × 100Promedio de turnos por paciente único en los últimos 12 meses. Indica la frecuencia de visita.
total_turnos / pacientes_únicosPacientes que tuvieron al menos un turno en el período analizado, pero no han vuelto en los últimos 60 días.
pacientes con último turno >= 60 días atrás Y sin turno futuro agendadoTabla de Cohorte de Retención
Esta tabla es el análisis más avanzado del módulo. Cada fila es un grupo (cohorte) de pacientes que se atendieron por primera vez en ese mes. Las columnas muestran qué % de ese grupo volvió en cada mes posterior.
Cómo leerla:
- Fila:Un grupo de pacientes que vino por primera vez en ese mes. El número de la columna "Pacientes" es cuántos eran ese grupo.
- 100%:Siempre aparece en la columna del mismo mes de la cohorte — es el punto de partida (todos vinieron ese mes por definición).
- — (guiones):Meses anteriores a la cohorte — no aplica porque el grupo no existía todavía.
- Colores:Verde oscuro ≥60% retención · Verde claro 40-59% · Amarillo 20-39% · Rojo 1-19% · Gris 0%
Señal de alerta: si todas las filas se ponen grises rápidamente (en el segundo mes ya hay 0%), los pacientes no vuelven. Señal positiva: si los porcentajes se mantienen en verde por varios meses, tenés una base sólida de pacientes recurrentes.
Lista de Pacientes en Riesgo
Lista de hasta 50 pacientes ordenados por días de inactividad (más inactivos primero). Cada fila muestra:
- Nombre del paciente
- Teléfono y email para contacto directo
- Días inactivo: cuántos días pasaron desde su último turno
- Turnos totales: cuántas veces vino en total (un paciente de 10 turnos vale más recuperar que uno de 1)
- Último turno: fecha de la última atención
4. Tab Pagos — Detalle por Paciente
Vista financiera detallada con filtro de fechas libre. Permite ver el historial de cobros agrupado por paciente con drill-down individual.
Total Revenue
Suma de todos los pagos en el período, sin importar estado (aprobados + pendientes + fallidos).
Cobrado
Solo pagos con estado "aprobado". Es el dinero que efectivamente ingresó.
Pendiente
Pagos iniciados pero no confirmados todavía (MercadoPago en proceso, transferencias sin verificar).
Perdido
Pagos rechazados, cancelados o reembolsados. Dinero que no llegó a cobrarse.
5. Tab Deudas — Gestión de Impagos
Identifica automáticamente qué pacientes deben dinero y de qué tipo es la deuda. Permite cobrar directamente desde el panel o enviar recordatorios.
Deuda Post-Atención
Turno ya realizado (completado o no-show) sin ningún pago aprobado. El servicio ya fue prestado y no se cobró. Prioridad alta.
Seña o Prepago Pendiente
El turno aún no ocurrió pero hay un cobro previo exigido que no fue confirmado. Riesgo: el paciente ocupe el horario sin pagar.
Acciones disponibles en cada deuda:
- Cobrar: abre el modal de cobro para registrar el pago manualmente.
- Reenviar recordatorio: envía un mensaje de WhatsApp o email al paciente con el detalle de la deuda.
- Pausar notificaciones: deja de enviar recordatorios automáticos a ese paciente por esa deuda.
- Eximir deuda: marca el turno como exceptuado del cobro (para casos especiales).
6. Tab Ingresos por Profesional
Vista de rentabilidad desagregada por profesional. Ideal para prácticas con varios profesionales o liquidación de honorarios.
Para cada profesional muestra:
- Total de turnos en el período
- Pacientes únicos atendidos
- Ingresos totales, cobrados, pendientes y perdidos
- Desglose por medio de pago (efectivo, MP, transferencia)
- Desglose por estado de turno

7. Los badges ▲/▼ — Cómo leer la variación
Cada tarjeta de métricas muestra un badge de variación porcentual versus el mismo período anterior. Estas son las reglas de lectura:
En la mayoría de métricas (ingresos, turnos, pacientes nuevos, bot), verde significa que el número subió vs el período anterior.
En métricas inversas (no-shows, cancelaciones), bajar es positivo. El badge se muestra verde cuando el número cae.
Caída en ingresos, turnos o pacientes nuevos. El período no fue mejor que el anterior.
La tasa de confirmación muestra "pp" (puntos porcentuales), no %. Pasar de 70% a 75% = +5pp. Los demás indicadores muestran % de variación del valor absoluto.
8. Configuraciones que afectan tus métricas
Estas son las configuraciones del sistema que tienen impacto directo en los números del panel. Si las métricas no reflejan lo que esperás, revisá estos seteos.
Afecta directamente la tasa de confirmación. En modo 'automático', los turnos se confirman solos. En modo 'manual', esperan acción del profesional. En modo 'por WhatsApp', el paciente confirma por mensaje.
Activa/desactiva los mensajes automáticos que el bot envía 24h y 2h antes del turno. Cada mensaje enviado suma al contador de 'mensajes del bot' y reduce la tasa de no-show.
Los 'Ingresos estimados' se calculan tomando el precio del servicio al momento de la reserva (snapshot). Si cambiás el precio de un servicio, los turnos futuros usarán el nuevo precio pero los históricos mantienen el original.
Sin WhatsApp conectado, el bot no envía mensajes y el contador de 'mensajes del bot' permanece en cero. Las horas ahorradas y el ROI del bot son directamente proporcionales a la actividad de esta integración.
Si activás el cobro por no-show, los turnos con ese estado generan una deuda automática en el Tab Deudas. Si está desactivado, los no-shows no aparecen en el módulo de deudas.
Datos en tiempo real
Todos los reportes se calculan en el momento en que entrás a la sección — no hay caché de datos históricos. Los números del mes actual reflejan el estado exacto de la base de datos en ese instante. Si acaban de ingresar pagos o confirmar turnos, refrescá la página para ver los valores actualizados.
