Machine Learning y BI: entrevista con Armando Ytriago

Cencommerce
10 min readDec 6, 2022

--

En la Cuarta Revolución Industrial, los datos son el combustible que permite a las empresas navegar las complejas decisiones del mercado actual. En Cencommerce, ocupamos el mismo combustible para mejorar la experiencia de nuestros clientes y ayudar a nuestra área de negocio a tomar mejores decisiones. Conversamos con Armando Ytriago, Tech Lead de nuestro equipo, para profundizar sobre las tecnologías y técnicas que utilizamos para conseguir estos objetivos.

Armando es Ingeniero en Informática, especializado en datos (on premise y cloud), destacando su amplia experiencia en integración, procesamiento y análisis de datos, posee una fuerte inclinación a construir, integrar y automatizar soluciones tecnológicas en diversas ramas de negocios.

¿Cómo definirías Business Intelligence?

Defino BI de la siguiente manera: es una serie herramientas, técnicas, reglas de negocio, y procesos, que se combinan para darle sentido a la información, y ayudar en la creación de estrategias y toma de decisiones. Anteriormente, se usaba sólo para la toma de decisiones ya mencionada, porque la data era muy acotada, pero hoy día se puede determinar y clusterizar los tipos de información, incluso darles cierto segmento y enfoque. Va más allá de la inteligencia de negocio, metiéndose en el mundo psicológico de las personas para determinar comportamientos, esto con el apoyo de la big data.

¿Y qué tecnologías utilizan para sus labores?

Normalmente el Business Intelligence o BI usa cualquier herramienta (risas). O sea, hay personas que usan muchísimo herramientas muy avanzadas, otras muy básicas, pero cualquiera te puede servir. Creo que está muy sujeto a la creatividad y a lo que tienes como objetivo. Por ejemplo, Excel: yo puedo hacer mil y un cosas para sacar cierta información, lo único que te limita es la cantidad de datos, así que realmente puedes hacer inteligencia con eso. Pero cuando hablamos de grandes cantidades de datos dentro de una organización, en ocasiones, existe un área específica que te ayuda a la explotación del dato, que puede incluir visualizadores, bases de datos y otros procesos de transformación de datos. Entonces, si hablamos de herramientas, tenemos muchas, y va a depender de la técnica que apliques dentro de la solución. Inclusive tú puedes usar solamente una base de datos y hacer consultas SQL, y sólo con eso podrías conseguir hacer inteligencia de datos, quizás no tan eficiente como en un visualizador, porque la diferencia que hay entre una consulta SQL y un visualizador es que en la última vas viendo en forma gráfica cómo se comportan los datos. Quizás una forma es más rápida, otra más lenta, pero siempre llegas al resultado.

Esas son las tecnologías que normalmente se estaría operando en una organización. Bueno, eso sin hablar que por debajo también existen muchos procesos y despliegues tecnológicos de infraestructura. Cuando la compañía quiere un área BI necesita tener por debajo herramientas de procesamiento de datos, herramientas que hagan extracción de la data fuente, transformación de la data, y que las cargue hacia una base de datos analítica, para su consumo.

¿Qué perfiles buscan para manejar estas tecnologías y técnicas?

Anteriormente se buscaba mucho perfiles como analista de datos, analista BI, en especial el Data Analytic y el Ingeniero de Datos, que en su momento era como el desarrollador de TI. Actualmente, como han salido muchísimas formas y muchas técnicas para hacer inteligencia con los datos, seleccionamos personas con varios perfiles. El mundo se ha dado cuenta que una sola persona o dos personas no pueden manejar esto.

En la actualidad se deben considerar distintos perfiles, distintas formas de trabajar el dato y distintas formas de manejar la información. Hay roles que están enfocados en limpiar el dato y procesarlo, tales como el ingeniero de datos. Hay otros que le dan sentido al dato para que tú puedas verlo y crear inteligencia con él, como la analítica, y existen otro roles que le dan más profundidad a los datos, para poder crear decisiones o grandes estrategias a grandes escalas.

Imagínate, estamos hablando de miles y miles de cantidades de gigas de datos, de peta bytes, datos que tú ni siquiera puedes mantener en tus propios servidores, tienes que ir a la nube. Entonces ahí es donde empiezan a aplicar las técnicas de modelo de Machine Learning, que más adelante podemos hablar un poco de ello, pero que ahí intervienen. Son los científicos de datos los que empiezan a identificar patrones que ayuden a que el modelo sea eficiente.

