Mst Rate Plan Calculator

MST Rate Plan Calculator

Calculate your Minimum Service Threshold and Monthly Totals

Calculated Usage Subtotal: $0.00
Note: Minimum Service Threshold (MST) applied.
Applied Subtotal: $0.00
Tax/Regulatory Amount: $0.00
Total Monthly Plan Cost: $0.00

Understanding the MST Rate Plan

A Minimum Service Threshold (MST) Rate Plan is a billing structure commonly used in utility, telecommunications, and SaaS sectors. Unlike a standard "pay-per-use" model, an MST plan guarantees a minimum revenue for the provider while offering a tiered or variable pricing structure for the consumer.

How the MST Calculation Works

The total cost is determined by combining your base subscription fee with your actual usage. The critical factor is the "MST Floor." If your combined base fee and usage fall below this floor, you are billed the MST Floor amount instead of the actual usage amount. This ensures the service provider covers their infrastructure and support costs.

  • Base Service Fee: The fixed monthly cost for access to the platform or service.
  • Total Units: The volume of consumption (e.g., data gigabytes, kWh, user seats).
  • Rate Per Unit: The variable price charged for every unit of consumption.
  • MST Floor: The minimum dollar amount you must pay regardless of how low your usage is.
  • Tax/Regulatory: Government-mandated fees or service taxes applied to the final subtotal.

Example Scenario

Suppose your plan has a Base Fee of $50, a Rate of $0.10 per unit, and an MST Floor of $100. If you use 200 units:

Usage Cost: 200 * $0.10 = $20
Subtotal: $50 (Base) + $20 (Usage) = $70
Since $70 is less than the $100 MST Floor, you are billed $100.

If you used 600 units, your subtotal would be $110. Since $110 is higher than the MST Floor, you would be billed the actual amount of $110 (plus taxes).

function calculateMST() { // Get Input Values var base = parseFloat(document.getElementById('baseFee').value); var units = parseFloat(document.getElementById('unitsCount').value); var rate = parseFloat(document.getElementById('unitRate').value); var mst = parseFloat(document.getElementById('minThreshold').value); var taxRate = parseFloat(document.getElementById('taxRate').value); // Validate Inputs if (isNaN(base) || isNaN(units) || isNaN(rate) || isNaN(mst) || isNaN(taxRate)) { alert("Please fill in all fields with valid numbers."); return; } // Calculate Usage Subtotal var usageCost = units * rate; var calculatedSubtotal = base + usageCost; // Set UI elements var appliedSubtotal = calculatedSubtotal; var thresholdAlert = document.getElementById('thresholdAlert'); // Apply MST Logic if (calculatedSubtotal < mst) { appliedSubtotal = mst; thresholdAlert.style.display = 'block'; } else { thresholdAlert.style.display = 'none'; } // Calculate Taxes var taxAmount = appliedSubtotal * (taxRate / 100); var finalTotal = appliedSubtotal + taxAmount; // Display Results document.getElementById('usageSubtotalValue').innerText = '$' + calculatedSubtotal.toFixed(2); document.getElementById('appliedSubtotalValue').innerText = '$' + appliedSubtotal.toFixed(2); document.getElementById('taxValue').innerText = '$' + taxAmount.toFixed(2); document.getElementById('totalCostValue').innerText = '$' + finalTotal.toFixed(2); // Show Result Container var resultDiv = document.getElementById('mstResult'); resultDiv.style.display = 'block'; resultDiv.style.backgroundColor = (calculatedSubtotal < mst) ? '#fff8e1' : '#e8f5e9'; }

Leave a Comment