Desarrollar un motor de búsqueda para una empresa de maquinaria industrial
En 2012, Dan Pinto y Dmitriy Rokhfeld crearon un agregador que recopilaba automáticamente información sobre maquinaria industrial y equipos pesados usados que estaban a la venta.
La idea de crear el servicio se le ocurrió a Dan cuando recibió el encargo de buscar una imprenta en Internet. La tarea resultó más difícil de lo esperado. No se puede comprar una máquina así en eBay, y comparar listas de precios en miles de sitios distintos lleva mucho tiempo. Así que Dan desarrolló una tecnología para recopilar automáticamente la información de varios sitios web y combinar los datos en un mismo lugar. Más tarde, se puso en contacto con Dmitriy, su amigo de la infancia, y lanzaron una empresa emergente para crear un sitio web de comercio electrónico con un analizador de datos que simplificara el proceso de encontrar y organizar información sobre equipos y maquinaria disponibles.
Al crear un único catálogo, no sería necesario explorar miles de ofertas de distintos sitios web para encontrar la opción adecuada. Así que Dan y Dmitriy desarrollaron el buscador con herramientas para extraer datos de sitios web y aplicaciones para analizar la información. Machinio es un motor de búsqueda de comercio electrónico que recopila y organiza automáticamente datos de distintas plataformas de anuncios en un mismo lugar, donde el vendedor y el comprador pueden hablar sobre los detalles de la transacción.
El reto
Dan escribió la primera versión del servicio. Con el tiempo, a medida que el equipo de Machinio seguía desarrollando la plataforma de maquinaria usada, añadieron más jefes de ventas y ganaron cada vez más contratos habituales con vendedores de equipos. Finalmente, estaba claro que era imposible que una única persona pudiera dirigir la empresa y gestionar el código del proyecto al mismo tiempo. Machinio necesitaba más desarrolladores, pero en aquel momento no querían perder el impulso dedicando tiempo a contratar y formar a desarrolladores internos. Decidieron que la mejor opción sería emplear la ayuda de una empresa de consultoría que pudiera proporcionar de inmediato desarrolladores con amplia experiencia, lo que les permitiría continuar con el progreso.
Así que Machinio se puso en contacto con Evrone para reforzar su equipo y ayudarles con el desarrollo de una plataforma de búsqueda de productos para vender equipos usados. Evrone se encargaba del back-end, la parte central de la empresa emergente. Nuestra tarea era reforzar los procesos de desarrollo internos originales de Machinio con nuestra experiencia.
El proceso de recopilar y organizar anuncios de miles de sitios web
Machinio usa herramientas de extracción de contenidos web para recopilar automáticamente la información de los sitios web de los vendedores, y usa rastreadores para ordenar las páginas y guardar los datos necesarios en la base de datos de la plataforma. Se usó Ferrum, una solución de código abierto creada con la ayuda de Evrone, una API de alto nivel para controlar Chrome en Ruby. Permite recopilar la información para el agregador desde sitios web que usen, por ejemplo, React o Vue.js.
El principal problema es que puede que la información de los productos esté incompleta. Por ejemplo, puede que falten especificaciones, o bien que la foto no coincida con el nombre del modelo. El rastreador simplemente analiza catálogos con descripciones de productos, tal y como se presentan en el sitio web original, por lo que el segundo paso es verificar y validar automáticamente los datos recibidos.
El proyecto usa aprendizaje automático para clasificar por categorías los anuncios desde donde se recibe la información. El modelo se entrena en anuncios específicos y, cuando aparece un nuevo anuncio, analiza el texto y lo clasifica.
Dicha sistematización no siempre es necesaria, ya que a veces puede haber lotes muy inusuales que no se pueden añadir a las categorías existentes. Una vez, se puso a la venta una fábrica entera con equipos por valor de varios millones de dólares. Está claro que, para este tipo de anuncio, se necesitan características independientes, y usar el aprendizaje automático no es suficiente.
Seguimiento de los cambios en los datos
A veces, puede que el sitio web de un cliente deje de funcionar si el marcado o los datos técnicos han cambiado. Para estos casos, se desarrolló un sistema de verificación de datos. Si algo deja de funcionar correctamente en el sitio del vendedor, reciben una notificación para corregirlo. La información se carga cada día, pero no se actualiza en tiempo real. Vender y comprar equipos pesados es un proceso bastante lento, y no hay muchas empresas con un catálogo en el mercado que se actualice frecuentemente, así que las actualizaciones en tiempo real no son algo crítico.
Pila tecnológica
Machinio puedo crear la base de datos más completa de equipos usados, algo para lo que se necesita una capacidad importante. Ahora tienen entre 10 y 12 servidores y, cuando esa capacidad ya no es suficiente, se conectan automáticamente los servidores de reserva.
Nuestra tarea era desarrollar todo el sistema en Ruby on Rails. Más tarde, el equipo de Machinio decidió usar TensorFlow para el aprendizaje automático, instancias de Chrome sin interfaz para los rastreadores, y Apache Solr para la búsqueda. Se configuró todo el sistema para que el usuario pudiera buscar tanto por el nombre de los modelos específicos como por características y solicitudes aleatorias. El producto tiene una arquitectura de microservicios y cuenta con un equipo independiente que trabaja en los rastreadores.
Métricas de éxito
Según el servicio SimilarWeb, la media de tráfico mensual del sitio web de Machinio en febrero de 2020 fue de 670 000 usuarios, y un 71,79 % provenían de los motores de búsqueda.
Hay servicios similares en el mercado, pero Machinio ofrece varias características que permiten atraer a un público más amplio:
- el servicio se ha optimizado para los motores de búsqueda, así que es fácil de encontrar
- el catálogo contiene ofertas de más de 190 países, lo que permite a los clientes encontrar las ofertas más útiles
- los compradores se revisan antes de procesar las peticiones y se eliminan las solicitudes falsas
La empresa emergente Machinio usó agregadores para modificar los conceptos básicos del negocio de ventas de equipos y obtuvo más de 4,04 millones de dólares de financiación. En 2015, Dan Pinto y Dmitriy Rokhfeld aparecieron en la lista Forbes de menores de 30 años con más éxito. En 2017, la empresa abrió su segunda oficina en Berlín y, en julio de 2018, los fundadores vendieron Machinio a Liquidity Services, que gestiona actualmente sus activos.
Machinio es conocida en todo el mundo y ha aparecido en notas de prensa de Forbes, Inc.com, TechCrunch y un gran número de importantes medios de comunicación globales.
En Evrone, estamos orgullosos de haber ayudado a alcanzar el éxito a una empresa emergente tan especial. Nuestros conocimientos ayudaron a Machinio a desarrollar el nivel de funciones que necesitaban los usuarios, alcanzar métricas excelentes y cumplir con sus objetivos financieros.