Cómo modelamos el riesgo de bloqueo de SMS antes de que ocurra.
Autores | Ing. Aaron Santiago Pedraza — Data Intelligence |
Publicado | IPCOM Labs |
Lectura | 7 minutos |
El problema que nadie documenta bien.
En el ecosistema de mensajería A2P (Application-to-Person), los proveedores de telecomunicaciones bloquean senders de forma reactiva: primero llegan las quejas, después viene el bloqueo, y entonces el cliente pregunta por qué sus SMS dejaron de entregarse. El daño reputacional y operativo ya ocurrió.
La cuestión no es cómo responder a un bloqueo. Es cómo estimar el riesgo de bloqueo antes de que el carrier lo ejecute, con suficiente anticipación para actuar. Eso es lo que modela el Sender Risk Score.
Principios de diseño.
- Explicable y auditable: cada componente del score es interpretable de forma independiente.
- Basado en reglas observadas empíricamente en el ecosistema telco (AT&T, Telcel, Movistar y equivalentes).
- Combinación de Machine Learning para contenido y reglas determinísticas para comportamiento de envío.
- Todas las variables normalizadas a escala 0–100 para composición uniforme.
- Extensible: diseñado para incorporar nuevas señales (URLs, dominios, historial de quejas) sin rediseño del modelo base.
Formato | Estructura | Jerarquía | Orientado a tabla |
JSON | Objetos { } y arrays [ ] | Sí | No |
Pretty JSON | Objetos {} con indentación | Sí | No |
CSV | Filas y columnas | No | Sí |
TOON | Bloques key:value propios | Sí | No |
Las tres variables del modelo.
C — Score de Contenido (peso: 60%).
Evalúa el riesgo del contenido del SMS mediante un modelo de clasificación entrenado para detectar mensajes potencialmente fraudulentos, phishing, estafas o contenido malicioso. El modelo retorna una probabilidad que se escala directamente:
P ← modelo_clasificador(texto_sms) # probabilidad [0, 1] C = P × 100 # escala [0, 100] |
El peso del 60% refleja que el contenido es el factor principal que los carriers usan para identificar spam. Un mensaje con lenguaje de phishing claro es bloqueado independientemente del volumen de envío.
R — Score por Repetición de Contenido (peso: 20%).
Evalúa el riesgo asociado a la repetición del mismo mensaje dentro de un mismo sender. La observación empírica establece tres zonas de comportamiento:
Mensajes idénticos (n) | Comportamiento | Score R |
n ≤ 40 | Normal — dentro del rango aceptable | 0 |
40 < n < 50 | Zona de riesgo — escalada lineal | (n − 40) / 10 × 100 |
n ≥ 50 | Riesgo máximo — saturación del modelo | 100 |
El rango crítico es de 10 mensajes (40–50). La normalización lineal en ese intervalo evita escalones abruptos en la puntuación y facilita la interpretación por parte de los operadores.
V — Score por Velocidad de Envío (peso: 20%).
Evalúa el riesgo asociado al throughput de mensajes por minuto desde el mismo sender. Hasta 100 mensajes/minuto el comportamiento es aceptable; por encima de ese umbral el riesgo crece linealmente y se capea en 100:
V = 0 si m ≤ 100 V = min(100, (m − 100) / 100 × 100) si m > 100 |
El umbral de 100 msg/min surge de la observación de patrones de bloqueo en los carriers evaluados. Es configurable por entorno sin modificar la estructura del modelo.
Composición del score final.
Tabla de ponderación.
Variable | Símbolo | Peso | Descripción |
Contenido | C | 60% | Modelo ML de clasificación de intención maliciosa |
Repetición | R | 20% | Mensajes idénticos emitidos por el mismo sender |
Velocidad | V | 20% | Mensajes por minuto desde el mismo sender |
Fórmula.
SenderRisk = 0.6 × C + 0.2 × R + 0.2 × V # Resultado: valor entero en el rango [0, 100] |
Los pesos reflejan la importancia relativa empíricamente observada de cada señal en las decisiones de bloqueo de los carriers. Son ajustables mediante validación histórica con datos propios de IPCOM.
Interpretación del score.
Rango | Nivel | Acción sugerida |
|
0 – 30 | Bajo riesgo | Envío normal sin restricciones |
|
31 – 60 | Riesgo medio | Monitoreo pasivo; revisión periódica |
|
61 – 80 | Alto riesgo | Alerta activa; limitación de volumen |
|
81 – 100 | Muy alto riesgo | Bloqueo preventivo probable |
|
Reglas duras (Hard Rules).
Condición | Acción | Razón |
P(contenido malicioso) ≥ 0.95 | Bloqueo automático inmediato | Certeza suficiente sin contexto adicional |
R = 100 y C > 70 | Bloqueo preventivo | Repetición extrema con contenido sospechoso |
V = 100 sostenido | Rate limiting activo | Throughput de botnet independiente del contenido |
Las Hard Rules complementan el score; no lo reemplazan. Su función es actuar en los casos extremos donde la ponderación compuesta introduciría latencia innecesaria en la decisión.
Extensiones previstas.
El modelo está diseñado para incorporar señales adicionales sin rediseño estructural. Las extensiones de mayor impacto proyectadas son:
- Reputación de URL/dominio incluido en el mensaje (integración con feeds de threat intelligence).
- Historial de quejas del sender en ventana deslizante de 30 días.
- Ratio de entrega vs. fallo por carrier — señal de bloqueo silencioso ya activo.
- Análisis de variación léxica: senders que rotan levemente el texto para evadir el score R.
Cada extensión añade un nuevo componente con su propio peso, reequilibrando la ponderación total. El diseño modular lo permite sin reentrenar el componente de contenido.
Por qué esto importa más allá del spam.
El bloqueo de SMS en el ecosistema A2P no es solo un problema técnico. Es un problema de confianza entre el remitente, el carrier y el destinatario. Los carriers no publican sus criterios exactos de bloqueo — y no van a hacerlo. Un modelo de riesgo interno, construido sobre observaciones empíricas del ecosistema, es la única forma de anticiparse a sus decisiones.
Para IPCOM, como operador CPaaS, esto tiene implicaciones directas en la calidad de servicio ofrecida a clientes que dependen de SMS transaccionales — OTPs, notificaciones críticas, confirmaciones de compra. La diferencia entre un score predictivo y la ausencia de uno es la diferencia entre prevenir un bloqueo y explicar por qué dejaron de llegar los mensajes.

