← Portafolio
Propietario

El primer sistema recomendador de Bci

Rubro
Banca
Tipo de trabajo
Sistemas de recomendación
Período
2016

Arquitectura

Objetivo

Probar si el historial de compras alcanzaba para recomendarle a cada cliente rubros y comercios relevantes, como base común para varios usos posibles: un asistente para clientes, beneficios y búsqueda.

Lo que hice

  • Diseñé e implementé todo el sistema. Fue el primer recomendador del banco y llegó a piloto.
  • Saqué de Teradata las tuplas cliente-rubro y cliente-comercio, con un puntaje de compras normalizado por la actividad total del cliente y del rubro.
  • Entrené filtrado colaborativo con feedback implícito (ALS) en Spark, en un batch diario, ajustando regularización, iteraciones y alpha.
  • Recomendé comercios solo dentro de los rubros top de cada cliente, para manejar la alta cardinalidad de tiendas.
  • Dejé las recomendaciones precalculadas en un store y las expuse por una API REST interna (top N, re-ranking de una lista y filtro por distancia), sin consultar Spark en línea.

Stack

SparkPySparkALSTeradataPythonREST