The inputs, method and raw results behind the savings figures published on cartonpilot.com. Everything here runs against the public CartonPilot API, so you can reproduce the numbers yourself with a free key rather than taking our word for them.
14 representative ecommerce order profiles, packed against the same 7-box
corrugated line-up two ways: a standard first-fit packer as the baseline,
and cartonpilot-ultra.
Baseline (first-fit) |
CartonPilot (cartonpilot-ultra) |
Change | |
|---|---|---|---|
| Parcels | 25 | 14 | 44% fewer |
| FedEx Ground, zone 5 | $426.65 | $269.18 | 36.9% lower |
| UPS Ground, zone 5 | $429.69 | $270.62 | 37.0% lower |
| Box material | $13.36 | $12.26 | 8.2% lower |
The saving comes almost entirely from consolidation, not from choosing slightly smaller boxes. Fewer parcels means fewer minimum charges, and the per-parcel minimum is what dominates a small-parcel invoice.
Note that optimized fill rate is lower than the baseline (45.7% vs 52.3%). That is expected and worth understanding: a packer that puts three items into three snug small boxes scores a great fill rate and a terrible invoice. Fill rate is a vanity metric for this problem.
git clone https://github.com/cartonpilot/benchmark.git
cd benchmark
CARTONPILOT_API_KEY=sk_your_key node run.mjsRequires Node 18+ and nothing else - no dependencies. Get a free key at cartonpilot.com/register; the free plan covers this run many times over, and every algorithm is available on every plan, so the baseline and the candidate are both reachable from a free key.
Results are written to results/results.json, including per-scenario rows.
- Each of the 14 order profiles is sent to
POST /api/v1/shipping-optimizetwice - once withoptions.algorithm: "first-fit", once withoptions.algorithm: "cartonpilot-ultra". Same boxes, same items, samedimDivisor, same rotation setting. - Billable weight per parcel comes back from the API in
shipments[].billing.billableWeight, using DIM divisor 139. - Each parcel is priced at published zone 5 Ground list rates by looking
its billable weight up in
data/rates-zone5.json. - Totals are summed across all 14 profiles.
These are list rates only. The comparison excludes fuel surcharges, residential and delivery-area surcharges, additional handling, oversize charges, and negotiated discounts. Those move the absolute dollars, and a shipper with a good contract will see smaller absolute numbers.
They do not much change the direction, because most of them are levied
per parcel - so a method that ships fewer parcels avoids more of them, not
fewer. The honest caveat runs the other way: if your carrier agreement has
unusual weight-break pricing, consolidating into one heavier parcel can be
worth less than this benchmark suggests. If you want a rate-aware answer for
your own contract, use the lowest-invoice-cost objective with a rate card
rather than relying on these figures.
Zone 5 is a mid-range domestic zone, chosen as representative. Shorter zones save less in absolute terms; longer zones save more.
| Path | What it is |
|---|---|
data/boxes.json |
The 7-box corrugated line-up, with landed material cost |
data/scenarios.json |
The 14 order profiles, fully expanded |
data/rates-zone5.json |
Zone 5 Ground list rates by billable weight, 1-150 lbs |
run.mjs |
The runner - calls the public API and prices the outcome |
results/results.json |
Latest run, including per-scenario detail |
- FedEx Standard List Rates, effective Jan 5, 2026
- UPS Ground Daily Rates (UPS Rate and Service Guide), effective Dec 27, 2025
- This is a synthetic benchmark on representative profiles, not a customer result. It shows what the solver does on a realistic box catalog and basket mix; it is not a promise about your catalog and your baskets.
- The baseline is
first-fit, which is a fair stand-in for typical "pick the first box it fits in" logic. It is not a strawman one-box-per-item baseline, which would produce far more flattering numbers. - Your own numbers depend on your box line-up as much as on the solver. If you stock three box sizes, there is less for any algorithm to find.
To see this on your own orders, run the free audit at cartonpilot.com/audit - no signup, no code.
MIT. See LICENSE.