STADTSALAT: Alles eine Frage der Technologie.

Marcus Berg
8 min readJan 18, 2021

--

  1. Einleitung

STADTSALAT liefert leckeres und gesundes Essen in erstklassiger Qualität. Doch um unsere Kund:innen zu echten Fans zu machen, müssen wir Top-Service und eine optimale User Experience bieten — unser NPS liegt bei 80. Gerade bei großen Bestellmengen ist das sehr komplex, weshalb wir dabei die Vorteile der Digitalisierung und Automatisierung nutzen.

Die Technologie von STADTSALAT ist eine komplette Eigenentwicklung unserer hauseigenen Agentur Protofy. Der eingesetzte Technologie-Stack (Amazon Web Services, MongoDB Atlas, Docker, ReactJs & Gatsby) ist state-of-the-art und ausgelegt auf hohe Skalierbarkeit, Performance und Stabilität auf der einen Seite, sowie agile Entwicklungs- und Deployment-Zyklen auf der anderen Seite.
Wir bringen mindestens wöchentlich ein neues Software Release und können so identifizierte Optimierungspotenziale schnell ausschöpfen und in kurzen Iteration fortlaufend zielgerichteten Business-Value generieren.

Dazu zählt beispielsweise ein reibungsloser Ablauf, verlässliche Lieferzeiten und letztendlich eine richtig großartige Nutzererfahrung. So sparen wir täglich wertvolle Ressourcen, die wir lieber in Premium-Zutaten, faire Löhne usw. investieren.

2. Behind the scenes: STADTSALATs Technologie by Protofy

Unser gesamter Tech Stack ist Cloud-Native (Amazon Web Services) und lässt sich systematisch und schnell skalieren bzw. an die konkreten Business-Anforderungen anpassen (effektiv). Das ist langfristig besonders kostengünstig (effizient) und zeigt, dass wir immer die Total Cost of Ownership im Blick haben.

Die Cloud-Infrastruktur beinhaltet einen Datenbank-Layer mit Komponenten wie MongoDB, Elasticsearch oder Postgres DB und “virtuelle Computer”, auch EC2-Instanzen genannt. Was das für uns bedeutet? Wir könnten mit unserer Technologie problemlos von drei Stores auf beispielsweise 30 Stores aufstocken, denn mehr Traffic ist für unser System leicht zu händeln. Wenn mehr Kapazität benötigt wird, können wir ganz automatisch weitere “virtuelle Computer” oder mehr Ressourcen für den Datenbank-Layer hinzufügen.

Warum die Technologie aufwendig ist? Zum einen haben wir eine riesige Datenflut zu bewältigen (durch Bestellungen usw.), die im System hinterlegt werden müssen. Zudem müssen alle Tools und Bausteine des Tech Stacks perfekt miteinander verdrahtet sein und reibungslos funktionieren. Prinzipiell gäbe es für alles fertig programmierte, externe Services, die man monatlich bezahlt z. B. für Zahlungs-Systeme oder Shop-Systeme. Man kommt bei diesen Services immer an den Punkt: Das, was die mir liefern, entspricht nicht dem, was ich will. Gerade, weil wir Live Daten just-in-time verarbeiten und dadurch Handlungsempfehlungen für unsere Operations generieren, ist es extrem wichtig, dass alle Komponenten extrem schnell, sicher und genau miteinander kommunizieren. Für uns war die beste Option eine komplette Eigenentwicklung auf die Beine zu stellen.

3. Das Dispositionssystem — dynamische Touren-Waren-Planung

Um das Ganze besser zu verstehen, lasst uns einmal tiefer eintauchen in den Bereich “Optimierung durch Data-Driven-Approaches”, indem wir das Dispositionssystem von STADTSALAT unter die Lupe nehmen. Unser Dispositionssystem ist auch bekannt als das Herz unserer Lieferlogistik. Hier werden Bestellungen unseren Fahrer:innen zugeordnet und zu sinnvollen Touren zusammengefügt. Das Kombinieren von Bestellungen zu Touren hat den Vorteil, dass es sich so auch lohnt, Bestellungen abzuarbeiten, die weiter entfernt sind, da die Fahrer:innen auf dem Weg weitere Bestellungen ausliefern können. Diese Systematik vergrößert unser Einzugsgebiet und reduziert Zustellkosten.

Die Einsparungen bedeuten für STADTSALAT: mehr Deckungsbeitrag, also auch mehr Budget für Wareneinsatz und mehr Mittel zur Ausstattung unserer Küchen mit hochwertigen Küchenmaschinen, das macht das Produkt besser, und bringt uns mehr Kunden. Mit einer besseren Ausstattung und einem Upgrade unserer Küchenmaschinen bieten wir unseren Kund:innen noch mehr Produktvielfalt und eine erstklassige Qualität der einzelnen Zutaten. Das wird am Beispiel unserer aufwendigen Hummus-Produktion deutlich:

