Leistungen

Backend Engineering, Produkt

Branche

B2B-Marktplatz

Jahr

2023-2024

Jedes Inserat. Der richtige Preis. Jetzt.

Ein B2B-Marktplatz brauchte Preise, die auf Marktbedingungen reagieren, ohne manuelles Eingreifen. Statische Preisgestaltung verschenkte Umsatz in Hochnachfragephasen und konnte in schwachen Wochen keine Käufer anziehen. Die Plattform brauchte ein System, in dem nicht-technische Account Manager Preisregeln definieren, deren Auswirkungen vorab einsehen und sofort deployen können - mit voller Nachvollziehbarkeit und ohne Deployment-Zyklen.

01.
DIE HERAUSFORDERUNG

Das Spreadsheet-Problem

Vor der Preis-Engine pflegten Account Manager Preisanpassungen in einer geteilten Tabelle. Jeden Montagmorgen kopierte ein Entwickler die neuen Multiplikatoren in ein Django Management Command und führte es gegen die Datenbank aus. Der Prozess hatte drei Fehlerquellen: Tippfehler in der Tabelle verursachten falsche Preise für Käufer, der wöchentliche Rhythmus bedeutete, dass Preise immer 3-7 Tage veraltet waren, und es gab keine Möglichkeit, die Auswirkung einer Regeländerung zu sehen, bevor sie live ging. Als ein saisonaler Multiplikator versehentlich auf 12,5 statt 1,25 gesetzt wurde, erschienen Premium-Listings sechs Stunden lang zum zehnfachen Preis.

Preisgestaltung gehört ins Produkt, nicht in eine Tabelle, die ein Entwickler jeden Montagmorgen in ein Management Command kopiert.

02.
DIE LÖSUNG

Regelbasierte Auswertungs-Pipeline

Die Engine wertet Preisregeln als geordnete Pipeline aus. Jede Regel ist eine Python-Klasse mit einer apply()-Methode, die den aktuellen Preis und den Marktkontext erhält und den angepassten Preis zurückgibt. Regeln werden als Datenbankeinträge mit einem Prioritätsfeld gespeichert, das die Auswertungsreihenfolge bestimmt. Account Manager konfigurieren Regeln über Django Admin: einen Nachfrageschwellenwert, einen Angebotsuntergrenze, einen saisonalen Modifikator setzen. Die Pipeline wertet alle aktiven Regeln in Prioritätsreihenfolge aus und gibt den endgültigen Preis zurück. Jede Auswertung wird mit dem Eingabekontext, dem Beitrag jeder Regel und dem finalen Output protokolliert - ein vollständiger Audit Trail für jede Preisänderung.

Die Regel-Auswertungs-Pipeline:

Python
class PricingEngine:
    def evaluate(self, listing, context):
        """Evaluate all active rules in priority order."""
        price = listing.base_price
        log = []

        rules = PricingRule.objects.filter(
            is_active=True,
            category=listing.category,
        ).order_by('priority')

        for rule in rules:
            handler = rule.get_handler()
            old_price = price
            price = handler.apply(price, context)
            log.append({
                'rule': rule.name,
                'input': old_price,
                'output': price,
                'delta': price - old_price,
            })

        # Clamp to category bounds
        price = max(listing.category.price_floor, price)
        price = min(listing.category.price_ceiling, price)

        PriceEvaluation.objects.create(
            listing=listing,
            base_price=listing.base_price,
            final_price=price,
            rules_applied=log,
            context=context,
        )
        return price

Die Engine ausprobieren

Nachfrage, Angebot und saisonale Faktoren anpassen und beobachten, wie Preisregeln komponieren. Die Kurve zeigt den Preis über das Nachfragespektrum. Regelkarten leuchten auf, wenn ihre Bedingungen erfüllt sind.

Demand50%
Supply50%
Season
Base €120 €120
€300€60
Demand Surge
Inactive
Low Inventory
Inactive
Seasonal Modifier
0% standard
€120
Base Price
€120
Dynamic Price
+0%
Adjustment
0
Rules Active

Eine konkrete Preisregel-Implementierung:

Python
class DemandSurgeRule(BasePricingRule):
    """Increase price when demand exceeds threshold."""

    def apply(self, price, context):
        demand = context.get('demand_percentile', 50)
        if demand > self.config['threshold']:
            surplus = demand - self.config['threshold']
            multiplier = 1 + (surplus * self.config['rate'])
            return round(price * multiplier, 2)
        return price

Produktions-Absicherungen

Preis-Unter- und Obergrenze

Jede Listing-Kategorie hat ein konfiguriertes Minimum und Maximum. Keine Regelkombination kann einen Preis unter die Untergrenze oder über die Obergrenze drücken. Die Engine begrenzt den finalen Output nach Auswertung aller Regeln. Das verhindert unkontrollierte Anpassungen: selbst wenn drei Regeln sich zu einem 200% Aufschlag kompoundieren, begrenzt die Obergrenze den tatsächlichen Preis. Die Untergrenze schützt vor negativen Margen bei Off-Peak-Rabatten.

Regel-Vorschaumodus

Account Manager können jede Regel in den Vorschaumodus schalten. Vorschauregeln werden ausgewertet, aber ihre Anpassungen werden nur protokolliert, nicht auf Live-Preise angewendet. Das Admin-Panel zeigt einen Seite-an-Seite-Vergleich: aktueller Live-Preis vs. projizierter Preis mit der Vorschauregel aktiv. Das eliminierte die häufigste Deployment-Angst: 'Was wird diese Regel tatsächlich mit unseren Preisen machen?' Jetzt wissen sie es vor der Veröffentlichung.

Vollständiger Audit Trail

Jede Preisberechnung wird als PriceEvaluation-Datensatz protokolliert: das Listing, der Basispreis, jede ausgelöste Regel, jede individuelle Anpassung und der finale berechnete Preis. Wenn ein Käufer einen Preis hinterfragt, zieht der Support das Auswertungsprotokoll und sieht genau, welche Regeln beigetragen haben, in welcher Reihenfolge und um wie viel. Die durchschnittliche Streitfall-Bearbeitungszeit sank von 45 Minuten auf 3 Minuten.

03.
DAS ERGEBNIS

Preise, die sich selbst steuern

Der Umsatz pro Listing stieg im ersten Quartal nach dem Launch um 18%. Account Manager wechselten von wöchentlichen Spreadsheet-Updates zu Echtzeit-Regelverwaltung. Null Preis-Vorfälle seit dem Launch - runter von einem pro Monat in der Spreadsheet-Ära. Das Preview-Feature allein verhinderte 14 fehlkonfigurierte Regeln in den ersten sechs Monaten. Die Engine wertet heute täglich 50.000+ Preise über 200 Listing-Kategorien aus.

WICHTIGE KENNZAHLEN

+0%Umsatzsteigerung
0Preis-Vorfälle
0kTägliche Auswertungen
WAS DER KUNDE SAGT

"Wir haben Montagmorgen gefürchtet, weil das 'Preistag' war. Jetzt aktualisieren sich Regeln in Echtzeit und wir können genau sehen, was sie bewirken, bevor wir sie veröffentlichen. Der Vorschaumodus allein war die Investition wert."

Head of Sales

B2B-Marktplatz · Vertrieb

FAQ

Warum kein Drittanbieter-Pricing-Tool?

Wie werden Regelkonflikte verhindert?

Was passiert bei Traffic-Spitzen?

TECHNOLOGIE-STACK