Senior Expert Software Engineer (Enterprise Architecture, Director) · 2021 In production
Pricing Intelligent Automation
Classification and entity-extraction models that cut a logistics brokerage's email bid response time from about 32 minutes to about 4, with the analyst confirming every extraction before a price went out.
About 40 pricing analysts in the brokerage division answered roughly 4,000 bid requests a month by email, averaging about 32 minutes each to read the request, work out what was asked, pull the price, and reply. A 2020 analysis showed the company's price was usually lower on the email bids it lost, which pointed to response time as the gap.
My first assignment was a go/no-go on a vendor tool built in a hackathon; I found it only gave analysts a screen to extract details by hand and recommended against it. I then built the classification and named-entity-recognition models on Vertex AI and designed the first orchestration: trigger on the inbox, call the models, show the extracted shipment facts to the analyst for confirmation, retrieve the price, confirm again, reply. Another team delivered the production orchestration as a centralized Python service with my models underneath it.
Measured: response time fell from about 32 minutes to about 4 minutes 15 seconds. Estimated, CIO-approved: about $180K a year of freed analyst capacity at roughly $23 an hour, redeployed to pricing projection work rather than headcount reduction. Not quantified: the bids won through faster response, which was the larger value.
The design principle here was using NLP for what it’s genuinely good at. That meant extracting structured entities from text that humans wrote without structure in mind, then handing off to deterministic automation for the workflow steps that followed. That boundary between probabilistic extraction and rule-based execution is where most intelligent-automation projects go wrong. Models that should be tight classifiers get asked to make workflow decisions, and models that should be handling ambiguity get replaced by brittle regex.
Pricing is a domain where errors compound: a wrong extraction propagates through calculations, approvals, and quotes before anyone notices. Keeping the analyst in the loop at both confirmation points was the reliability mechanism that made the automation trustworthy enough to deploy in production. It is the same principle I apply to agents today: the model proposes, and a person or a deterministic check decides.
What I would do differently is baseline the bid win rate before launch. The time saving was approved and real, but the bigger value was bids won on response time, and I never measured it.