Un caso de uso de Gousto: cómo Databricks ayuda a crear recomendaciones de recetas personalizadas para clientes a escala


“Este weblog es escrito por Hai Nguyen, científico de datos sénior en Gousto”

Gousto es la caja de recetas de mejor valor del Reino Unido y ofrece más opciones de recetas y variedad que cualquier otra en el mercado. Las recetas están diseñadas por cooks profesionales e incluyen una amplia gama de sabores y cocinas, lo que le permite probar nuevas recetas sin tener que buscar ingredientes exóticos ni perder tiempo midiendo porciones. Cada caja contiene ingredientes frescos medidos previamente y recetas fáciles de seguir para que pueda preparar rápidamente comidas deliciosas y nutritivas en casa sin desperdicio de alimentos.

Vendemos millones de comidas cada mes y varios de los pedidos de estos clientes provienen de recomendaciones, ofertas y descuentos realizados por nuestro motor de recomendaciones de aprendizaje automático (ML) de recetas. Asegurarse de que nuestros modelos recomienden las mejores recetas posibles es una tarea desafiante.

Usamos Databricks Lakehouse Platform como nuestra canalización de ML para construir el motor de recomendación. El uso de Databricks ha ayudado a reducir el tiempo de implementación de nuestro modelo en un 50 %. Adicionalmente, hemos sido capaces de mejorar el desempeño de manera masiva, traduciéndose en un impacto comercial significativo en el negocio.

Cambio de menús semanales

En Gousto, utilizamos el aprendizaje automático para crear recomendaciones de recetas. Esta capacidad es necesaria porque tenemos una gama diversa de clientes con diferentes gustos y preferencias dietéticas. No queremos recomendar una receta con carne a un vegetariano o con queso a un cliente intolerante a la lactosa.

Y por cada semana, hay alrededor de 75 recetas cambiantes en nuestro menú con muchas variantes (por ejemplo, vegetales/pescado) por receta. Con tantos clientes, sería imposible crear manualmente recomendaciones, descuentos y ofertas adaptadas a las preferencias de cada individuo. Para enfrentar este desafío, nuestro equipo desarrolló Rouxcommender, un motor de recomendación de recetas.

ML nos permite crear recomendaciones altamente precisas que se basan en datos de clientes y pedidos anteriores de clientes y nuestra rica base de datos de recetas. Nuestro equipo desarrolló modelos de aprendizaje profundo que utilizan arquitecturas basadas en transformadores para aprender de los sabores y gustos de los clientes a partir de sus comportamientos de compra. Estos modelos analizan una serie de factores, incluidos los pedidos anteriores, qué tan fácil es cocinar la receta, la cantidad de vegetales la receta, y muchos más.

Este proceso nos permite aprender de los patrones de compra de nuestros clientes y usarlos para predecir lo que pedirán y sugerirles recetas. Como resultado, nuestros clientes pueden estar seguros de que solo verán recetas que probablemente disfrutarán en nuestro menú semanal. A pesar del éxito de nuestro motor, no estuvo exento de algunos desafíos en el camino:

falta de visibilidad

La cantidad de datos que produce el motor de recomendación de recetas es enorme. Nuestro motor produce una gran cantidad de datos. Nuestro equipo tiene que crear y almacenar millones de recomendaciones de clientes cada semana porque no podemos estar seguros de qué clientes ordenarán. Consultar los datos producidos durante este proceso fue inherentemente complicado. Nuestros analistas de datos tenían poca o ninguna visibilidad de estos datos de recomendación.

Múltiples Plataformas

Utilizamos una serie de técnicas de construcción de modelos junto con varios repositorios. Nuestro equipo tuvo que usar cuatro repositorios de datos para cambiar el modelo de ML. Usar estas diferentes técnicas y repositorios fue un proceso complicado. Estábamos buscando una solución en la que pudiéramos realizar todo el proceso del modelo ML en un solo entorno.

Pruebas A/B

