DEV Community

SU
SU

Posted on

Marketplace fees are step functions: 5 prices where a higher price pays you less

Marketplace fee schedules look like smooth percentages. They are not. They are step functions, and a step function has a property that breaks the usual pricing instinct: raising the input can lower the output.

I work on SellerUtility, a tool for Amazon and Walmart sellers, and we wanted to know how often that happens. So we did the boring thing: run a fee engine over every cent from $3.00 to $60.00 and look for places where one more cent of price pays the seller less.

The sweep

Net payout per unit is price - referral fee - fulfillment fee. The idea fits in a few lines (a sketch of the approach, not our production code):

def find_cliffs(net, lo=300, hi=6000):
    # net(price_in_cents) -> payout in cents for one fixed category/box
    return [p for p in range(lo + 1, hi + 1) if net(p) < net(p - 1)]
Enter fullscreen mode Exit fullscreen mode

We ran that shape of check across 499 scenarios (every fee category, four packed-unit boxes per marketplace) on Amazon's 2026 FBA cards and Walmart's current fee schedules. The result was 646 cliffs. The surprising part is where they sit.

646 cliffs, 5 prices

Every cliff falls on one of five prices: $10.00, $10.01, $15.01, $20.01 and $50.01. That is a consequence of how the schedules are built: fulfillment fees change band at fixed price thresholds, and some referral rates step up on the whole price once you cross a line.

A few concrete cases from the data (2026 non-peak card, rate-card arithmetic):

  • A small standard, 4 oz FBA item nets $0.95 less at $10.00 than at $9.99, in all 36 fee categories.
  • In Beauty, Health and Personal Care the same item keeps $6.61 at $9.99, $5.66 at $10.00 and $4.97 at $10.01. It does not pay as much as $9.99 again until $11.94, so everything from $10.00 to $11.93 is a dead zone.
  • The deepest cliff we found is -$1.39 at $20.01 in Clothing and Accessories, where the referral rate goes from 10% to 17% of the whole price.
  • Walmart inverts one of them. A 0.5 lb Beauty item on WFS nets $4.74 at $9.99 and $5.75 at $10.00, because the $1.00 WFS surcharge applies only below $10. There, $10.00 is a jump up.

The full write-up, with a chart per category and a CSV, is in Amazon and Walmart fee cliffs 2026.

What this means if you write pricing code

  • Never assume monotonic payout. If your repricer or margin model treats "higher price, higher profit" as true, it will happily walk into a dead zone. Test it with a property check like the one above.
  • Evaluate fees at the candidate price, not the current one. A fee computed once at today's price and reused is wrong the moment the candidate lands on the other side of a threshold.
  • Version the rate card. Amazon's peak card (October 15 onward) changes the numbers, so a cliff table without a card date is not reproducible.
  • Mind the boundary operator. "Under $10" and "$10 or less" are different thresholds, and different fee lines can use different ones. See the Walmart WFS surcharge under $10 breakdown for how that plays out.

If you just want to check a specific product rather than read about it, the Amazon FBA fee calculator shows the payout at a given price, and the Amazon FBA fees 2026 and Walmart seller fees 2026 guides cover the schedules themselves.

Caveats

These are numbers from the published rate cards, not from a live seller account. Fees change, so check the current card before relying on any single figure. The sweep also does not cover every cost a seller pays, such as storage, returns or advertising.

Curious whether other people have hit this in their own pricing code: did you model fees as a step function from the start, or find out the hard way?

Top comments (0)