Calculator · E-commerce
Returned Inventory Recovery Calculator
Calculate future net recovery from a batch of returned goods after handling, reconditioning and disposal, without subtracting old costs twice.
Formula and cost boundary
Net recovery = returned units × [recovery share × (net resale price − reconditioning) − handling − (1 − recovery share) × disposal]
The recovery percentage is the share of returned units expected to be sold again; it is not a percentage of original revenue. Enter net resale proceeds after resale selling fees. Reconditioning applies only to recoverable units; handling applies to every returned unit and disposal applies to the remainder. Original product cost, original shipping and customer refunds are outside this forward decision boundary. Expected recovered units can be fractional. Negative recovery remains visible; a batch with zero returns has no per-return denominator.
Worked example: Partial recovery of returned batch
The following inputs are hypothetical values for checking the calculation. They are not recommended prices, wages, margins or platform charges. Keep the units and period shown in each label when replacing them with your own records.
| Input | Example value |
|---|---|
| Returned units | 100 units |
| Returned units expected to be resold | 60% |
| Net resale proceeds per recovered unit | $30 |
| Reconditioning per recovered unit | $4 |
| Handling per returned unit | $2 |
| Disposal per unrecovered unit | $1 |
| Result | Calculated value |
|---|---|
| Net future recovery | $1,320 |
| Net resale proceeds | $1,800 |
| Incremental recovery costs | $480 |
| Net recovery per returned unit | $13.2/unit |
Using the result
Save the input set alongside the source date of each quote or cost record. Review the cost boundary before comparing this result with another report: a contribution measure may exclude overhead, and a cash measure follows payment dates. Display rounding does not change the underlying assumptions. Recalculate when an input changes; the tool does not predict future sales or collections.
Are any rates supplied automatically?
No. Numeric fields are your inputs. Example values demonstrate arithmetic only. Check your contracts and records for the amounts that apply to your business.
Why might a result be unavailable or negative?
A missing denominator or inconsistent inputs can make the calculation undefined. Those combinations are rejected or labeled explicitly. A valid negative result remains visible because it may identify a loss or cash shortfall.
Method reference: OpenStax: Relevant Information for Decisions. Checked October 22, 2026. Relevant future cost and counterfactual comparisons; all commercial assumptions are supplied by the user.
Related calculators & guides
- Promotion Incrementality: Compare with a Baseline
- Budget Coupon Redemptions Before a Campaign
- Discount Cannibalization: Price the Lost Full Sales
- Estimate the Cost of Loyalty Points
- Referral Rewards: Count Both Sides of the Offer
- Affiliate Commission vs Fixed Sponsorship
- Cashback vs Instant Discount: Cost and Timing
- Free Trials: Conversion and Contribution
- Introductory vs Renewal Pricing Economics
- Subscription Pauses vs Cancellations
- Measure a Customer Reactivation Campaign
- Upsell vs Cross-Sell: Incremental Contribution
- Price an Abandoned-Cart Recovery Offer
- Restock or Liquidate a Returned Product
- Exchange vs Refund: Follow the Incremental Cash
- Budget for Damaged-Delivery Replacements
- Moving Sales Channels: Retention and Transition Costs
- Payment Disputes: Outcome Cost Scenarios
- Digital Products: Include Support Cost per Buyer
- Gift Card Redemption: Cash and Delivery Obligations
- Promotion Contribution Lift Calculator
- Coupon Campaign Incrementality Calculator
- Channel Migration Contribution Calculator
- Coupon Incrementality Reference Table
- Returned Goods Recovery Reference
- Worked Example: Coupon Orders and Natural Buyers
- Promotion and Recovery Economics Workbook
- E-commerce Unit Economics Workbook
Report an error
Thank you! Your feedback helps us make this page better.
Could not send. Please try again.