Entwicklung einer umfassenden Suchmaschine für ein Maschinenbauunternehmen
Im Jahr 2012 entwickelten Dan Pinto und Dmitriy Rokhfeld einen Aggregator, der automatisch Informationen über gebrauchte Industrie- und Schwermaschinen sammelte, die zum Verkauf standen.
Die Idee für den Service kam Dan, als ihm auf der Arbeit aufgetragen wurde, im Internet nach einer Druckmaschine zu suchen. Die Aufgabe erwies sich als schwieriger als erwartet. Derartige Maschinen kann man nicht bei eBay kaufen und der Vergleich von Preislisten auf unzähligen verschiedenen Websites nimmt viel Zeit in Anspruch. Deshalb entwickelte Dan eine Technologie zur automatischen Erfassung der Informationen auf Websites und zur Zusammenführung der Daten an einem zentralen Ort. Später nahm er Kontakt zu seinem Jugendfreund Dmitriy auf und sie gründeten gemeinsam ein Start-up, um eine E-Commerce-Website mit Datenparser einzurichten, die den Prozess des Suchens und Organisierens von Informationen über verfügbare Ausrüstung sowie Maschinen vereinfachen sollte.
Ein zentraler Katalog würde es überflüssig machen, auf der Suche nach der richtigen Option Tausende Angebote auf verschiedenen Websites zu durchkämmen. Dan und Dmitriy entwickelten ein solches Verzeichnis — sie nutzten Tools, um Daten aus Websites zu extrahieren, und Anwendungen, um die so gewonnenen Informationen zu analysieren. Machinio ist eine E-Commerce-Suchmaschine, die automatisch Daten über verschiedene Angebote sammelt und an einem Ort organisiert, wo Verkäufer und Käufer die Einzelheiten der Transaktion besprechen können.
Die Herausforderung
Die erste Version des Dienstes wurde von Dan selbst geschrieben. Im Laufe der Zeit sowie mit fortschreitender Entwicklung des Gebrauchtmaschinen-Marktes stellte das Machinio-Team immer mehr Vertriebsmanager ein und schloss zunehmend mehr reguläre Verträge mit Ausrüstungsverkäufern ab. Irgendwann wurde klar, dass eine Person nicht gleichzeitig die Firma leiten und den Projektcode verwalten könnte. Machinio brauchte mehr Entwickler, aber zu diesem Zeitpunkt wollte das Team seine Wachstumsdynamik nicht ausbremsen, indem es Zeit für die Einstellung und Anlernung interner Developer aufwendete. Aus diesem Grund beschloss das Start-up, dass die Unterstützung durch ein Consultingunternehmen, das unmittelbar erfahrene Entwickler bereitstellen konnte, die beste Lösung wäre.
So wandte sich Machinio zur Verstärkung ihres Teams und für Hilfe bei der Entwicklung einer Produktsuchmaschine für den Verkauf von Gebrauchtmaschinen an Evrone. Wir waren für das Backend — das Herzstück des Start-ups — verantwortlich. Unsere Aufgabe bestand darin, die internen Entwicklungsprozesse von Machinio mit unserem Fachwissen zu unterstützen.
Das Sammeln und Organisieren von Angeboten auf Tausenden Websites
Machinio verwendet Webscraping-Tools für den Marktplatz, um automatisch Informationen von den Websites der Verkäufer zu sammeln, sowie Crawler, um die Seiten zu sortieren und die erforderlichen Daten in der Datenbank zu speichern. Zum Einsatz kommt dabei Ferrum, eine Open-Source-High-Level-API zur Steuerung von Chrome in Ruby, an deren Entwicklung Evrone beteiligt war. Ferrum ist nützlich, um Informationen für den Aggregator zu sammeln, die auf Websites zu finden sind, die etwa React oder Vue.js nutzen.
Das größere Problem ist allerdings, dass Produktinformationen unter Umständen unvollständig sind. So können beispielsweise bestimmte Spezifikationen fehlen oder die Fotos nicht mit dem Modellnamen übereinstimmen. Der Crawler analysiert nur die Kataloge mit Warenbeschreibungen, wie sie auf der ursprünglichen Website präsentiert werden. Der zweite Schritt ist somit die automatische Überprüfung und Validierung der ausgelesenen Daten.
Das Projekt verwendet Machine Learning, um die Angebote, von denen die Informationen stammen, zu kategorisieren. Das Modell wird mit bestimmten Einträgen trainiert und wenn es auf einen neuen stößt, analysiert es den Text und klassifiziert ihn.
Eine solche Systematisierung ist nicht immer erforderlich, denn manchmal gibt es sehr ungewöhnliche Angebote, die nicht zu bestehenden Kategorien hinzugefügt werden können. Einmal stand zum Beispiel eine ganze Fabrik mit Ausrüstung im Wert von mehreren Millionen Dollar zum Verkauf. Natürlich sind für diese Angebotsarten separate Merkmale erforderlich und es genügt nicht, nur Machine Learning dafür zu verwenden.
Verfolgen von Datenänderungen
Gelegentlich funktioniert die Website eines Kunden unter Umständen nicht mehr, wenn sich das Markup oder die technischen Daten geändert haben. Für genau solche Fälle wurde das Datenverifikationssystem entwickelt. Wenn etwas auf der Seite des Verkäufers nicht mehr richtig funktioniert, wird dieser benachrichtigt, damit er den Fehler korrigieren kann. Die Artikelinformationen werden jeden Tag hochgeladen, allerdings nicht in Echtzeit. Der Verkauf sowie Kauf von Schwergeräten ist ein recht langsamer Prozess und es gibt nicht viele Großunternehmen auf dem Markt, die ihren Katalog häufig aktualisieren. Updates in Echtzeit stellen daher keine Priorität dar.
Technologiestack
Machinio gelang es, die umfassendste Datenbank für Gebrauchtgeräte zu erstellen — dafür ist eine beträchtliche Kapazität erforderlich. Aktuell sind rund 10 bis 12 Server im Einsatz. Wenn diese Kapazität nicht mehr ausreicht, werden automatisch die Back-up-Server verbunden.
Unsere Aufgabe bestand darin, das gesamte System in Ruby on Rails zu entwickeln. Später beschloss das Machinio-Team, Tensorflow für Machine Learning, Chrome im Headless-Modus für Crawler und Apache Solr für die Suche zu verwenden. Alles im System ist so eingerichtet, dass der Benutzer sowohl nach dem Namen bestimmter Modelle als auch nach zufälligen Anfragen und Merkmalen suchen kann. Das Produkt verfügt über eine Microservice-Architektur und es gibt ein separates Team, das an Crawlern arbeitet.
Erfolgsmetriken
Nach Angaben von SimilarWeb belief sich der durchschnittliche monatliche Traffic der Website von Machinio im Februar 2020 auf 670.000 Benutzer, von denen 71,79 % von Suchmaschinen auf die Seite gelangten.
Es gibt ähnliche Services auf dem Markt, aber Machinio überzeugt durch mehrere Merkmale, die ein größeres Publikum anlocken:
- Der Dienst ist für Suchmaschinen optimiert, sodass er leicht zu finden ist.
- Der Katalog enthält Einträge aus über 190 Ländern, was den Benutzern hilft, die passendsten Angebote zu finden.
- Käufer werden vor Bearbeitung ihrer Leads überprüft und Fake-Anfragen werden aussortiert.
Das Start-up Machinio nutzte Aggregatoren, um die grundlegendsten Merkmale des Maschinenvertriebs neu zu definieren, und beschaffte über 4,04 Millionen US-Dollar an Finanzmitteln. Im Jahr 2015 wurden Dan Pinto und Dmitriy Rokhfeld in der Forbes-Liste „30 Under 30“ angeführt. 2017 eröffnete das Unternehmen sein zweites Büro in Berlin und im Juli 2018 verkauften die Gründer Machinio an Liquidity Services, die derzeit die Assets verwalten.
Machinio ist weltweit bekannt und wurde in den Pressemitteilungen von Forbes, Inc.com, TechCrunch sowie vielen anderen renommierten globalen Medienunternehmen erwähnt.
Wir bei Evrone sind stolz darauf, einem so außergewöhnlichen Start-up zu einem Höhenflug verholfen zu haben. Unsere Expertise unterstützte Machinio dabei, die von Benutzern benötigten Funktionen zu entwickeln, hervorragende Metriken zu erzielen und ihre finanziellen Ziele zu erreichen.