North Carolina Utility Rate Estimator
ANA›Life Services Authority›National Calculator Authority›North Carolina Utility Rate Estimator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
North Carolina Utility Rate Estimator
Estimate your monthly and annual utility costs for electricity, natural gas, and water based on North Carolina average rates and your household usage.
### Electricity
Monthly Electricity Usage (kWh)
NC average household: ~1,100 kWh/month (EIA 2023)
Utility Provider / Rate Tier
Duke Energy Carolinas – Residential (RS) Duke Energy Progress – Residential (RES) Dominion Energy NC – Residential NC Electric Membership Corp (EMC) – Average Custom Rate
Custom Electricity Rate (¢/kWh)
### Natural Gas
Monthly Natural Gas Usage (therms)
NC average household: ~50 therms/month in winter, ~10 in summer
Gas Provider
Piedmont Natural Gas – Residential Dominion Energy NC Gas – Residential Custom Rate
Custom Gas Rate ($/therm)
### Water & Sewer
Monthly Water Usage (gallons)
NC average household: ~3,000 gallons/month
Water Utility Type
Charlotte Water – Residential Tier City of Raleigh – Residential City of Durham – Residential NC Statewide Average Custom Rate
Custom Water Rate ($/1,000 gallons)
Sewer Charge (% of water bill)
Typical NC sewer charge is ~85% of water bill
Calculate Utility Costs
(function() {
// ── Rate tables (as of 2024 published tariffs) ──────────────────────────────
// Electricity: { baseCharge ($/mo), rate ($/kWh), fuelAdder ($/kWh) } // Duke Energy Carolinas RS: base $14.00, energy 10.2¢/kWh + fuel ~2.1¢ // Duke Energy Progress RES: base $14.00, energy 10.0¢/kWh + fuel ~2.3¢ // Dominion NC: base $7.00, energy 9.8¢/kWh + fuel ~2.5¢ // NC EMC average: base $20.00, energy 11.5¢/kWh (all-in) const elecRates = { duke_residential: { base: 14.00, energy: 0.1020, fuel: 0.0210 }, duke_progress: { base: 14.00, energy: 0.1000, fuel: 0.0230 }, dominion: { base: 7.00, energy: 0.0980, fuel: 0.0250 }, nc_emc: { base: 20.00, energy: 0.1150, fuel: 0.0000 }, custom_elec: null };
// Natural Gas: { baseCharge ($/mo), commodity ($/therm), distribution ($/therm) } // Piedmont Natural Gas Residential: base $12.00, distribution $0.3850/therm, commodity ~$0.75/therm // Dominion Energy NC Gas: base $10.00, distribution $0.4200/therm, commodity ~$0.72/therm const gasRates = { piedmont: { base: 12.00, distribution: 0.3850, commodity: 0.7500 }, dominion_gas: { base: 10.00, distribution: 0.4200, commodity: 0.7200 }, custom_gas: null };
// Water: { baseCharge ($/mo), tiers: [{limit (gal), rate ($/1000 gal)}] } // Charlotte Water: base $4.50; 0-2000 gal @$3.80, 2001-5000 @$5.10, 5001+ @$7.20 // Raleigh: base $5.00; 0-2000 @$3.50, 2001-5000 @$4.80, 5001+ @$6.90 // Durham: base $6.00; 0-2000 @$4.00, 2001-5000 @$5.50, 5001+ @$7.80 // NC Avg: base $5.00; flat $5.00/1000 gal const waterRates = { charlotte: { base: 4.50, tiers: [ { limit: 2000, rate: 3.80 }, { limit: 5000, rate: 5.10 }, { limit: Infinity, rate: 7.20 } ] }, raleigh: { base: 5.00, tiers: [ { limit: 2000, rate: 3.50 }, { limit: 5000, rate: 4.80 }, { limit: Infinity, rate: 6.90 } ] }, durham: { base: 6.00, tiers: [ { limit: 2000, rate: 4.00 }, { limit: 5000, rate: 5.50 }, { limit: Infinity, rate: 7.80 } ] }, nc_avg: { base: 5.00, tiers: [ { limit: Infinity, rate: 5.00 } ] }, custom_water: null };
// ── Show/hide custom inputs ────────────────────────────────────────────────── document.getElementById('nor-elec-tier').addEventListener('change', function() { document.getElementById('nor-custom-elec-wrap').style.display = this.value === 'custom_elec' ? 'block' : 'none'; }); document.getElementById('nor-gas-provider').addEventListener('change', function() { document.getElementById('nor-custom-gas-wrap').style.display = this.value === 'custom_gas' ? 'block' : 'none'; }); document.getElementById('nor-water-tier').addEventListener('change', function() { document.getElementById('nor-custom-water-wrap').style.display = this.value === 'custom_water' ? 'block' : 'none'; });
// ── Tiered water billing ───────────────────────────────────────────────────── function calcTieredWater(gallons, tiers) { let cost = 0; let remaining = gallons; let prev = 0; for (const tier of tiers) { const tierSize = tier.limit === Infinity ? remaining : Math.min(remaining, tier.limit - prev); if (tierSize 50000)) { errors.push('Monthly electricity usage must be between 0 and 50,000 kWh.'); } if (elecTier === 'custom_elec' && kwhStr !== '') { const cr = parseFloat(customElecRateStr); if (customElecRateStr === '' || isNaN(cr) || cr 100) { errors.push('Custom electricity rate must be between 0 and 100 ¢/kWh.'); } } if (thermsStr !== '' && (isNaN(therms) || therms 5000)) { errors.push('Monthly gas usage must be between 0 and 5,000 therms.'); } if (gasProvider === 'custom_gas' && thermsStr !== '') { const cr = parseFloat(customGasRateStr); if (customGasRateStr === '' || isNaN(cr) || cr 50) { errors.push('Custom gas rate must be between 0 and $50/therm.'); } } if (gallonsStr !== '' && (isNaN(gallons) || gallons 500000)) { errors.push('Monthly water usage must be between 0 and 500,000 gallons.'); } if (waterTier === 'custom_water' && gallonsStr !== '') { const cr = parseFloat(customWaterRateStr); if (customWaterRateStr === '' || isNaN(cr) || cr 100) { errors.push('Custom water rate must be between 0 and $100/1,000 gallons.'); } } if (isNaN(sewerPct) || sewerPct 200) { errors.push('Sewer charge percentage must be between 0% and 200%.'); }
const resultDiv = document.getElementById('nor-result'); if (errors.length > 0) { resultDiv.style.display = 'block'; resultDiv.innerHTML = 'Please fix the following:' + errors.map(e => '').join('') + ''; return; }
// ── Electricity Calculation ───────────────────────────────────────────────── // Formula: Monthly Bill = Base Charge + (kWh × (Energy Rate + Fuel Adder)) // NC also applies a 7% state sales tax on electricity const NC_ELEC_TAX = 0.07; let elecMonthly = 0, elecBase = 0, elecEnergy = 0, elecFuel = 0, elecTax = 0; let elecRateDisplay = '';
if (kwhStr !== '' && !isNaN(kwh)) { if (elecTier === 'custom_elec') { const customCents = parseFloat(customElecRateStr); elecBase = 0; elecEnergy = kwh * (customCents / 100); elecFuel = 0; elecRateDisplay = customCents.toFixed(2) + ' ¢/kWh (custom)'; } else { const r = elecRates[elecTier]; elecBase = r.base; elecEnergy = kwh * r.energy; elecFuel = kwh * r.fuel; elecRateDisplay = ((r.energy + r.fuel) * 100).toFixed(2) + ' ¢/kWh (energy + fuel)'; } const elecSubtotal = elecBase + elecEnergy + elecFuel; elecTax = elecSubtotal * NC_ELEC_TAX; elecMonthly = elecSubtotal + elecTax; }
// ── Gas Calculation ───────────────────────────────────────────────────────── // Formula: Monthly Bill = Base Charge + (therms × (Distribution Rate + Commodity Rate)) // NC sales tax on gas: 7% const NC_GAS_TAX = 0.07; let gasMonthly = 0, gasBase = 0, gasDist = 0, gasCommodity = 0, gasTax = 0; let gasRateDisplay = '';
if (thermsStr !== '' && !isNaN(therms)) { if (gasProvider === 'custom_gas') { const customGas = parseFloat(customGasRateStr); gasBase = 0; gasDist = 0; gasCommodity = therms * customGas; gasRateDisplay = '$' + customGas.toFixed(2) + '/therm (custom)'; } else { const r = gasRates[gasProvider]; gasBase = r.base; gasDist = therms * r.distribution; gasCommodity = therms * r.commodity; gasRateDisplay = '$' + (r.distribution + r.commodity).toFixed(4) + '/therm (dist + commodity)'; } const gasSubtotal = gasBase + gasDist + gasCommodity; gasTax = gasSubtotal * NC_GAS_TAX; gasMonthly = gasSubtotal + gasTax; }
// ── Water Calculation ─────────────────────────────────────────────────────── // Formula: Monthly Water Bill = Base Charge + Tiered Usage Charge // Sewer Bill = Water Bill × (Sewer %) // Total Water+Sewer = Water Bill + Sewer Bill let waterMonthly = 0, sewerMonthly = 0, waterBase = 0, waterUsage = 0; let waterRateDisplay = '';
if (gallonsStr !== '' && !isNaN(gallons)) { if (waterTier === 'custom_water') { const customWater = parseFloat(customWaterRateStr); waterBase = 0; waterUsage = (gallons / 1000) * customWater; waterRateDisplay = '$' + customWater.toFixed(2) + '/1,000 gal (custom, flat)'; } else { const r = waterRates[waterTier]; waterBase = r.base; waterUsage = calcTieredWater(gallons, r.tiers); waterRateDisplay = 'Tiered rate schedule'; } waterMonthly = waterBase + waterUsage; sewerMonthly = waterMonthly * (sewerPct / 100); }
const waterSewerMonthly = waterMonthly + sewerMonthly;
// ── Totals ────────────────────────────────────────────────────────────────── const totalMonthly = elecMonthly + gasMonthly + waterSewerMonthly; const totalAnnual = totalMonthly * 12;
// ── Build output ───────────────────────────────────────────────────────────── function fmt(n) { return '$' + n.toFixed(2); } function fmtAnn(n) { return '$' + (n * 12).toFixed(2); }
let html = '### 📊 Estimated Utility Costs ';
// Electricity block if (kwhStr !== '' && !isNaN(kwh)) { html += '#### ⚡ Electricity '; html += 'Base / Customer Charge' + fmt(elecBase) + ''; html += 'Energy Charge (' + kwh.toLocaleString() + ' kWh × rate)' + fmt(elecEnergy) + ''; if (elecFuel > 0) html += 'Fuel Adjustment' + fmt(elecFuel) + ''; html += 'NC Sales Tax (7%)' + fmt(elecTax) + ''; html += 'Monthly Electricity' + fmt(elecMonthly) + ''; html += 'Annual Electricity' + fmtAnn(elecMonthly) + ''; html += ''; }
// Gas block if (thermsStr !== '' && !isNaN(therms)) { html += '#### 🔥 Natural Gas '; html += 'Base / Customer Charge' + fmt(gasBase) + ''; if (gasDist > 0) html += 'Distribution Charge (' + therms + ' therms)' + fmt(gasDist) + ''; html += 'Commodity Charge (' + therms + ' therms)' + fmt(gasCommodity) + ''; html += 'NC Sales Tax (7%)' + fmt(gasTax) + ''; html += 'Monthly Gas' + fmt(gasMonthly) + ''; html += 'Annual Gas' + fmtAnn(gasMonthly) + ''; html += ''; }
// Water block if (gallonsStr !== '' && !isNaN(gallons)) { html += '#### 💧 Water & Sewer '; html += 'Base / Meter Charge' + fmt(waterBase) + ''; html += 'Usage Charge (' + gallons.toLocaleString() + ' gal)' + fmt(waterUsage) + ''; html += 'Water Subtotal' + fmt(waterMonthly) + ''; html += 'Sewer Charge (' + sewerPct + '% of water)' + fmt(sewerMonthly) + ''; html += 'Monthly Water + Sewer' + fmt(waterSewerMonthly) + ''; html += 'Annual Water + Sewer' + fmtAnn(waterSewerMonthly) + ''; html += ''; }
// Grand total html += ''; html += 'Total Monthly Utility Cost: ' + fmt(totalMonthly) + '
'; html += 'Total Annual Utility Cost: ' + fmt(totalAnnual) + '
'; html += '';
// Breakdown bar if (totalMonthly > 0) { const elecPct = (elecMonthly / totalMonthly * 100).toFixed(1); const gasPct = (gasMonthly / totalMonthly * 100).toFixed(1); const watPct = (waterSewerMonthly / totalMonthly * 100).toFixed(1); html += ''; if (elecMonthly > 0) html += '⚡ Electricity: ' + elecPct + '% '; if (gasMonthly > 0) html += '🔥 Gas: ' + gasPct + '% '; if (waterSewerMonthly > 0) html += '💧 Water+Sewer: ' + watPct + '%'; html += '
'; }
resultDiv.style.display = 'block'; resultDiv.innerHTML = html; };
})();
#### Formulas Used
Electricity Monthly Bill = Base Charge + (kWh × Energy Rate) + (kWh × Fuel Adder) + 7% NC Sales Tax
Natural Gas Monthly Bill = Base Charge + (Therms × Distribution Rate) + (Therms × Commodity Rate) + 7% NC Sales Tax
Water Monthly Bill = Base Charge + Tiered Usage Charge where Tiered Usage = ∑ [(gallons in tier ÷ 1,000) × tier rate]
Sewer Monthly Bill = Water Bill × Sewer Percentage (typically 85%)
Total Monthly Cost = Electricity + Gas + Water + Sewer
Total Annual Cost = Total Monthly × 12
#### Assumptions & References
- Duke Energy Carolinas (RS): Base $14.00/mo; 10.20 ¢/kWh energy + 2.10 ¢/kWh fuel adjustment. Source: Duke Energy NC Rate Schedule RS, 2024.
- Duke Energy Progress (RES): Base $14.00/mo; 10.00 ¢/kWh energy + 2.30 ¢/kWh fuel adjustment. Source: Duke Energy Progress Rate Schedule RES, 2024.
- Dominion Energy NC (Electric): Base $7.00/mo; 9.80 ¢/kWh energy + 2.50 ¢/kWh fuel. Source: Dominion Energy NC Tariff, 2024.
- NC EMC Average: Base $20.00/mo; 11.50 ¢/kWh all-in. Source: NC Electric Membership Corporation average residential rate, 2023.
- Piedmont Natural Gas: Base $12.00/mo; $0.385/therm distribution + ~$0.75/therm commodity. Source: Piedmont Natural Gas Rate Schedule R-1, 2024.
- Dominion Energy NC (Gas): Base $10.00/mo; $0.42/therm distribution + ~$0.72/therm commodity. Source: Dominion Energy NC Gas Tariff, 2024.
- Charlotte Water: Base $4.50/mo; tiered at $3.80 (0–2,000 gal), $5.10 (2,001–5,000 gal), $7.20 (5,001+ gal). Source: Charlotte Water Rate Schedule, FY2024.
- City of Raleigh Water: Base $5.00/mo; tiered at $3.50, $4.80, $6.90/1,000 gal. Source: City of Raleigh Utility Rates, 2024.
- City of Durham Water: Base $6.00/mo; tiered at $4.00, $5.50, $7.80/1,000 gal. Source: City of Durham Utility Billing, 2024.
- NC Statewide Average Water: Flat $5.00/1,000 gal + $5.00 base. Source: AWWA Water Rate Survey 2023.
- Sewer: Typically billed as a percentage of water consumption (default 85%). Varies by municipality.
- NC Sales Tax: 7% applied to electricity and natural gas per NC General Statute § 105-164.4.
- Average Usage: NC average residential electricity ~1,100 kWh/month (EIA, 2023). Average water ~3,000 gal/month (EPA WaterSense).
More Calculators
- Drain Pipe Slope Calculator
- Arizona Commercial Property Lease Rate Calculator
- Assisted Living Cost Estimator
- Rising Sign (Ascendant) Calculator
- Activities of Daily Living (ADL) Score Calculator
- Fall Risk Assessment Score Calculator
- Termite Damage Risk Calculator
- Pest Prevention Savings Calculator
- Water Heater Size Calculator
- Water Usage & Cost Calculator
- Pool Volume Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...