Understanding the Market Share Index (MSI) Calculation
The Market Share Index (MSI) is a critical marketing metric used to estimate a brand's potential market share based on various stages of the customer's path to purchase. Unlike historical market share, which tells you what happened in the past, the MSI identifies leaks in the marketing funnel where you are losing potential customers.
This reveals that even with 90% awareness, the final market share is limited by lower preference and intent stages. A business owner can use this data to decide whether to spend more on advertising (awareness) or product improvement (preference).
function calculateMSI() {
var awareness = parseFloat(document.getElementById('awareness').value) / 100;
var preference = parseFloat(document.getElementById('preference').value) / 100;
var intent = parseFloat(document.getElementById('intent').value) / 100;
var availability = parseFloat(document.getElementById('availability').value) / 100;
var satisfaction = parseFloat(document.getElementById('satisfaction').value) / 100;
if (isNaN(awareness) || isNaN(preference) || isNaN(intent) || isNaN(availability) || isNaN(satisfaction)) {
alert("Please enter valid numerical values for all fields.");
return;
}
var msi = awareness * preference * intent * availability * satisfaction;
var msiPercentage = (msi * 100).toFixed(2);
var resultArea = document.getElementById('msi-result-area');
var valueDisplay = document.getElementById('msi-value');
var interpretation = document.getElementById('msi-interpretation');
resultArea.style.display = 'block';
valueDisplay.innerHTML = msiPercentage + "%";
var message = "";
if (msiPercentage < 5) {
message = "Your MSI is low. Focus on identifying the 'bottleneck' input. Usually, a low MSI is caused by weak intent to buy or poor availability.";
} else if (msiPercentage < 15) {
message = "You have a moderate Market Share Index. Improving your Preference or Satisfaction scores could yield the highest ROI.";
} else {
message = "Excellent MSI! Your marketing funnel is highly efficient across all customer touchpoints.";
}
interpretation.innerHTML = message;
// Smooth scroll to result
resultArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}