Una vez que se construye un modelo, nuestro equipo debe asegurarse de que funcionará como se espera. Este proceso requiere que nuestro equipo utilice diferentes herramientas. Integrar las herramientas y garantizar que los modelos se implementaran correctamente en varias plataformas fue un desafío.

Largo tiempo de desarrollo del modelo

El tiempo de desarrollo del modelo fue un proceso engorroso que tomó alrededor de seis meses. No teníamos la plataforma adecuada para optimizar el proceso donde pudiéramos integrar fácilmente nuestras herramientas e implementar el modelo. Necesitábamos una solución que pudiera ayudarnos a rastrear cada modelo y experimento.

Uso de Databricks para hacer recomendaciones de platos

En Gousto, usamos Databricks para mejorar nuestros modelos y procesos de recomendación de aprendizaje automático.

Un entorno y visibilidad mejorada

Podemos manejar todo, desde ETL hasta recopilar datos, paneles interactivos y monitorear nuestros datos. De esta manera, podemos usar esos datos para construir los modelos y, al mismo tiempo, rastrear el rendimiento usando el nombre de los flujos. En lugar de dedicar tiempo a integrar herramientas y plataformas para pruebas A/B, podemos centrarnos en la mejora continua.

También hemos podido mejorar la visibilidad de nuestros datos en toda la organización. El acceso rápido de Databricks a los datos ha hecho posible que nuestros analistas consulten y exploren los datos fácilmente, lo que nos ha ayudado a avanzar rápidamente en nuestros proyectos.

Rendimiento del modelo y velocidad de implementación mejorados

Una de nuestras mayores victorias ha sido la velocidad a la que podemos ofrecer más valor. En explicit, el servidor de seguimiento de MLflow, el registro de MLflow y otras características integradas de Databricks, como Delta, SQL Workspace y Petastorm, han sido invaluables para permitirnos rastrear las iteraciones y ejecuciones de nuestros modelos. Usamos mucho MLflow, y todas las características ya están integradas en Databricks para construir el modelo e iterar en el modelo, y así es como podemos mejorar el ritmo de iteración de nuestro modelo.

Ahora podemos iterar en los modelos mucho más rápido, lo que nos permite mantenernos al día con las últimas necesidades y patrones de comportamiento de los clientes. En lugar de iterar modelos en el transcurso de seis meses, pueden entregar modelos un 50 % más rápido. Anteriormente teníamos la primera versión del modelo el año pasado, pero dentro de este año, por solo dos trimestres consecutivos, hemos entregado dos modelos.

Estos dos modelos también han tenido un impacto comercial muy importante en el negocio. Databricks nos ha permitido iterar rápidamente y probar cosas diferentes, lo que nos ha llevado a tener mucho éxito, especialmente en lo que respecta al rendimiento de nuestras recetas principales.

Las mejores recetas

Desde que usamos Databricks, hemos podido recomendar recetas mucho más relevantes a nuestra base de clientes. Desde que adoptamos Databricks en nuestra canalización de desarrollo de modelos, las ventas provenientes de las recetas más recomendadas han aumentado significativamente.

Esperamos seguir usando Databricks para generar valor para Gousto. Nuestro equipo espera usar las capacidades futuras de Databricks para mejorar aún más nuestro proceso de prueba e iteración de modelos.

Related Articles

Uso de Elasticsearch para descargar la búsqueda y el análisis de DynamoDB

Análisis en DynamoDB Los equipos de ingeniería a menudo necesitan ejecutar...

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Same Category

Uso de Elasticsearch para descargar la búsqueda y el análisis de DynamoDB

Análisis en DynamoDB Los equipos de ingeniería a menudo...

Cómo asegurar un panorama en expansión de terminales e identidades

Los endpoints expuestos y desconocidos en la purple...

Almacenamiento en caché en Twitter con Yao Yue

Twitter es una plataforma de redes sociales que...
spot_img

Stay in touch!

Follow our Instagram