Most shops treat channel routing like a gut call. A wheelset sits in the front case for three months, someone gets annoyed, and it lands on eBay Friday afternoon with a 15% price cut and free shipping nobody costed out. Two weeks later a walk‑in asks for that exact wheelset, and now you're apologizing and ordering it back in at full price.
That's not a pricing problem. It's a routing problem — and it happens because nobody built a simple channel P&L to answer one question: does this unit make more money where it is, or somewhere else, after I subtract the real cost of moving it?
The frustrating part is that these decisions almost always get made without the transfer cost in front of anyone. People compare sticker prices across channels and stop there. But a $520 online sale and a $560 in‑store sale are not $40 apart once you load in shipping, marketplace fees, packing labor, and return risk. Sometimes the "lower" price is the better outcome. Sometimes it's a $30 mistake you repeat forty times a season.
This article gives you the framework to stop guessing: worked transfer‑cost examples, a shop‑sized channel P&L template, clear hold‑vs‑reroute thresholds, and a governance checklist so your team stops repricing on vibes.
The real cost of moving a unit (it's never just shipping)
Before any routing decision makes sense, you have to know what it actually costs to move a unit from Channel A to Channel B. Most owners undercount this by about half.
Here's what a transfer cost actually includes:
-
Fulfillment labor — someone pulls, packs, prints a label, and stages the box. Fifteen to twenty minutes for a boxed part, longer for a full bike. At a loaded labor rate of ~$28/hr, that's $7–$12 before anything ships.
-
Shipping and materials — box, foam, tape, and the carrier charge. A wheelset ships for $18–$30 depending on zone. A complete bike is a different animal entirely — $80–$150 freight, plus a bike box you may have to source.
-
Channel fees — marketplaces take 8–15%. A $500 sale on a 13% platform is $65 gone, plus payment processing on top.
-
Delisting/relisting friction — pulling a unit from the floor to list online (or vice versa) means photos, descriptions, and a POS adjustment. Small per unit, but real, and it multiplies fast.
-
Return risk — online return rates on parts run meaningfully higher than in‑store. A 6–8% return probability on a $500 item carries an expected cost you should be pricing in, not ignoring.
A typical example: you think you're moving a $300 part from the shelf to an online listing to "free up space and get it sold." The listing price is $279. Feels like a $21 haircut. But add $9 labor, $14 shipping, $36 in platform fees, and a blended return‑risk cost of about $8, and your net is closer to $212. That's an $88 swing from what's sitting on your shelf at full retail — not $21. If a local customer would've bought it at $300 within the month, rerouting cost you money.
None of this means online is bad. It means the decision needs the transfer cost loaded in, every time.
A simple channel P&L template you can actually maintain
You don't need a data warehouse. You need one repeatable calculation per unit or per SKU class. The point is to compare net contribution per channel, not gross price.
Never miss a sale or service appointment again.
Bicyclly helps you manage every sale, repair, and booking with ease and accuracy.
- Unified inventory and sales tracking
- Automated customer notifications
- Service appointment scheduling
No credit card required
Here's the shape of it for a single unit:
| Line item | In‑store (hold) | Online marketplace (reroute) |
|---|---|---|
| Sale price | $560 | $520 |
| Channel/payment fees | $16 (card) | $68 (fees + processing) |
| Fulfillment labor | $2 (hand it over) | $10 |
| Shipping + materials | $0 | $24 |
| Expected return cost | ~$3 | ~$16 |
| Net contribution | $539 | $402 |
In this case, holding wins by roughly $137. That's not close. But flip the inputs — say the item has been dead on your floor for four months, local demand signal is basically zero, and it's tying up capital and shelf space you need for peak season. Now the online $402 is real money and the in‑store $539 is theoretical money you're not actually collecting.
That's the whole game: a hold is only worth its full net contribution if the unit will actually sell there in a reasonable window. A number you won't realize for six months isn't worth its face value.
If your books already tie tickets and inventory together cleanly, this template drops right on top of your existing data. If they don't, that's the prerequisite fight — worth reading through how to turn tickets into clean books with a one‑page inventory accounting and KPI dashboard before you try to run channel P&L on top of messy numbers. Garbage inventory data makes every routing decision a coin flip.
A quick visual of the steps helps teams follow the exact calculation and avoid leaving transfer costs out of the decision.
Hold vs. reroute: the thresholds that actually matter
The mistake most shops make is treating "should I move this?" as a yes/no on price. It's really a function of three things: net contribution gap, time‑to‑sell in each channel, and carrying cost.
A practical decision framework:
-
Calculate the net contribution gap. Hold net minus reroute net. In the wheelset example above, that's +$137 favoring hold. Write down the actual number.
-
Estimate realistic time‑to‑sell in the holding channel. Pull it from your own history — how long do items in this class actually sit? Not what you hope. What the tickets show. Your seasonal inventory forecasting work feeds this directly; a part's expected sell‑through in November is not its sell‑through in April.
-
Apply a carrying cost per week. A rough rule
capital cost plus shelf‑space opportunity plus obsolescence risk lands most parts around 0.5–1.5% of unit cost per week. On a $300 part, call it ~$3–$4.50/week.
-
Divide the gap by weekly carrying cost. $137 gap ÷ $4/week ≈ 34 weeks. That's your break‑even hold window. If the item realistically sells in‑store within 34 weeks, hold. If it's going to sit 40+ weeks, the carrying cost eats the gap and rerouting wins.
-
Apply a hard override for peak‑season shelf space. During your busy window, front‑of‑house space has a scarcity value that doesn't show up in the weekly carrying number. If a slow unit is occupying prime real estate you need for fast movers, reroute regardless of the math.
The insight worth internalizing: most dead stock reroutes too late, and most healthy stock reroutes too early. Owners panic‑list good inventory during slow weeks and stubbornly hold genuinely dead SKUs because "someone will want it eventually." The threshold math cuts through both instincts.
When rerouting actually makes sense
-
The item has zero or near‑zero local demand signal over its normal sell window.
-
Carrying cost over the realistic hold period exceeds the net contribution gap.
-
You need the physical space or the tied‑up capital for higher‑turn inventory during peak.
-
The unit is trending toward obsolescence — superseded model, discontinued spec.
When it's a bad idea
-
The gap is large and local demand is steady — you're just impatient.
-
You're rerouting to hit a number this month and cannibalizing a near‑certain full‑margin local sale.
-
The item is a service‑attached part customers regularly walk in needing. Stocking it supports repair throughput, and that value doesn't show up on a marketplace listing.
-
You haven't actually costed the transfer and you're comparing sticker prices.
Who should NOT do this at all yet
If your POS and inventory counts don't reconcile — if you genuinely don't know what's on your floor — channel routing is premature. You'll reroute phantom stock and oversell. Fix counts first, then route.
Governance: how to stop ad‑hoc repricing from wrecking your margin
The single biggest source of margin leak in multi‑channel shops isn't the routing decisions themselves — it's the undocumented, individual‑judgment repricing that happens between them. One employee drops a price to move a unit. Another sees it listed low and matches it in‑store. A third assumes the low price is the new normal and orders more at a margin that no longer works.
This is a coordination failure, not a pricing failure. And it scales badly. With one owner making every call, inconsistency is annoying. With three or four staff touching listings and floor prices, it's a slow structural bleed — the kind of thing that shows up as "margins slipped this year and I'm not sure why."
-
Set price floors per SKU class, not per unit. No listing or floor price goes below the floor without owner sign‑off. The floor is calculated from net contribution, not from what a competitor posted.
-
Require a documented reason code for any reroute or markdown. "Dead stock, 90+ days" is a reason. "Wanted it gone" is not. Reason codes let you review patterns later.
-
Lock a repricing cadence. Prices change on a schedule — say, a weekly review — not reactively every time someone glances at a marketplace. Reactive repricing is where the drift starts.
-
Keep one source of truth for cross‑channel pricing. Everyone works from the same sheet or system. When the floor price and the online price come from the same place, you stop the "match the low listing" spiral.
-
Assign a single owner for routing decisions above a dollar threshold. Small parts can follow the rules automatically. Anything over, say, $250 net gap gets one person's eyes.
-
Review reroute outcomes monthly. Did the items you moved actually sell faster and net more? Or did you dump good inventory? You only learn this if you tracked the reason codes.
Require a documented reason code for any reroute or markdown so monthly reviews take minutes, not afternoons.
Shops don't lose margin on the big obvious decisions. They lose it on forty small unlogged ones. Governance is boring and it's exactly what stops the bleed.
Where software quietly earns its keep
None of this requires anything fancy to start — a spreadsheet and discipline will carry a single‑location shop a long way. But maintenance is where it gets heavy.
The grind isn't the math on any one unit. It's keeping transfer costs current across dozens of SKU classes, watching which items have crossed their break‑even hold window, and catching an off‑policy markdown before it triggers the match‑the‑low‑price spiral. That's monitoring work no owner realistically has time for by hand.
Operational software with built‑in AI automation handles the watching. It flags units that have aged past their hold threshold, calculates net contribution per channel with the transfer cost already loaded, and surfaces repricing that fell outside your governance rules — so a bad markdown gets caught the day it happens, not at year‑end when your margin report looks off. It centralizes the pricing source of truth so nobody's working from a stale number, and it keeps the reroute history so your monthly review takes ten minutes instead of an afternoon of reconstruction.
The value isn't "AI decides your prices." It's that the tedious, easy‑to‑neglect coordination — the exact thing that causes the slow margin bleed — stops depending on someone remembering to check.
Real scenario: a two‑location shop cleaning up its routing
A shop running one storefront plus an active online presence was moving parts and used bikes between channels on instinct. No transfer cost, no thresholds, no logging. Staff listed slow items online whenever the floor felt crowded and marked them down further whenever they hadn't sold in a couple weeks.
When they finally ran the numbers, two patterns showed up. First, they were rerouting healthy, near‑certain local sales — items that would've sold in‑store within a month at full margin — and netting 20–25% less online after fees and shipping. Second, genuinely dead stock was sitting too long because there was no threshold telling anyone when to actually move it.
They built the net‑contribution template, set hold‑vs‑reroute thresholds by SKU class, and put a weekly repricing cadence with floors in place. Nothing exotic. Over the following couple of quarters, blended margin on cross‑channel items recovered by a few points and the panic‑listing basically stopped. Dead stock that should move started moving on schedule instead of aging into obsolescence. Not a dramatic revenue jump — just steadier margins and a lot less arguing about prices on Friday afternoons.
The takeaway
Channel routing feels like a pricing question, but it's really a coordination and math question wearing a pricing costume. Once you load the true transfer cost into a simple channel P&L, compare net contribution instead of sticker price, and set thresholds tied to your own sell‑through data, the "should I move this?" decisions stop being arguments and start being arithmetic.
The governance piece is what keeps it working past the first month. Any single good decision is easy. Making forty consistent ones a week across a team is the hard part — and it's where the margin actually lives.
Ready to revolutionize your bike shop operations?
Join hundreds of bike shops using Bicyclly to save time, increase revenue, and deliver exceptional customer service.