ir. Ignacio Rosales / PORTFOLIO
← Proyectos

Radar de precios de farmacias

Captura diaria de precios en farmacias venezolanas en línea, emparejamiento del mismo producto entre tiendas y comparación en USD.

Materia
Inteligencia de precios
Fecha
octubre de 2026
Stack
Python, SQLite, Streamlit, RapidFuzz, Altair

El problema

Las farmacias venezolanas publican sus precios en línea, pero cada una nombra el mismo producto de forma distinta y muchas publican en bolívares con tasas diferentes. Comparar a mano quién es más barato, qué está en oferta o qué se agotó es lento y poco fiable.

La solución

Un pipeline en Python que corre cada día:

  1. Tasa del día: lee la tasa Bs/USD de un endpoint público.
  2. Extracción: Locatel por su API pública de catálogo (VTEX, con stock por unidades) y Farmahorro por HTML de WooCommerce.
  3. Normalización: reglas y expresiones regulares extraen principio activo, concentración, cantidad, forma y marca.
  4. Emparejamiento: reglas duras (el activo, la dosis, el tamaño y la forma no pueden contradecirse) más similitud difusa. Con confianza ≥ 0,75 el par se acepta; entre 0,55 y 0,75 pasa a revisión humana.
  5. Análisis: precios en USD, índice de Jevons entre tiendas y en el tiempo, ofertas, agotados y cambios.

Cada corrida añade filas a SQLite sin sobrescribir, así se acumula el historial. El dashboard en Streamlit tiene pestañas de comparación, ofertas y stock, cambios en el tiempo, buscador y revisión de calidad.

Dashboard del radar de precios

Resultados (captura del 29/10/2026)

  • 1.228 productos de Locatel y 185 de Farmahorro en analgésicos, antigripales, vitaminas y cuidado personal.
  • 63 pares del mismo producto emparejados automáticamente y 19 enviados a revisión.
  • Brecha mediana de precio entre tiendas: 26 %.

Un hallazgo de calidad de datos

Farmahorro publica sus precios web con una tasa desactualizada: comparando 56 productos idénticos, sus precios en Bs equivalen a unos 116 Bs/USD frente a 889 de la tasa oficial. Lo verifiqué a mano en el navegador. Para no comparar peras con manzanas, el radar usa la tasa implícita de cada tienda y el dashboard lo advierte.

Alcance

Solo usa precios públicos y no evade bloqueos: Farmatodo quedó fuera porque rechaza el cliente identificado del radar (el proyecto partió de un análisis previo de 9.749 productos de Farmatodo). En Farmahorro solo se lee la primera página de cada categoría. El emparejamiento por reglas necesita revisión humana de los pares atípicos.