Farmacias Peruanas es el retailer especializado en farmacias y boticas más grande del Perú. La compañía maneja las dos marcas top of mind de la industria: Inkafarma y Mifarma. Parte del grupo Intercorp, la compañía cuenta con más de 20,000 colaboradores que trabajan en más de 3,000 puntos de venta en costa, sierra y selva.

 

Dos marcas, dos servidores

Los más de 3,000 puntos de venta que congregan las marcas Inkafarma y Mifarma diariamente generan información relevante sobre ventas y, en general, patrones de consumo de sus clientes. Así, levantan a diario información por regiones en distintas bases de datos que finalmente se concentran en un par de servidores. El problema de todo esto para el cliente era de que si bien es cierto recogían la información con mediana tranquilidad, era difícil de analizar porque venían precisamente de manejar grandes volúmenes que apenas conseguían concentrar (y con horas de desfase), pero les tomaba más de un día el generar insights a partir de su información.

El hecho de que la data generada por ambas cadenas se albergue en dos servidores diferenciados se explica por el hecho de que Mifarma había sido recientemente adquirida por Intercorp, holding empresarial peruano que posee la propiedad de Inkafarma. En consecuencia, la integración de la data tanto de Inkafarma como de Mifarma se presentó como todo un reto.

Las fuentes de datos para ambas marcas, Inkafarma y Mifarma, eran las ventas de las farmacias ubicadas a nivel nacional. En el caso de Mifarma, la data se concentraba en una base de datos Oracle; Inkafarma lo hacía a través de un data center de IBM. En ese sentido, la necesidad de Farmacias Peruanas era analizar dicha data lo más pronto posible antes del ‘siguiente día’ para poder, a partir del análisis de las ventas, tomar decisiones de gestión el ‘día previo’.

Antes de que el cliente llegue a Xertica, el proceso en mención era lento: la información demoraba entre dos y tres días y luego de alrededor de una semana se tomaba la decisión. Con la integración de las operaciones de ambas marcas, el riesgo de que el tratamiento de datos se vuelva aún más lento crecía.

 

Iniciando la migración

La información que se extrajo de ambos servidores era esencialmente de ventas. La migración incluyó entre las dos marcas alrededor de 200 tablas, algunas maestras y otras transaccionales de la venta del día. Se subió información desde el 2015, con el fin de contar con un sólido historial. 

Los insights que se sacaban de dichos servidores totalizaban la venta diaria, generaban comparaciones año a año, entre otros. Toda esa lógica estaba en código PL/SQL de Oracle. Para poder aprovechar las facilidades de la nube, Xertica utilizó Big Query de Google Cloud Platform (GCP). En consecuencia, se tradujo el código PL/SQL a SQL de BigQuery.

Todas las tiendas mandan información a una base de los concentradores de Oracle. Con el uso de GCP, la extracción se hace directamente de las fuentes de datos a través de una conexión VPN (Virtual Private Network). Una vez que se termina de extraer la información diaria, se da lugar al proceso ELT (Extract, Load, Transform) a través de la herramienta Matillion de GCP, que viene y empieza a subir la información y la traslada directamente a BigQuery cruda como tabla temporal intermedia. Una vez que la información es subida por completo, se inicia todo el proceso y se llega a las tablas finales que Farmacias Peruanas requiere para sus insights.

 

Menor tiempo de procesamiento, más insights

Cuando se hizo todo este ajuste, el resultado final fue que todos estos procesos de ambas marcas que, adicional a los cálculos de ventas, sumó también nueva data sobre stocks y ventas generadas a través del canal online, el proceso empezó a correr a partir de las 3 am todos los días y terminaba a las 5:30 am, con lo cual al amanecer ya tienen los insights del día anterior en time-to-market.

El componente diferencial del proyecto liderado por Xertica fue el uso de la herramienta BigQuery de GCP como base de datos para análisis de grandes volúmenes de información Este fue el principal componente que hizo la diferencia entre lo que se tenía anteriormente (bases de datos Oracle) versus lo que BigQuery puede ofrecer a nivel de tiempo de respuesta y volúmenes de información procesada. En actualidad, todos estos volúmenes de millones de registros, ahora son procesados en un tiempo muy breve en relación con el antiguo.