Wer richtig großartigen Hummus zubereiten möchte, kann nicht einfach zu Kichererbsen aus der Dose greifen. Deshalb nehmen wir uns lieber Zeit für die Herstellung, weichen die Kichererbsen über Nacht ein, garen sie bis sie weich sind und pürieren sie zum Schluss zum cremigsten Hummus aller Zeiten. Für diese aufwendige Zubereitungsart (ganz ohne Dosenkichererbsen) sind leistungsstarke Maschinen wie z. B. unser Blixer das A und O.

Wir bereiten alles selbst zu, verwenden nur beste Zutaten in Premium-Qualität und lieben es, unseren Kund:innen aufwendige und besondere Rezepturen zu liefern, wie das Hummus-Beispiel zeigt. Das schmecken unsere Kund:innen bei jeder Bestellung heraus und macht sie so zu echten STADTSALAT-Fans, die regelmäßig bei uns bestellen.

Die höhere Bestelldichte im Einzugsgebiet führt wiederum zu mehr Prozesseffizienz und der Kreislauf beginnt von vorne. Das STADTSALAT-Flywheel dreht sich also weiter. Mittags während unseres Hauptgeschäfts sind wir teilweise mit mehr als 35 Fahrer:innen unterwegs und wickeln mehr als 400 Bestellungen ab. In Spitzenzeiten sind das mehrere Bestellungen pro Minute. Logischerweise muss da jeder Handgriff sitzen.

Als Herzstück des Dispositionssystems agiert die Karte (Google Maps Service), auf der verschiedene Bestellungen angezeigt werden. Links positioniert neben der Karte findet man zudem eine Ansicht aller Bestellungen, chronologisch sortiert und mit Farb-Codes hinterlegt, je nachdem, wann sie auf die Straße müssen — alles automatisiert. Janko Thyson, Data Scientist bei STADTSALAT erklärt: “Im Frontend-Distribution-Screen laufen die wichtigsten Kennzahlen und Infos aus den Backend-Systemen zusammen, auf deren Grundlage die Store Manager wichtige Entscheidungen treffen.

Zettelwirtschaft ist schon lange ade! Aktuell weisen die Store Manager den Fahrer:innen manuell Bestellungen zu, die vor Ort im Store mit einer speziellen App einchecken. Dabei werden die Store Manager von einer Recommender Engine unterstützt, die unter Berücksichtigung der jeweiligen Datenlage in einer Schicht konkrete machine-learning-basierte Entscheidungshilfen anbietet. So haben die Store Manager mehr Luft, um sich auf andere Aspekte zu konzentrieren, während der Algorithmus den “Nervkram” übernimmt. Dieses Beispiel zeigt, wie gut Mensch und Maschine zusammenarbeiten können!”

Auch unser Hamburger Operations Manager Stefan Plaum stimmt hier zu: “Unser Ziel ist, dass bei uns die Bestellungen ganz automatisch den Fahrer:innen zugeordnet werden und wir dadurch viel effizienter ausliefern können. Was bereits eine unglaubliche Erleichterung ist und gleichzeitig super hilfreich, ist die automatisierte Anpassung der Lieferzeit!”

Mittlerweile befinden wir uns außerdem in den finalen Testläufen einer automatisierten Disposition, sprich ein Algorithmus (Travelling Salesman Problem) übernimmt dabei die Routenplanung. Das ist bei uns vor allem deswegen schwierig, weil wir es ja mit dynamischen live Daten zu tun haben. Doch dazu in einem späteren Blogartikel mehr.

4. Deep Dive — Microservice — Anpassung der Lieferzeit

Da wir bei Online-Bestellungen keine Schlange vor dem Laden haben, sondern jeder theoretisch gleichzeitig bestellen kann, ist es extrem wichtig, dass wir den Traffic immer gut im Blick haben. Die Frage lautet: Können wir die Bestellungen, die jetzt als nächstes reinkommen, noch in der versprochenen Lieferzeit zustellen oder nicht?

Wenn nicht, müssen wir das frühestmöglich wissen und den Kund:innen bei der Bestellung eine transparente Lieferzeit kommunizieren, die wir wirklich einhalten können. In dem Zusammenhang brauchen wir also eine sehr zeitnahe Rückkopplung der Datenlage des Backends ins Frontend, wenn wir die Lieferzeit anpassen müssen. Das kann man natürlich manuell machen. Je größer der Traffic, desto unübersichtlicher wird es und desto wahrscheinlicher sind Fehlentscheidungen: zu späte Anpassung nach oben, obwohl schon die Hütte brennt und zu späte Anpassung nach unten, da Unsicherheit herrscht.

Wir haben uns die Frage gestellt: Können wir diesen Prozess datengetrieben automatisieren? YES, können wir.

