<!
DOCTYPE html>
<html>
<head>
<title>Pareto Analysis - Sigma Cloud Revenue Q4 2024</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
body { font-family: Arial, sans-serif; }
.container { width: 1200px; margin: 40px auto; }
h2 { text-align: center; }
</style>
</head>
<body>
<div class="container">
<h2>Pareto Chart: Sigma Cloud Revenue Q4 2024</h2>
<canvas id="paretoChart"></canvas>
</div>
<script>
// Data: Top cloud products and their revenues
const products = [
'Cloud Microsoft Modern Work & Business App',
'Personal Cloud',
'Cloud Alibaba',
'Cloud Manage Services',
'Telkomcloud Compute',
'TelkomCloud (L3)',
'Cloud GCP',
'Flou ECS',
'Dedicated Private Cloud',
'Cloud Oracle',
'Cloud AWS'
];
const revenues = [
68623058836, 44326794371, 42539531668, 42613212562, 35813141094,
24377176321, 19336729589, 13593808339, 9928814265, 8876794668, 7949527489
];
const total = revenues.reduce((a, b) => a + b, 0);
let cumulative = 0;
const cumPercent = revenues.map(val => {
cumulative += val;
return +(cumulative / total * 100).toFixed(1);
});
const ctx = document.getElementById('paretoChart').getContext('2d');
const data = {
labels: products,
datasets: [
{
type: 'bar',
label: 'Revenue (IDR)',
data: revenues,
yAxisID: 'y1',
},
{
type: 'line',
label: 'Cumulative %',
data: cumPercent,
yAxisID: 'y2',
borderColor: 'red',
backgroundColor: 'red',
fill: false,
pointStyle: 'circle',
tension: 0.3
}
]
};
const config = {
data: data,
options: {
plugins: {
legend: { display: true }
},
scales: {
y1: {
type: 'linear',
position: 'left',
title: { display: true, text: 'Revenue (IDR)' },
beginAtZero: true
},
y2: {
type: 'linear',
position: 'right',
min: 0, max: 100,
grid: { drawOnChartArea: false },
title: { display: true, text: 'Cumulative %' }
}
}
}
};
new Chart(ctx, config);
</script>
</body>
</html>