Cálculo de distancia con la ley de cosenos esférica para detectar fraude en el comercio electrónico
Este artículo explica cómo calcular la distancia de círculo máximo entre dos puntos de latitud y longitud con la ley de cosenos esférica. Después, muestra cómo incorporar ese cálculo en un motor de decisiones para verificar clientes, definir geocercas y detectar fraude en el comercio electrónico. Encontrará la ecuación, los pasos de implementación, una comparación con Haversine y las diferencias de precisión en distancias cortas y largas.
La ley de cosenos esférica permite tomar decisiones a partir de coordenadas geográficas. En este artículo, verá cómo incorporar la fórmula en un motor de decisiones y usar la distancia calculada para verificar clientes, definir geocercas y detectar fraude en el comercio electrónico. Siga la guía para empezar.
Introducción a la ley de cosenos esférica
La ley de cosenos esférica calcula la distancia sobre la superficie de una esfera a partir de la latitud y la longitud de dos puntos. En un motor de decisiones, ese valor puede utilizarse cuando un flujo de decisiones procesa coordenadas geográficas.
Ley de cosenos esférica y Haversine: comparación de fórmulas de distancia sobre una esfera
La fórmula de la ley de cosenos esférica calcula distancias con menos precisión que la fórmula de Haversine, sobre todo cuando los puntos están muy separados. Aun así, se usa con frecuencia porque su ecuación es más sencilla de implementar y no requiere la función atan2. Si necesita mayor precisión en el cálculo de distancias, utilice la fórmula de Haversine.
Fórmula de la ley de cosenos esférica
La fórmula general de la ley de cosenos esférica es:
distance = acos(sin(φ1) * sin(φ2) + cos(φ1) * cos(φ2) * cos(λ2 - λ1)) * R
distance es la distancia entre los dos puntos. φ1 y φ2 son sus latitudes, y λ1 y λ2, sus longitudes. R es el radio de la esfera, en este caso, el de la Tierra. Puede usar cualquier valor para el radio terrestre. Una opción habitual es 6371 km o 6371000 metros.
Implementación de la ley de cosenos esférica en un motor de decisiones
Para usar la ley de cosenos esférica en un motor de decisiones, este debe ofrecer funciones matemáticas como arccos, sin y cos. Decisimo es un ejemplo. Si utiliza otro motor de decisiones, revise qué funciones matemáticas ofrece antes de comenzar la implementación.
Guía paso a paso para implementar la ley de cosenos esférica
Siga estos pasos para implementar la ley de cosenos esférica en un motor de decisiones:
- Convierta cada latitud y longitud de grados a radianes. La fórmula de la ley de cosenos esférica utiliza radianes, no grados. Aplique esta conversión:
- radianes = grados * (π / 180)
- Defina una función que reciba la latitud y la longitud de ambos puntos y devuelva la distancia entre ellos. Este es un ejemplo de cómo podría verse la función:

- En la función, indique la latitud y la longitud de los puntos A y B. Durante la ejecución del flujo de decisiones, esos campos pueden recibir los valores correspondientes.
- Utilice la función en la parte pertinente del flujo de decisiones para calcular la distancia entre los dos puntos. Por ejemplo, una regla puede comprobar si la distancia supera un umbral o seleccionar el punto más cercano a un tercer punto.
Cálculo de distancias para verificar clientes
La distancia entre dos puntos puede ayudar a determinar la ubicación de un cliente en distintos tipos de controles.
Por ejemplo, compare las coordenadas geográficas del teléfono móvil de un cliente con la ubicación de un punto de venta de préstamos. Así puede comprobar si el cliente se encuentra físicamente allí. Este es un uso de las geocercas: los servicios financieros solo se ofrecen dentro de un área definida y se rechazan las solicitudes de préstamo que provienen de fuera de esa zona.
Cálculo de distancias para detectar fraude en el comercio electrónico
En el comercio electrónico, calcule la distancia entre la dirección que declara un cliente y una ubicación obtenida de datos técnicos indirectos, como una dirección IP, u otros datos indirectos de geolocalización. Una gran diferencia entre ambas ubicaciones puede ayudar a identificar una transacción posiblemente fraudulenta.
Por ejemplo, una dirección IP puede ubicar a un cliente en un país, mientras que la distancia entre la dirección declarada y la ubicación calculada a partir de la IP es mucho mayor de lo esperado. Esa diferencia puede indicar que la ubicación real del cliente no coincide con la que declaró. Si se combina con otras técnicas de detección de fraude, puede ayudar a proteger a las empresas de transacciones fraudulentas.
Preguntas frecuentes
¿Qué umbral de distancia conviene usar para comparar una dirección de comercio electrónico con la ubicación de una IP?
Defina el umbral con base en los resultados de sus transacciones etiquetadas y separe los resultados por fuente de geolocalización o región cuando la precisión varíe. La ubicación por IP puede ser imprecisa, por lo que una distancia grande justifica solicitar una verificación adicional, pero no demuestra por sí sola que haya fraude. Elija el umbral equilibrando el fraude no detectado con los clientes legítimos que se envían a revisión.
¿Cuándo conviene usar Haversine en lugar de la ley de cosenos esférica?
Use Haversine cuando necesite resultados confiables para distancias muy cortas o cuando pequeños errores numéricos puedan cambiar una decisión. La ley de cosenos esférica es una alternativa más sencilla para calcular distancias de círculo máximo en general, pero ambas fórmulas consideran que la Tierra es una esfera. Ninguna calcula la distancia por carretera ni puede precisar una ubicación incierta basada en una IP.
¿Qué debe validar antes de usar coordenadas en una regla de distancia?
Compruebe que ambas coordenadas estén presentes, sean numéricas y se encuentren dentro de los rangos válidos de latitud y longitud. Luego, convierta los grados a radianes antes de aplicar la fórmula. Trate las coordenadas faltantes o no válidas como un resultado distinto, no como cero ni como una ubicación cercana. También limite el valor que se pasa a arccos a su rango válido, ya que el redondeo puede dejarlo ligeramente fuera de ese rango.
¿Cómo probar una regla de distancia antes de publicarla?
Pruebe pares de coordenadas conocidos, puntos a ambos lados del umbral, puntos idénticos y valores faltantes o fuera de rango. Compare las distancias calculadas con una referencia independiente y luego vuelva a procesar transacciones etiquetadas para medir con qué frecuencia la regla marcaría a clientes legítimos y casos de posible fraude. Conserve los casos de prueba junto con la tabla de decisiones o el conjunto de reglas para comprobarlos ante futuros cambios de política.