Gostockup project · 2025 – 2026 · live
10 shipping zones of our own for perishables
How the store learned not to sell what would most likely arrive spoiled, and why complaints dropped noticeably.
Gostockup ships groceries to all 50 states, including perishables in cold-chain packaging. For those items, the key question is how many days they’ll spend in transit.
Carriers split the country into five zones. Those zones exist to set prices, and they don’t account for how long a perishable item can last.
A complaint about a spoiled item came in roughly every 20th order. Every reshipment means another box, another delivery and the same unhappy customer. The third reshipment puts the order in the red.
The rule
The decision happens in the cart
I built the 10 zones around transit time. For every perishable item, the site checks the risk before payment.
How the rule works
- ZIP code the customer enters a delivery address
- Zone one of 10 zones by transit time
- Item the risk is checked for perishables
- Risk over 10% the item can’t be ordered to that ZIP
- Everything else the order goes through as usual
10% is the chance of the item arriving spoiled. The rule fires automatically, so nobody has to sort these orders by hand.
Rule logic
How the site decides whether to sell an item
The decision happens before payment, with no staff involved.
Rounded box: a step. Blue: a question. Dashed grey: a side outcome.
Share of orders with a product-condition complaint
Team estimate, 43% fewer. All complaints are now tracked in Zendesk.
Trade-offs
What we gave up
The store turns down some orders. That’s a deliberate choice.
No perishables to risky ZIP codes
- Cost
- We lose some orders.
- Why
- The third reshipment puts the order in the red, and the customer is still unhappy.
Dropping the riskiest products
- Cost
- Less choice for customers.
- Why
- They account for most reshipments and complaints.
How I worked
Three questions for every order
I looked at three things together: what the item is, where it’s going and how many days it will spend with the carrier. That gave us 10 zones by transit time and a 10% risk threshold.
I wrote the logic and the spec, engineers built the rule into checkout, and I checked the result.
What’s next
The rule grows with the assortment
Every new perishable item falls under the same rule. Products that account for most reshipments and complaints are taken out of the assortment.
How we measured Free-shipping economics The full Gostockup case
The fastest way to reach me is LinkedIn
My full career and notes on the work are there too