La pérdida de ingresos en la facturación por consumo es un problema silencioso. No hay ningún mensaje de error, ni alertas, ni señales evidentes de que algo vaya mal. Se pierden datos de consumo, los duplicados se filtran de forma excesivamente estricta o se configura mal una ventana de agregación. La facturación a la baja se va acumulando, mes tras mes, hasta que alguien hace los cálculos o la auditoría de un cliente pone de manifiesto una discrepancia.
Las estimaciones del sector sitúan la pérdida de ingresos derivada de errores de medición entre el 1 % y el 3 % en el caso de las empresas que operan sin una capa de mediación completa. Puede parecer una cifra pequeña. Sin embargo, con unos ingresos recurrentes anuales de 50 millones de dólares, en los que los componentes basados en el consumo tienen un peso significativo, una pérdida del 2 % supone 1 millón de dólares al año. No se trata de un error de redondeo.
Las cinco causas fundamentales de la pérdida de ingresos en la facturación de SaaS
1. Pérdida de eventos durante la importación
Los eventos de uso se pierden. Los tiempos de espera de red, los desbordamientos de búfer ante picos de tráfico o los fallos de integración entre tus fuentes de eventos y tu plataforma de facturación: cualquiera de estos factores puede provocar que los eventos simplemente no lleguen al proceso de facturación.
La razón por la que esto resulta especialmente insidioso es que los eventos que se pierden no dejan rastro alguno. No hay ningún registro de errores que indique: «Hoy se han perdido 200 000 eventos». El proceso procesa lo que recibe y genera un resultado que parece correcto. Simplemente, sin que nadie se dé cuenta, se factura menos de lo que se ha consumido.
La solución consiste en una capa de mediación con almacenamiento en búfer persistente de eventos y confirmación de entrega. Cada fuente de eventos debería recibir un acuse de recibo por cada lote entregado. Si no se recibe ese acuse de recibo, la fuente vuelve a intentarlo. Si sí se recibe, se dispone de un registro que confirma que el evento se ha recibido. Se trata de la fiabilidad básica de los sistemas distribuidos aplicada a la facturación.
2. Inflación por eventos duplicados
El problema contrario. La inestabilidad de la red, los reintentos de las aplicaciones y los errores de integración generan eventos duplicados: la misma acción facturable se registra dos veces (o más) en el flujo de eventos. Si no se garantiza la idempotencia, ambas copias se consideran uso legítimo y generan sobrecostes.
El cliente se dará cuenta de esto antes que tú. Tiene todos los motivos para hacerlo. Y cuando un cliente descubre que le has cobrado de más, no se limita a solicitar un abono. Cuestiona todas y cada una de las facturas que le has enviado.
La aplicación de la clave de idempotencia en la fase de ingesta evita que esto ocurra. Cada evento debe incluir un identificador único (la clave de idempotencia), y la capa de ingesta debe rechazar cualquier evento cuya clave ya haya sido procesada. La implementación es sencilla; sin embargo, la mayoría de los equipos no logran aplicar esta medida de forma coherente en todas las fuentes de eventos.
3. Configuración incorrecta de la ventana de agregación
El contrato de tu cliente establece que se «facturará según el pico mensual». Tu sistema de facturación está configurado para calcular una media móvil de 30 días. Se trata de cifras diferentes, a menudo muy distintas en el caso de clientes con patrones de consumo muy variables, y esta discrepancia incumple lo establecido en el contrato.
Los errores en la ventana de agregación pasan desapercibidos hasta que alguien compara el contrato con la factura. Puede tratarse de un cliente que realiza su propia auditoría, de un responsable de control de gestión que se prepara para el cierre del ejercicio o de un equipo de compras de una empresa durante una negociación de renovación. Ninguno de esos es el momento adecuado para tener que dar explicaciones sobre un error sistemático en la configuración de la facturación.
Considera la configuración de la agregación como una cuestión de cumplimiento contractual, no como un ajuste técnico. Cada función de agregación de tu sistema de facturación (suma, recuento, valor máximo, media, percentil) debe corresponderse con una formulación concreta en el contrato de cada cliente y revisarse durante la configuración del contrato.
4. Eventos que se producen con retraso y no entran en el plazo de facturación
Los sistemas distribuidos no transmiten los eventos en tiempo real. Un evento que haya tenido lugar el último día del periodo de facturación podría llegar a tu sistema dos o tres días después. Si tu motor de tarificación cierra el periodo de facturación a medianoche del día 31 y este evento llega el día 3, o bien se descarta o bien se aplica al periodo equivocado.
Cuando el volumen de eventos es bajo, esto apenas tiene importancia. A gran escala, sobre todo en el procesamiento de registros de datos de llamadas (CDR) en el sector de las telecomunicaciones, los datos de sensores del IoT o las métricas de uso de SaaS de alta frecuencia, los eventos retrasados pueden representar un porcentaje nada desdeñable del uso total en un periodo.
Los períodos de gracia configurables se encargan de esto: un intervalo de tiempo definido tras el cierre del período de facturación durante el cual se aceptan los eventos retrasados, se calculan de forma retroactiva y se aplican al período correcto. Para ello, es necesario que el motor de tarificación admita el cálculo retroactivo. No todos lo hacen. Pregunta específicamente a los proveedores cómo gestionan esto.
5. Modificaciones del contrato a mitad de período aplicadas de forma incorrecta
Un cliente renegocia su plan de tarifas a mitad de mes. La nueva tarifa es más baja. Un sistema de facturación que no admite la tarificación por períodos parciales aplica la nueva tarifa con carácter retroactivo a todo el mes, lo que, en la práctica, supone que el cliente obtiene un descuento sobre el consumo que debería haberse facturado según la tarifa anterior.
O al revés: un cliente cambia a un nivel de consumo a mitad de período, y el sistema aplica la nueva tarifa (más alta) al consumo que tuvo lugar antes de la modificación, lo que genera un sobrecoste retroactivo que el cliente va a notar.
La tarificación por períodos divididos es una funcionalidad imprescindible: la capacidad de aplicar diferentes planes de tarifas a distintos intervalos de fechas dentro de un mismo período de facturación. Se trata de una funcionalidad fundamental para cualquier plataforma que preste servicio a clientes con contratos dinámicos, lo cual es el caso de la mayoría de ellas en el ámbito del SaaS empresarial.
Diagnóstico de las pérdidas de ingresos en la facturación de SaaS que ya tienes
Si no estás seguro de si tienes un problema de pérdida de ingresos, aquí tienes un punto de partida:
- Selecciona una muestra de facturas de la empresa y compara los importes facturados con el recuento bruto de eventos que figura en los registros de tu aplicación. ¿Se pueden conciliar las cifras?
- Comprueba si tu sistema de facturación realiza un seguimiento de la confirmación de entrega de los eventos —no solo «evento recibido», sino «evento confirmado y almacenado»—. Si no es así, no tendrás forma de saber si se están perdiendo eventos.
- Busca un contrato de cliente que incluya una cláusula de agregación de picos o de consumo máximo. Obtén el importe facturado y los datos brutos de consumo correspondientes a un periodo reciente. Calcula cuál fue realmente el pico. ¿Coincide con lo facturado?
- Analiza cómo gestiona tu sistema de facturación las modificaciones que se producen a mitad de mes. Elige un cliente que haya cambiado de plan a mitad de periodo y revisa la factura para ver qué tarifa se le aplicó y cuándo se aplicó la fecha de corte.
Si alguna de estas comprobaciones revela una discrepancia, se trata de una fuga sistemática, no de un error puntual.
El requisito de la pista de auditoría
La única forma de detectar, diagnosticar y corregir las pérdidas de ingresos es disponer de un registro de auditoría completo: la capacidad de rastrear cualquier partida de una factura hasta los hechos concretos que la generaron.
Esto significa que, para cada línea de factura, puedes ver la cantidad de consumo agregada, la versión del plan de tarifas aplicada, la fecha y hora de la ejecución de la tarificación y los eventos individuales que han dado lugar a la agregación. Si falta algún eslabón de esa cadena, no podrás diagnosticar una discrepancia, no podrás defender tu postura sobre el reconocimiento de ingresos ante los auditores y no podrás resolver con seguridad una reclamación de facturación de un cliente.
Pide a tu plataforma de facturación actual que te muestre esta cadena para cualquier línea de factura, en tiempo real, en el sistema actual. Si la respuesta es «tendríamos que extraer esa información de los registros» o «eso requeriría una exportación de datos», el registro de auditoría no es lo suficientemente completo para un negocio basado en el uso a gran escala.
Qué hace realmente una capa de mediación completa
La mayoría de estos modos de fallo son problemas de mediación. En concreto, fallos en la capa situada entre las fuentes de eventos sin procesar y el motor de calificación. Una capa de mediación completa realiza cinco funciones:
- Almacenamiento en búfer persistente de eventos. Cualquier evento que entre en el sistema se almacena antes de que comience su procesamiento. Si se produce un fallo durante el procesamiento, el evento no se pierde, ya que ya se encuentra en el disco.
- Confirmación de entrega y reintento. La capa de mediación envía un acuse de recibo a cada fuente. Si ese acuse de recibo no llega, la fuente vuelve a intentarlo, y el sistema de facturación se encarga del duplicado.
- Aplicación de las claves de idempotencia. Las claves de idempotencia se comprueban en el momento de la ingesta. Los duplicados se detectan antes de que lleguen al motor de valoración, y no después de que ya hayan sido valorados.
- Gestión de eventos atrasados. Un plazo de gracia configurable tras el cierre del periodo de facturación permite aceptar eventos atrasados y aplicarlos con carácter retroactivo al periodo correcto. No al siguiente.
- Registro de eventos inmutable. Cada evento sin procesar se conserva de forma permanente, independientemente del procesamiento posterior, las correcciones o las revisiones de calificación. Si eliminas ese registro, perderás la capacidad de responder a la próxima pregunta de la auditoría.
Preguntas frecuentes
¿Qué es la pérdida de ingresos en la facturación de SaaS?
La pérdida de ingresos es la diferencia entre lo que tus clientes se comprometieron a pagar y lo que factura tu sistema de facturación. Puede producirse debido a eventos de consumo no registrados, eventos duplicados que se anulan entre sí, una lógica de agregación incorrecta, eventos tardíos que quedan fuera del plazo de facturación o cambios en el contrato a mitad de período aplicados a un intervalo de fechas erróneo. A diferencia de los errores de precios, la pérdida de ingresos pasa desapercibida: no genera quejas de los clientes, por lo que a menudo persiste durante meses o años.
¿Cuáles son las causas más habituales de la pérdida de ingresos?
Las causas más habituales son: la pérdida de eventos entre tu aplicación y el sistema de facturación, especialmente durante fallos de red o reinicios de la infraestructura; eventos duplicados que no se detectan antes de que se ejecuten los cálculos de tarifas; una lógica de agregación incorrecta, como facturar el consumo medio cuando el contrato especifica el consumo máximo; eventos que llegan tarde y quedan fuera de la ventana de facturación; y cambios en el plan de tarifas a mitad de período que se aplican con carácter retroactivo a todo el período, en lugar de dividirse correctamente en la fecha de modificación.
¿Qué es una capa de mediación y por qué evita la pérdida de ingresos?
Una capa de mediación es la infraestructura situada entre las fuentes de eventos sin procesar y el motor de valoración. Evita la pérdida de datos mediante el almacenamiento persistente de eventos en búfer (los eventos se almacenan antes de su procesamiento, de modo que los fallos que se produzcan durante el mismo no provoquen su pérdida), la confirmación de entrega con reintento (se confirma la recepción de las fuentes y se vuelve a intentar el envío de los eventos no confirmados), la aplicación de la idempotencia (los duplicados se detectan antes de que lleguen al motor de valoración) y la gestión del periodo de gracia para los eventos retrasados. Sin ella, cualquier fallo en el proceso (interrupción de la red, reinicio del servicio, desbordamiento del búfer) provoca la pérdida permanente de eventos.
¿Cómo se detectan las pérdidas de ingresos en un sistema ya existente?
Empieza con una conciliación de muestra: extrae los recuentos brutos de eventos de los registros de tu aplicación correspondientes a un periodo de facturación representativo y compáralos con lo que ha registrado el sistema de facturación. Cualquier diferencia supone una pérdida inexplicable. A continuación, comprueba la lógica de agregación: elige un cliente con una cláusula de pico o de nivel máximo, calcula cuál fue realmente el pico a partir de los datos brutos y compáralo con lo que se facturó. Por último, identifica a los clientes que cambiaron de plan a mitad de periodo y verifica que el desglose de tarifas se aplicó correctamente en la fecha adecuada.
¿Qué es una clave de idempotencia y por qué es importante para la facturación?
Una clave de idempotencia es un identificador único asociado a cada evento de uso por parte del generador del evento, que se mantiene estable en los reintentos. El sistema de facturación la utiliza para detectar y descartar envíos duplicados: si una clave ya se ha visto antes, el evento se descarta. El productor debe generar la clave antes del primer envío; una clave creada en el momento de la recepción es siempre una clave nueva, lo que significa que los reintentos nunca se reconocen como duplicados. Debe almacenarse de forma duradera en el sistema de facturación durante, al menos, la duración de la ventana de reintentos más larga prevista.
Para consultar la guía completa para profesionales sobre medición y clasificación, visita billingplatform.com/metering-and-rating.
Véase también: Deduplicación de eventos en la facturación | Cómo funcionan los motores de tarificación: una guía técnica | ¿Qué es la mediación de facturación? | Tarificación basada en fórmulas: cuando las consultas por niveles no son suficientes | Cómo evaluar una plataforma de medición y tarificación