Calculate your net margins, ROI, and Amazon fees accurately.
Product Revenue
Product Costs
Amazon FBA Fees
Marketing & Other
Net Profit (Monthly)$0.00
Profit Margin0%
Return on Investment (ROI)0%
Total Fees per unit: $0.00Net Profit per unit: $0.00
Understanding Amazon FBA Profitability
Selling on Amazon FBA (Fulfillment by Amazon) is a powerful way to scale an e-commerce business, but the fee structure can be complex. To ensure your business remains sustainable, you must look beyond top-line revenue and focus on net margins.
Key Metrics Explained
Referral Fee: This is the commission Amazon takes for bringing you the customer. For most categories, this is 15%.
Fulfillment Fee: A flat fee per unit based on the size and weight of your product. This covers picking, packing, and shipping.
Profit Margin: The percentage of your selling price that is pure profit. A healthy FBA margin is typically between 15% and 25%.
ROI (Return on Investment): Calculated by dividing your net profit by your total product costs (COGS + Shipping). This shows you how hard your capital is working for you.
Example Calculation
If you sell a yoga mat for $30:
Product Cost: $7.00
Shipping to Amazon: $1.00
Referral Fee (15%): $4.50
FBA Fulfillment Fee: $5.50
Net Profit: $12.00 per unit
Margin: 40%
By using this calculator, you can account for PPC (Pay-Per-Click) advertising costs and storage fees, which are often the "hidden" costs that turn a profitable product into a losing one.
function calculateFBAProfit() {
// Inputs
var salePrice = parseFloat(document.getElementById('salePrice').value) || 0;
var unitsSold = parseFloat(document.getElementById('unitsSold').value) || 0;
var itemCost = parseFloat(document.getElementById('itemCost').value) || 0;
var shippingToAmazon = parseFloat(document.getElementById('shippingToAmazon').value) || 0;
var referralFeePct = parseFloat(document.getElementById('referralFeePct').value) || 0;
var fulfillmentFee = parseFloat(document.getElementById('fulfillmentFee').value) || 0;
var ppcSpend = parseFloat(document.getElementById('ppcSpend').value) || 0;
var storageFees = parseFloat(document.getElementById('storageFees').value) || 0;
// Unit Logic
var referralFeeAmount = salePrice * (referralFeePct / 100);
var totalFeesPerUnit = referralFeeAmount + fulfillmentFee;
var landedCostPerUnit = itemCost + shippingToAmazon;
// Monthly Logic
var totalRevenue = salePrice * unitsSold;
var totalCOGS = landedCostPerUnit * unitsSold;
var totalAmazonFees = totalFeesPerUnit * unitsSold;
var totalExpenses = totalCOGS + totalAmazonFees + ppcSpend + storageFees;
var netProfitMonthly = totalRevenue – totalExpenses;
var netProfitPerUnit = unitsSold > 0 ? netProfitMonthly / unitsSold : 0;
var profitMargin = totalRevenue > 0 ? (netProfitMonthly / totalRevenue) * 100 : 0;
var roi = totalCOGS > 0 ? (netProfitMonthly / (totalCOGS + ppcSpend + storageFees)) * 100 : 0;
// Display Results
document.getElementById('results-area').style.display = 'block';
document.getElementById('res-net-profit').innerText = '$' + netProfitMonthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res-margin').innerText = profitMargin.toFixed(2) + '%';
document.getElementById('res-roi').innerText = roi.toFixed(2) + '%';
document.getElementById('res-unit-fees').innerText = '$' + totalFeesPerUnit.toFixed(2);
document.getElementById('res-unit-profit').innerText = '$' + netProfitPerUnit.toFixed(2);
// Scroll to results on mobile
if(window.innerWidth < 600) {
document.getElementById('results-area').scrollIntoView({behavior: 'smooth'});
}
}