No puedo olvidar los Data Ops, que hoy día es un un rol que ha sido muy relevante, ya que cuando las organizaciones arman un departamento de datos, son ellos quienes asumen la parte de infraestructura y de servicios, y entienden cómo se comporta el cómputo en el procesamiento de datos. Y sí, tiene similitud a una herramienta Backend, pero no tiene el mismo comportamiento, un developer que trabaja un backend tendría que analizar y estudiar un poco más el comportamiento de cómo se trabajan los datos en este tipo de área para poder entrar en ese mundo.

¿Podrías hablar un poco más sobre la infraestructura necesaria para hacer BI?

Es un poco de lo que hablaba del Data Ops. Hay mucha, mucha tecnología involucrada, y muchas técnicas, ya que no basta con tener el dato, necesitamos técnicas para la interpretación. Está la técnica de cómo procesar el dato, hasta la técnica de cómo asegurarte que el dato llegue bien. Están todos esos procesos que te ayudan y van orientándote a mejorar la calidad del dato, inclusive para que las personas puedan hacer modelos de Machine Learning.

Todo ese tipo de cosas, inclusive BI, tienen que tener una plataforma muy sólida. Hoy día contamos con mecanismo de ELT, es decir, Extracción, Carga y Transformación, que son mecanismos para trabajar el dato.

Lo otro es cómo vas a automatizar el procesamiento. No solamente estamos hablando de que yo busco un dato y lo consigo, un factor importante es el tiempo, los datos son fotos en un momento dado, series temporales que vas tomando sucesos que han ocurrido en ese escenario, así que una de las cosas que tienes que siempre estar haciendo es buscar información recurrente para un periodo de tiempo. Y eso ocurre tanto en las bases de datos relacionales como no-relacionales. Para evidenciar qué pasó en ese momento del tiempo, tú usas procesos scheduleados que te ayuden a tomar ese tipo de escenario, y que vayan y busquen data de manera automática.

Otro concepto muy interesantes que se trabaja en infraestructuras de datos son los datalake, es un concepto muy interesante, ya que por debajo hay tecnología basada en la nube que se utiliza para soportarlo. Hoy día nos apoya mucho el almacenamiento en la nube, en especial transferir el dato y llevarlo a un data warehouse, una base de datos analítica que nos da bastante agilidad en el cómputo. Anteriormente nosotros teníamos las herramientas de ETL en una arquitectura on-premise y teníamos que darle el costo completo al negocio. Pero gracias a la nube ya no es necesario, sólo pagamos un “pedacito de máquina”, y si quiero más, pago más, para poder escalar, y esto sale más económico que manejar nuestras propias máquinas on-premise, incluyendo las licencias de software. Es así de sencillo: “yo quiero un pedacito de máquina para correr mi proceso, y cuando termina, se muere la máquina y deja de cobrarse el servicio”. El concepto de la nube está muy bien ajustado con las necesidades actuales.

Son herramientas que están para apoyarnos, son los procesos que por debajo hacen esta magia, de llevarte el dato de manera automatizada a la base de datos para que tú los puedas consumir. Es muy interesante este momento.

¿Cómo se integra el Machine Learning en todo esto?

Mira, el Machine Learning viene a ayudarnos un poco, darle un poco más de sentido a las grandes cantidades de datos, porque realmente se usan grandes volúmenes de datos para entrenar modelos y que tomen decisiones por nosotros. Este modelo o algoritmo lo que hace es tomar muchos datos y crea conocimiento y experiencia para tomar decisiones. Él no necesita tener a personas para hacer predicciones, solo requiere de ingeniería de datos, e historia de datos de diversos escenarios para determinar ciertos patrones para realizar predicciones. Por ejemplo, en Isapres, el tema de las licencias médicas. O en el retail con el tema de aprobar o no aprobar una tarjeta de crédito a una persona. Hay criterios ya demostrados que funcionan, entonces, lo que tú construyes es un modelo que te ayude a ver si esa persona tiene o no capacidad para recibir un crédito o aprobarle una licencia médica.

En la actualidad hay muchos tipos de Machine Learning, tales como los supervisados, los no supervisados, el reforzado, entre otros.

¿Qué tipo de complejidades enfrentan usualmente el día a día?

Una de las complejidades que vivimos es el tema del match entre lo técnico y el negocio. Esa es la complejidad más grande porque, claro, nosotros queremos fabricar tecnología para satisfacer las necesidades del negocio, pero a veces el negocio lo que necesita es un Excel (risas). Un técnico quiere ir más allá, y quiere tener cosas más automatizadas y quiere crear cosas más avanzadas para el usuario final. El usuario del negocio no quiere ir tan allá porque a lo mejor con cosas más simples genera valor, pero ojo, que igual la tecnología o las grandes empresas han demostrado que eso no es tan así, muchas empresas de delivery, ventas en linea, entre otras, han demostrado que las técnicas de Machine Learning son muy buenas y dan bastante efectividad.

