You Can't Improve What You Don't Measure
Saya pernah menjalankan SaaS selama 6 bulan tanpa track metrics apapun. Hasilnya? Saya tidak tahu kenapa user churn, tidak tahu fitur mana yang dipakai, dan tidak tahu apakah bisnis ini sustainable atau tidak. Analytics bukan opsional untuk SaaS ini nadi bisnis Anda.
5 Metrics SaaS yang Paling Penting
1. MRR (Monthly Recurring Revenue)
Total revenue yang Anda dapatkan setiap bulan dari subscription. Ini adalah heartbeat SaaS Anda. Naik = sehat, turun = ada masalah.
2. Churn Rate
Persentase customer yang berhenti berlangganan per bulan. Target: kurang dari 5% bulanan.
3. LTV (Lifetime Value)
Total revenue yang dihasilkan dari satu customer selama menjadi subscriber. Formula: LTV = ARPU / Churn Rate
4. CAC (Customer Acquisition Cost)
Total biaya untuk mendapatkan satu customer baru. Target: LTV harus minimal 3x CAC untuk bisnis sustainable.
5. Activation Rate
Persentase user baru yang berhasil melakukan activation action. Ini leading indicator yang sangat powerful.
Implementasi Tracking di Go
// Simple analytics tracker
type AnalyticsEvent struct {
UserID string
Event string
Metadata map[string]interface{}
Timestamp time.Time
}
func TrackEvent(db *gorm.DB, event AnalyticsEvent) error {
event.Timestamp = time.Now()
return db.Create(&event).Error
}
Tools yang Saya Rekomendasikan
- PostHog Open-source, self-hosted, powerful product analytics
- Metabase BI tool yang gratis untuk dashboard metrics
- Plausible Privacy-friendly web analytics
Yang terpenting: jangan hanya collect data review metrics secara weekly. Buat dashboard yang bisa diakses semua tim. Data tanpa action adalah waste.
Building Your Own Analytics Dashboard
Untuk SaaS yang baru mulai, Anda tidak perlu tools analytics mahal. Saya biasanya build dashboard sederhana di Go yang query langsung dari database:
func GetMRRSummary(db *gorm.DB) (MRRSummary, error) {
var summary MRRSummary
// Current MRR
db.Model(&Subscription{}).
Where("status = ?", "active").
Select("COALESCE(SUM(amount), 0) as current_mrr").
Scan(&summary.CurrentMRR)
// New MRR this month
db.Model(&Subscription{}).
Where("status = ? AND created_at >= ?", "active", startOfMonth).
Select("COALESCE(SUM(amount), 0) as new_mrr").
Scan(&summary.NewMRR)
return summary, nil
}
Dashboard sederhana ini sudah cukup untuk mengambil keputusan bisnis yang informed. Upgrade ke tools analytics yang lebih sophisticated nanti ketika data-nya sudah cukup besar.
Cohort Analysis: Memahami User Behavior
Cohort analysis adalah technique paling powerful untuk memahami retention. Group user berdasarkan kapan mereka sign-up, lalu track behavior-nya dari waktu ke waktu. Ini akan menunjukkan apakah produk Anda semakin baik dalam mempertahankan user.
Dari pengalaman saya, cohort analysis membantu saya identifikasi bahwa user yang complete onboarding dalam 3 hari pertama punya retention rate 3x lebih tinggi dari yang tidak. Insight ini langsung mengubah fokus produk saya ke optimalisasi onboarding experience.