Cost for names processed but not mailed (dropped).
The minimum percentage of the list you must pay for.
The percentage of names you expect to survive merge/purge.
Net Price Equivalent Rate (Effective CPM)
$0.00
How to Calculate Net Price Equivalent Rate
In direct marketing and mailing list rentals, the Net Price Equivalent Rate (or Effective CPM) is a critical metric for determining the true cost of a list rental agreement. While a list may have a high "Gross CPM" (Cost Per Thousand), many rental agreements operate on a "Net Name" basis. This means you only pay the full price for the names you actually mail, plus a smaller "run charge" for the names you discard during the merge/purge process.
This calculator helps marketers convert complex Net Name agreements into a single "Effective CPM" figure, allowing for an apples-to-apples comparison with lists that are sold on a flat Gross basis.
Understanding the Variables
Gross List Price (CPM): The base price per 1,000 names if you were to buy the list flat.
Run Charge: A nominal fee (usually $5-$10/M) charged for names that are supplied but not mailed (e.g., duplicates or unwanted records).
Net Minimum Guarantee: The floor percentage set by the list owner (typically 85%). You must pay the full rate on at least this percentage of the total quantity, even if your usage is lower.
Estimated Usage: The actual percentage of the list you expect to mail after performing merge/purge against your existing customer database.
The Calculation Formula
To calculate the Net Price Equivalent Rate, you must determine the weighted average cost of the names paid at the full rate versus the names paid at the run charge rate.
The formula follows this logic:
Determine Billable %: Compare your Estimated Usage against the Net Minimum Guarantee. The higher of the two is your "Billable Percentage".
Determine Run Charge %: Subtract the Billable Percentage from 100%. These are the names charged at the lower run rate.
Calculate Weighted Cost: (Billable % × Gross CPM) + (Run Charge % × Run Charge) = Net Price Equivalent Rate
Example Calculation
Let's say you are renting a list of 10,000 names under the following terms:
Gross CPM: $120/M
Run Charge: $8/M
Net Minimum: 85%
Actual Usage: 75% (You dropped 25% of names as duplicates)
Since your usage (75%) is lower than the minimum (85%), you pay the full price on 85% of the list.
Calculation:
Full Price Portion: 0.85 × $120 = $102.00
Run Charge Portion: 0.15 × $8 = $1.20 Net Price Equivalent Rate: $103.20 per thousand
Even though the Gross Price was $120, your effective rate is $103.20. If you had achieved a higher usage rate (e.g., 95%), your effective rate would be higher because you are paying the full price on a larger portion of the list.
function calculateNetRate() {
// Get inputs
var grossCPM = parseFloat(document.getElementById("grossCPM").value);
var runCharge = parseFloat(document.getElementById("runCharge").value);
var minNet = parseFloat(document.getElementById("minNet").value);
var estUsage = parseFloat(document.getElementById("estUsage").value);
// Validation
if (isNaN(grossCPM) || isNaN(runCharge) || isNaN(minNet) || isNaN(estUsage)) {
alert("Please enter valid numbers for all fields.");
return;
}
if (minNet 100 || estUsage 100) {
alert("Percentages must be between 0 and 100.");
return;
}
// Logic
// 1. Determine the percentage of names paid at full Gross Price
// Rule: You pay the higher of the Actual Usage or the Minimum Guarantee.
var billablePercent = Math.max(minNet, estUsage);
// 2. Determine the percentage of names paid at Run Charge
// Rule: The remaining names (100% – Billable%) differ.
// Note: In standard industry practice, you pay Run Charges on the difference between Total (100%) and Billable.
var runChargePercent = 100 – billablePercent;
// Convert percentages to decimals for calculation
var billableDecimal = billablePercent / 100;
var runChargeDecimal = runChargePercent / 100;
// Calculate cost components
var costFromFullPrice = billableDecimal * grossCPM;
var costFromRunCharge = runChargeDecimal * runCharge;
// Total Effective CPM
var totalEffectiveCPM = costFromFullPrice + costFromRunCharge;
// Display Results
var resultBox = document.getElementById("result");
var effectiveCPMDisplay = document.getElementById("effectiveCPM");
var breakdownDisplay = document.getElementById("breakdown");
resultBox.style.display = "block";
effectiveCPMDisplay.innerHTML = "$" + totalEffectiveCPM.toFixed(2) + " /M";
breakdownDisplay.innerHTML =
"Breakdown:" +
"Paid at Full Rate (" + billablePercent + "%): $" + costFromFullPrice.toFixed(2) + "" +
"Paid at Run Charge (" + runChargePercent.toFixed(1) + "%): $" + costFromRunCharge.toFixed(2);
}