Así que yo creo que tenemos que ir madurando nosotros, ir dejando el temor de hacer cosas más grandes y no quedarnos sólo con el visualizador y con el Excel, e ir pensando en cosas más innovadoras. Eso es lo más complejo que hay, cómo llegar a esas personas para darles a entender las oportunidades o ideas que podemos probar, para crecer y seguir evolucionando.

Ese es el punto más desafiante. Hoy día te puedes encontrar con el ingeniero de datos, que su función es procesar datos. Te vas a encontrar con el analítico, que te analiza los datos ¿Pero qué pasa? Muchos de ellos no conocen qué es lo que pasa por debajo. Entonces hay un vacío que se está cubriendo con el rol de Data Ops, que une el mundo del procesamiento de datos junto con el conocimiento de datos, es como tomar un Data Engineer, meterle conocimientos de Dev Ops, y meterle conocimiento de analítica avanzada. Todo un sólo rol para que ayude y entienda cómo tiene que funcionar esto para darle un buen servicio a ese equipo y soportarlo.

Entendiendo esas complejidades ¿cómo desarrollar formas de trabajo que sean sustentables? Digamos ¿qué soluciones tenemos ante esas dificultades?

Lo que estamos haciendo son pruebas de concepto, y tratando de sacarlas al ecosistema de la empresa para que vean que existen, que funcionan y que son eficientes. Hoy día tenemos ese desafío, y lo enfrentamos poco a poco. Además de entregar productos, existen otros desafíos importantes, como actualizar las features, asegurar las actualizaciones en las áreas, y siempre estar pendiente de nuevas tendencias que aporten a las mejoras.

Por ejemplo, ver que un proceso ETL esté funcionando bien, la herramienta no tenga problemas, que no tenga fallas de seguridad, que las versiones que vas a entregar con nuevos componentes ayuden a facilitar más la integración a otros ecosistemas, entre otros. Esas son las cosas que ayudan a que se mantenga la innovación, que sea sustentable, mantener el monitoreo es importante en el ecosistema de datos, porque al no llegar un dato, la persona no tiene cómo hacer inteligencia. Y al no tener inteligencia, no se tiene estrategia, y cuesta más tomar decisiones y las incertidumbres incrementan. Entonces, una de las cosas que siempre tenemos que estar viendo son los datos. Monitorear el dato, y no sólo el dato, el proceso y la infra también.

Lo otro es que sabemos que en todo equipo hay deuda técnica. Las deudas técnicas del equipo de datos son de tres tipos: de infra, de proceso, y de datos, porque no solamente estamos hablando de deuda técnica tipo “arreglar un feature de seguridad”, sino que hablamos de infraestructura, o de arreglar un proceso ETL que tiene una latencia muy alta o que está muy lento. Sobre todo tenemos deuda técnica de datos, como por ejemplo, una fórmula mal seteada o un cambio de ley, que provoca que tengas que modificar el dato. Entonces, no tenemos que dejar que esta deuda se acumule, sino ir arreglándola para mantener datos eficientes y nutritivos para el ecosistema.

Por último, si trabajas con la nube, es importante que conozcas el precio del cómputo, y cómo se maneja. Es importante mantener los costos bien controlados. Es difícil, pero es una de las cosas que te va a quitar dolores de cabeza en el futuro. Hablo de que una automatización mal puesta, créeme, la cantidad de dinero que se te va a salir es una locura. He presenciado escenarios donde se ha gastado hasta 2 mil dólares en dos minutos en una query (risas). He escuchado que personas mal intencionadas se han filtrado para minar bitcoins en máquinas que… bueno, le han generado $10,000 dólares solamente en dos horas. Es una locura, hay que tener cuidado con la nube. Siempre ten cuidado. Es muy buena, es muy eficiente. Te ayuda a ahorrar costos, pero hay que estar bastante seguro.

Como recomendación, dentro de Cencosud siempre buscamos mantener todo dentro de nuestra red, nunca sacar o exponer nada hacia afuera. Nos apoyamos bastante con el equipo de seguridad y es lo que yo le diría siempre al equipo de datos. Nosotros no tenemos conocimientos de seguridad. Es bueno adquirirlo, por lo menos la base, pero siempre ayúdate y sé aliado de tu equipo de Seguridad y de Observabilidad. Ayuda a estar tranquilo y dormir en paz.

--

--

Cencommerce

En Cencommerce somos expertos en tecnología, y proyectamos esa pasión en nuestro trabajo y con nuestros clientes