Optimización de las compras de mercado en un escenario de múltiples alternativas

Una de las decisiones que enfrentan los consumidores al comprar en un supermercado es elegir entre la variedad de tiendas y canales de venta, que a su vez tienen una variedad aún mayor de productos. Estas diferencias de precios significan que los consumidores no están seguros de cuál es el mejor lug...

Full description

Autores:
Castellanos Cortés, William Felipe
De La Torre Mesa, Juan Jose
Fajardo Cuevas, Juan Camilo
Alarcon Gamboa, Valentina
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Pontificia Universidad Javeriana
Repositorio:
Repositorio Universidad Javeriana
Idioma:
spa
OAI Identifier:
oai:repository.javeriana.edu.co:10554/63552
Acceso en línea:
http://hdl.handle.net/10554/63552
Palabra clave:
Optimización
Web Scraping
Mercados
String matching
Optimization
Web Scraping
Grocery shopping
String Matching
Ingeniería industrial - Tesis y disertaciones académicas
Comportamiento del consumidor
Mercados
Segmentación del mercado
Rights
openAccess
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
Description
Summary:Una de las decisiones que enfrentan los consumidores al comprar en un supermercado es elegir entre la variedad de tiendas y canales de venta, que a su vez tienen una variedad aún mayor de productos. Estas diferencias de precios significan que los consumidores no están seguros de cuál es el mejor lugar para comprar, ya que pueden ahorrar dinero en algunos productos y perderlo en otros. Sin embargo, saber dónde cada producto es más barato no es la mejor solución para el consumidor, ya que, en algunos casos, tendría que sacrificar tiempo y comodidad al tener que visitar todos estos lugares. Este comercio entre precio y comodidad (combinación de factores que afectan la experiencia del cliente) se puede optimizar y presentar al cliente a través de múltiples escenarios de compra, para que puedan decidir la mejor opción en función de sus preferencias. Una de las muchas maneras de interactuar con un usuario es a través de una aplicación web. Esto tiene muchas ventajas: es barato y fácil de mantener, cualquier persona con el enlace puede usarlo y no depende en gran medida del hardware del lado del usuario. Además, varios clientes pueden usarlo al mismo tiempo sin problemas de rendimiento. Este tipo de aplicación se desarrolló para el proyecto, captura la información básica del usuario (dirección, tienda favorita) y su comodidad (como dinero), luego los productos que normalmente compra, y finalmente le muestra al cliente varias opciones para elegir. El enlace de la aplicación web se puede encontrar al final de la sección 4.5. El proceso de creación de la aplicación tuvo muchos pasos. Primero, se necesitaba una forma de entender la importancia de ciertas variables de comodidad en el proceso de compra de alimentos desde una perspectiva de cliente. El siguiente paso es asegurar que hay suficiente y actualizado los datos de los minoristas, esta es la base de la optimización y la aplicación en sí. Se programaron varios algoritmos de scraping web (proceso de extraer datos de internet) para recuperar datos de seis páginas web de supermercados diferentes. Este proceso recolecta más de 70,000 filas de datos cada día, y se almacena en un servicio de base de datos relacional en la nube; el scraping se lleva a cabo en una máquina virtual. Ahora, algunos productos tenían nombres diferentes en los supermercados, se emparejaron a través de su código EAN. Algunos productos no contenían ese código, por lo que se utilizó un algoritmo de coincidencia de cadenas para incluir el código EAN, lo que permitió las comparaciones de precios entre los minoristas. La optimización se logró a través de una heurística personalizada; itera a través de cada conjunto de n supermercados para encontrar soluciones (elegiendo los mejores precios y compensando con la comodidad). Este enfoque tiene muchas ventajas, como soluciones sólidas para cada conjunto de supermercados y tiempos de ejecución cortos, que todos están debajo de 20 segundos. Los ahorros promedio son alrededor del 6.45% del valor total de la compra. Una variedad amplia de herramientas se utilizaron para completar el proyecto; R para algunas de las visualizaciones, HTML y CSS para la aplicación web, varios servicios en la nube y Python para el scraping web, la coincidencia de cadenas y la aplicación web (backend Flask).