Janko erklärt die technischen Herausforderungen: “Du kannst nichts automatisieren, sofern du keine saubere Datengrundlage hast. Da wir zudem in einem “Quasi-Streaming” bzw. “Quasi-Real-Time-Setup” unterwegs sind, bei dem wir alle 30 Sekunden eine Empfehlung unseres Machine-Learning-Models brauchen, ist das Thema Data Management und im Speziellen nochmal das Thema Data Consolidation absolut erfolgsentscheidend. Zudem ist die Recommender Engine der erste Microservice bei Stadtsalat mit Fokus auf “Business Analytics” und auf Basis von Docker und AWS ECS gebaut. Für beide Aspekte braucht man eine entsprechend ausgereifte Systemarchitektur für eine verlässliche, performante und flexible Infrastruktur im Backend.

Dateninkonsistenzen zu managen und Netzwerkbedingte Fehlerquellen bei der Kommunikation von Microservice zu Main API/Stadtsalat Backend zu identifizieren und abfangen zu können, waren im Entwicklungsprozess die beiden größten Pain Points. Wenn du das nicht hinkriegst, kommen entweder falsche Empfehlungen raus (“Garbage In, Garbage Out”) oder es kommen gar keine Empfehlungen im Backend an.”

Das aktuelle Modell basiert auf einem Rule-Based Machine Learning Ansatz und verarbeitet alle 30 Sekunden insgesamt fünf Dateninputs bzw. Features:

1) Anzahl der Bestellungen, die in den nächsten 30 Minuten zur Tür raus müssen

2) Anzahl in der App eingeloggter Fahrer:innen DRIVERS CHECKED-IN und wo sie sich aktuell befinden

3) Durch die Store Manager geschätzte Anzahl an eingeloggten Fahrer:innen in der Anfangsphase einer Schicht

4) Im Backend eingestellte Lieferzeit

5) Sonstige Store-Informationen wie z. B. Zeiten für Schichtbeginn/-ende, Länge der Warm-Up-Phase, Prime-Time und Cool-Down-Phasen etc.

Daraus resultiert eine Modellschätzung für die erwartete Lieferzeit, die den Store Managern als Handlungsempfehlung im Distribution Screen angezeigt wird. Der Microservice befindet sich seit Mitte Juli 2020 in der Pilotphase und wird von den Store Managern als große Unterstützung wahrgenommen. Die Entscheidung mit einem im Vergleich zu anderen Machine Learning bzw. Deep Learning Algorithmen eher einfachen Rule-Based Model zu starten, spiegelt dabei das agile Mindset von STADTSALAT wieder: Unter Kosten-Nutzen-Aspekten Lösungen implementieren, die direkten Business Value generieren und danach systematisch weiter optimieren. Dementsprechend gibt es schon eine Menge konkreter Gedanken, wie der Microservice in Zukunft noch bessere Entscheidungsunterstützung liefern kann.

5. Ausblick: Mensch und Maschine bei STADTSALAT

Wie passen Automatisierungen auf der einen Seite und unser Claim Real Food. Real People. zusammen? Sind das nicht zwei völlig unterschiedliche Paar Schuhe?

Bei uns arbeiten Mensch und Maschine Hand in Hand! In erster Linie sollen die Automatisierungen unseren Mitarbeiter:innen und natürlich auch den Kund:innen das Leben einfacher machen. Eine schnelle und pünktliche Zustellung ist für unsere Kund:innen extrem wichtig. Je stressiger es bei uns wird, desto eher kann es passieren, dass wir bei einer manuellen Anpassung der voraussichtlichen Lieferzeit Fehler machen. Unsere Automatisierung stellt also in einem Schritt Qualität sicher und erleichtert gleichzeitig den Prozess für die Tourenplaner und Disponent:innen.

Unser technologischer Fortschritt sichert den reibungslosen Ablauf und spart wertvolle Ressourcen (Zeit und Geld), die wir lieber in andere wichtige Kernthemen investieren wie liebevoll ausgewählte Zutaten, faire Löhne und nachhaltiges Handeln. Statt sich mit nervigen Zahlen und Einstellungen herumzuschlagen, können sich unsere Mitarbeiter:innen Themen widmen, die sie wirklich gut können und die Maschinen in absehbarer Zeit auch nicht ersetzen. Beispielsweise haben wir unglaublich viel Kreativität im Team und genau dieses Potenzial möchten wir voll entfalten. Je mehr Zeit unsere Mitarbeiter:innen haben, sich um komplexe Themen Gedanken zu machen und dabei effektiv im Team zu arbeiten, desto besser für alle. STADTSALAT will technisch hoch hinaus und ist da schon auf einem guten Weg! Das würde man eher von einem Tech-Unternehmen erwarten und nicht von einem Salat-Laden. Das ist ziemlich cool, oder?

--

--

Marcus Berg

CEO STADTSALAT — biggest virtual salad bar chain in Germany.