BI Analyst Case Study: Optimizing Revenue Logic & Digital Gold Dashboard Strategy
Sebagai Business Intelligence Analyst di sebuah platform Wealth-Tech (Manajemen Aset), saya menangani dua tantangan utama: (1) Pembersihan Data Pendapatan untuk polis yang tumpang tindih, dan (2) Perancangan Matriks untuk Dashboard Strategis untuk peluncuran produk Emas Digital.
Part 1: The Data Logic Challenge
1. Raw Data Structure & The Problem
Perusahaan memiliki produk Asset Protection. Struktur data mentah mencatat setiap pembaruan paket sebagai baris baru. Tantangannya adalah menentukan mana paket yang harus dijumlahkan (karena masih aktif) dan mana yang harus dibuang (karena sudah expired). Rank menunjukan urutan order per user. Start Date adalah tanggal awal polis berlaku, sedangkan End Date adalah tanggal kadaluarsa polis.
Perhatikan User 9027429831 (Baris 1 & 2):
| user_id | order_rank | date_start | date_end | premium |
|---|---|---|---|---|
| 9027... | 1 | 01/01/23 | 31/03/23 | 50,000 |
| 9027... | 2 | 01/02/23 | 30/04/23 | 600,000 |
| 9027... | 3 | 01/03/23 | 31/05/23 | 45,000 |
The Issue: Handling Expiry Logic
Kasus Overlap (Februari):
Saat Order 2 mulai (1 Feb), Order 1 (berakhir 31 Mar) MASIH AKTIF. Secara bisnis, premi keduanya harus DIJUMLAHKAN (Accumulated Coverage).
50,000 + 600,000 = 650,000
(Hasil disimpan sebagai kolom Active Premium)
Masalah SQL Biasa:
Query SUM() standar tanpa filter tanggal akan menjumlahkan SEMUA riwayat, termasuk paket yang sudah expired (misal order tahun lalu).
Objective: Membuat logika SQL yang cerdas: Hanya menjumlahkan order lama JIKA tanggalnya belum berakhir.
2. The SQL Solution
Saya menggunakan STR_TO_DATE untuk membandingkan date_end order lama dengan date_start order baru.
/* OBJECTIVE: Sum premiums ONLY if the policy is still active (Not Expired) */
SELECT
date_start,
date_end,
user_id,
order_rank,
premium,
(
SELECT SUM(premium)
FROM dummy_data sub
WHERE
sub.user_id = main.user_id
AND sub.order_rank <= main.order_rank
AND STR_TO_DATE(sub.date_end, '%d/%m/%Y') >= STR_TO_DATE(main.date_start, '%d/%m/%Y')
) AS active_premium,
CASE
WHEN (
SELECT SUM(premium)
FROM dummy_data sub
WHERE
sub.user_id = main.user_id
AND sub.order_rank <= main.order_rank
AND STR_TO_DATE(sub.date_end, '%d/%m/%Y') >= STR_TO_DATE(main.date_start, '%d/%m/%Y')
) >= 300000 THEN 'TRUE'
ELSE 'FALSE'
END AS flag
FROM
dummy_data main
ORDER BY
user_id ASC,
order_rank ASC;
(dummy_data) agar sistem dapat membedakan peran baris saat melakukan operasi perbandingan data (self-join). Alias main (pada outer query) merepresentasikan baris data 'saat ini' yang sedang diproses atau dihitung, bertindak sebagai titik acuan waktu. Sementara itu, alias sub (pada subquery) merepresentasikan daftar riwayat transaksi yang dipindai untuk mencari data pendukung yang relevan dengan baris main tersebut. Logika filter (WHERE clause) dalam correlated subquery ini kemudian dirancang dengan tiga lapisan validasi untuk memastikan perhitungan Active Premium yang akurat.
sub.user_id = main.user_id berfungsi untuk mengisolasi data, memastikan bahwa agregasi premi hanya dilakukan terhadap riwayat transaksi milik pengguna yang sama (tidak bercampur dengan pengguna lain). Kedua, kondisi sub.order_rank <= main.order_rank menetapkan batasan kronologis (running window), di mana perhitungan hanya boleh memperhitungkan transaksi yang terjadi di masa lalu hingga saat ini, tanpa melihat data masa depan. Terakhir dan yang paling krusial, kondisi sub.date_end >= main.date_start berfungsi sebagai validasi status aktif; logika ini memastikan bahwa polis dari order sebelumnya hanya akan dijumlahkan apabila masa berlakunya masih aktif atau tumpang tindih (overlap) saat order yang baru dimulai, sehingga polis yang sudah kadaluarsa secara otomatis dikecualikan dari total kewajiban perusahaan.
Part 2: Digital Gold Dashboard Strategy
Business Scenario & Task
Scenario: Sebuah platform Wealth-Tech meluncurkan produk inovatif: Digital Gold. Produk ini memberdayakan pengguna untuk berinvestasi emas secara digital (Jual/Beli) mengikuti harga pasar. Bisnis mendapatkan keuntungan dari biaya transaksi (fees) setiap kali pengguna membeli atau menjual emas mereka.
The Task: Sebagai BI Analyst, saya dipercaya oleh tim bisnis untuk mengembangkan Dashboard Komprehensif. Dashboard ini ditujukan sebagai alat strategis untuk memantau dan menganalisis metrik performa produk baru tersebut.
Scope of Work (Deliverables):
- (a) Menentukan metrik monitoring, definisi, dan kalkulasinya.
- (b) Menjelaskan urgensi metrik terhadap performa bisnis.
- (c) Menentukan jenis chart yang tepat dan membuat Mockup Dashboard.
A. Key Metrics Strategy
Berikut adalah metrik yang saya pilih untuk menjawab kebutuhan bisnis (Poin a & b):
-
1. Net Fee Revenue ProfitabilityDef: Total pendapatan bersih dari biaya admin (Jual + Beli).Formula:
(Total Buy Amount * Buy Fee %) + (Total Sell Amount * Sell Fee %)Why: Sumber pendapatan utama. Bisnis perlu tahu apakah produk menguntungkan. -
2. GMV (Transaction Value) LiquidityDef: Total nilai uang (Rupiah) yang berputar dalam transaksi.Formula:
SUM(Total Buy Amount) + SUM(Total Sell Amount)Why: Menunjukkan skala pasar (*market size*) dan likuiditas produk. -
3. Active Transacting Users User GrowthDef: Jumlah user unik yang melakukan minimal 1 transaksi.Formula:
COUNT(DISTINCT user_id)Why: Indikator adopsi produk. Tanpa pertumbuhan user, GMV tidak akan berkelanjutan. -
4. Total Transaction Count ActivityDef: Frekuensi total transaksi (Jual + Beli).Formula:
COUNT(Transaction_ID)Why: Memonitor beban sistem dan tingkat interaksi user (engagement). -
5. Gold AUM (Assets Under Management) RetentionDef: Total gram emas yang tersimpan di saldo user saat ini.Formula:
SUM(Total Grams Bought) - SUM(Total Grams Sold)Why: Indikator kepercayaan. Menunjukkan user menabung jangka panjang. -
6. Buy/Sell Ratio SentimentDef: Rasio volume pembelian dibagi penjualan.Formula:
Total Buy Volume / Total Sell VolumeWhy: Peringatan dini (*early warning*). Rasio jual tinggi = Panic Selling.
B. Visualization & Mockup
Implementasi chart yang dipilih untuk representasi visual (Poin c):
Mockup Dashboard Performance Digital Gold
Chart Selection Logic:
- Scorecards: Untuk melihat performa instan (Revenue, GMV, Active Users).
- Line Chart (Dual Axis): Memantau tren pertumbuhan Revenue & GMV dari waktu ke waktu.
- Area Chart: Khusus untuk memantau tren pertumbuhan Gold AUM (Gramasi), untuk menonjolkan akumulasi aset.
- Stacked Bar Chart: Membandingkan komposisi volume Buy vs Sell per bulan.
Post a Comment