The missing control surface
The pricing stack was good at moving groups: cities, slots, duration cohorts, products and vehicle classes. It was much less precise when a verified decision applied to one particular car. The available options were too broad, or they polluted base fare with an exception that did not belong there.
The asset multiplier added that missing layer. One neutral value meant no change; a bounded deviation meant an explicit car-level adjustment. The final price equation could now say where the exception came from, and removing it did not require reverse-engineering another model.
This article is intentionally public-safe. It explains the engineering decisions and lessons without exposing customer data, proprietary prompts, internal identifiers, operational commands or confidential decision thresholds.
- DISCOVERFind assets without an explicit state
- DEFAULTPublish a neutral multiplier
- OVERRIDELoad approved asset-specific changes
- GUARDClamp every value to safe bounds
- AUDITRecord intent and publication outcome
Separate deciding from doing
The most important architecture choice was decoupling decision logic from execution. Another model, analyst or approved business process could decide that a car needed an adjustment. The asset service did not need to know why. It accepted a declared intent and owned validation, bounds, persistence, publication, idempotency and audit.
That boundary made the primitive reusable. A scheduled path assigned neutral state to newly discovered cars. An approved bulk path applied exceptional changes. Future decision systems could target the same contract without copying Kafka, database and guardrail code into every model.
Neutral state is explicit state
New cars received a neutral multiplier instead of relying on absence to mean neutral. That sounds minor, but it removes three-way ambiguity: missing because new, missing because a job failed or missing because no adjustment is intended. Consumers receive one complete contract.
Every change carried a version and intent. The publisher and audit record distinguished attempted, accepted and failed work. Human-readable context explained why the deviation existed, which made review and reversal possible without searching old files or messages. The actual bounds and operating commands remain private; the public design point is that every path uses the same unavoidable controls.
Evaluation and failure cases
Tests covered malformed identifiers, non-numeric values, values outside the permitted range, duplicate input rows, broker failure and audit failure. I also reconciled the set of pending cars before and after a run so a successful process log could not conceal partial publication.
The safe failure behaviour was conservative: invalid overrides never reached consumers, and a failed publication remained visible for retry. Defaults were idempotent at the business level, preventing repeated schedules from creating a different economic result.
Impact
Asset-specific pricing became a real platform capability rather than a manual exception. It gave the marketplace fleet granular control while keeping broad pricing layers clean and made every deviation traceable, validated and reversible.
The deeper value is organisational: teams can improve the intelligence that chooses an adjustment independently from the mechanism that applies it. Stable execution contracts let decision logic evolve without creating a new production integration each time.