*Rates are estimates based on typical residential structures. Actual rates vary by municipality and city ordinances.
Understanding Recology Rates and Waste Management Fees
Calculating your monthly waste management bill can be complex because rates are determined by municipal ordinances rather than a simple flat fee. Most Recology service areas utilize a "Pay-As-You-Throw" model designed to incentivize recycling and composting while penalizing high volumes of landfill waste.
How the Rate Structure Works
While specific prices vary by city (e.g., San Francisco, Seattle, Mountain View), the formula generally consists of three primary components used in the calculator above:
Base Dwelling Charge: A fixed monthly fee per household unit that covers administrative costs, bin maintenance, and the basic infrastructure of the collection fleet.
Volumetric Trash Charge: This is the variable portion of your bill. You pay significantly more for larger landfill (black) bins. A 16-gallon bin is the most economical choice, while a 96-gallon bin attracts the highest fees.
Diversion Services (Recycling & Compost): In many jurisdictions, the cost of recycling (blue bin) and composting (green bin) is bundled into the base rate or offered at a subsidized rate to encourage zero waste goals.
Strategies to Lower Your Recology Bill
Since the primary cost driver is the size of your landfill bin, the most effective way to lower your monthly bill is to "right-size" your service.
1. Audit Your Waste
Before changing your service, track your waste for two weeks. If you notice your black bin is only half full on collection day, you are paying for capacity you don't use.
2. Downsize the Black Bin
Moving from a standard 32-gallon trash bin to a 16-gallon insert can save homeowners approximately $10-$20 per month depending on the specific city rates. This adds up to significant annual savings.
3. Maximize Diversion
Ensure all food scraps, soiled paper, and yard trimmings go into the green compost bin. Ensure all rigid plastics, glass, metals, and clean paper go into the blue recycling bin. By diverting this material, you make downsizing the expensive black bin feasible.
Low-Income and Senior Discounts
Many municipalities offer a "Lifeline" or low-income discount, typically ranging from 15% to 25% off the total bill. This usually requires proof of income or enrollment in other utility assistance programs (like PG&E CARE). Ensure you check the box in the calculator to see how these programs impact your bottom line.
function calculateRates() {
// Inputs
var trashSize = parseInt(document.getElementById('trashSize').value);
var unitCount = parseInt(document.getElementById('unitCount').value);
var isLifeline = document.getElementById('lifelineDiscount').checked;
// Validation
if (isNaN(unitCount) || unitCount < 1) {
unitCount = 1;
document.getElementById('unitCount').value = 1;
}
// Rate Constants (Estimates based on typical Metro Residential Rates)
// Note: These are representative values for calculation logic, not exact legal tariffs for a specific day.
var baseChargePerUnit = 21.55;
// Trash Tier Pricing (Volumetric model)
var trashPrice = 0;
if (trashSize === 16) {
trashPrice = 25.90;
} else if (trashSize === 32) {
trashPrice = 45.35;
} else if (trashSize === 64) {
trashPrice = 90.70;
} else if (trashSize === 96) {
trashPrice = 136.05;
}
// Calculations
var totalBaseCharge = baseChargePerUnit * unitCount;
var totalTrashCharge = trashPrice; // Usually bin charge is per bin, assuming 1 main bin per account for this calc
var subTotal = totalBaseCharge + totalTrashCharge;
var discountAmount = 0;
if (isLifeline) {
discountAmount = subTotal * 0.25; // 25% discount
}
var finalTotal = subTotal – discountAmount;
// Display Results
document.getElementById('baseChargeDisplay').innerHTML = '$' + totalBaseCharge.toFixed(2);
document.getElementById('trashChargeDisplay').innerHTML = '$' + totalTrashCharge.toFixed(2);
if (isLifeline) {
document.getElementById('discountRow').style.display = 'flex';
document.getElementById('discountDisplay').innerHTML = '-$' + discountAmount.toFixed(2);
} else {
document.getElementById('discountRow').style.display = 'none';
}
document.getElementById('totalBillDisplay').innerHTML = '$' + finalTotal.toFixed(2);
// Show result container
document.getElementById('resultContainer').style.display = 'block';
}