Revenue Per Employee — Interactive Scatter Plot | FourWeekMBA
Employees'+(d[1]>=1000?(d[1]/1000).toFixed(1)+'M':d[1]+'K')+'
Quarterly Rev$'+d[2]+'B
Rev/Employee (Ann.)$'+(d[7]>=1000?(d[7]/1000).toFixed(1)+'M':d[7]+'K')+'
Sector'+d[4]+'
';
tip.style.display='block';moveTip(e);
}
function moveTip(e){var tx=e.clientX+16,ty=e.clientY-10;if(tx+260>window.innerWidth)tx=e.clientX-270;tip.style.left=tx+'px';tip.style.top=ty+'px';}
function hideTip(){tip.style.display='none';}
function renderLegend(){
var html='';
sectorKeys.forEach(function(s){
html+='';
});
document.getElementById('legendBar').innerHTML=html;
}
function toggleSector(s){activeSectors[s]=!activeSectors[s];renderLegend();drawChart();}
function renderStats(){
var sorted=DATA.slice().sort(function(a,b){return b[7]-a[7];});
var html='';
html+='$'+(sorted[0][7]>=1000?(sorted[0][7]/1000).toFixed(1)+'M':sorted[0][7]+'K')+'
Highest: '+sorted[0][0]+'
';
html+='$'+(sorted[sorted.length-1][7]>=1000?(sorted[sorted.length-1][7]/1000).toFixed(1)+'M':sorted[sorted.length-1][7]+'K')+'
Lowest: '+sorted[sorted.length-1][0]+'
';
var avg=Math.round(DATA.reduce(function(s,d){return s+d[7]},0)/DATA.length);
html+='$'+(avg>=1000?(avg/1000).toFixed(1)+'M':avg+'K')+'
Average (24 Companies)
';
var ratio=Math.round(sorted[0][7]/sorted[sorted.length-1][7]);
html+=''+ratio+'x
Gap: Top vs Bottom
';
document.getElementById('statsRow').innerHTML=html;
}
renderLegend();drawChart();renderStats();