Müşteri kullanım düşüşlerini tespit eden, churn riski sinyallerini işaretleyen ve uyarılar, panolar ile takip iş akışlarını tetikleyen bir web uygulamasının nasıl kurulacağını öğrenin.

Bu proje, müşteri kullanımındaki anlamlı düşüşleri iptale dönüşmeden önce erken tespit etmeye yardımcı olan bir web uygulaması. Yenileme konuşmasını bekleyip sorun keşfetmek yerine uygulama net bir sinyal gösterir (ne değişti, ne zaman ve ne kadar) ve ilgili ekibi yanıt vermeye yönlendirir.
Kullanım azalışları genellikle iptale gitmeden haftalar önce görünür. Uygulamanız bu düşüşleri görünür, açıklanabilir ve işe yarar hâle getirmeli. Pratik hedef basit: riski daha erken yakalayıp tutarlı şekilde yanıt vererek churn’u azaltmak.
Farklı ekipler aynı veride farklı “gerçekleri” arar. Kullanıcıları göz önünde bulundurarak tasarlamak uygulamanın sıradan bir pano olmaktan çıkmasını sağlar.
En azından uygulama şunları üretmeli:
Bu, “veri bir yerde mevcut” olmaktan “insanların gerçekten takip ettiği bir iş akışı”na geçiştir.
Ürün gibi başarıyı metriklerle tanımlayın.
Uygulama kararları iyileştirip eylemi hızlandırırsa benimsenir ve maliyetini çıkarır.
“kullanım düşüşü”nü tespit etmeden önce kullanım için net bir tanım ve tutarlı bir ölçüm birimi gerekir. Bu, analitik jargonundan çok yanlış alarmları önlemek (veya gerçek churn riskini kaçırmamak) ile ilgilidir.
Gerçek değeri yansıtan bir birincil kullanım metriği seçin. İyi seçenekler ürününüze bağlıdır:
Manipüle edilmesi zor ve yenileme niyetiyle yakından ilişkili bir metrik hedefleyin. Daha sonra birden çok metrik takip edilebilir, ama cümleyle açıklayabileceğiniz birinden başlayın.
Skorlayacağınız ve uyaracağınız varlığı tanımlayın:
Bu seçim tüm şeyi etkiler: toplulaştırma, panolar, sahiplik ve uyarı yönlendirme.
Müşteri davranışına uyan eşikleri belirleyin:
Ayrıca zaman penceresini (günlük vs haftalık) ve kabul edilebilir raporlama gecikmesini (örn. “uyarılar ertesi sabah 9’a kadar” vs gerçek zaman) kararlaştırın. Net tanımlar uyarı yorgunluğunu önler ve skorları güvenilir kılar.
Uygulamanız izlediği girdiler kadar güvenilirdir. Panolar veya risk skorlama oluşturmadan önce hangi sistemlerin sizin için “kullanım”, “değer” ve “müşteri bağlamı” tanımladığını belirleyin.
Doğru ve güncel tutabileceğiniz dar bir kaynak setiyle başlayın:
Emin değilseniz önce ürün olayları + faturalamayı önceliklendirin; çekirdek izleme çalışınca CRM/destek ekleyin.
Üç yaygın alım yöntemi vardır ve birçok ekip karışım kullanır:
Kararı otomasyonla vereceğiniz kararlara göre eşleştirin. Örneğin, ani bir düşüşten sonra CSM’leri bir saat içinde uyarmayı planlıyorsanız, olay alımı günde bir kez olmamalıdır.
Kullanım düşüşleri her müşteri birimi için tespit edilir (hesap/tenant). Eşlemeleri erken tanımlayın ve kalıcı kılın:
Her entegrasyonun aynı hesaba çözülmesi için tek bir kimlik eşleme tablosu/hizmeti oluşturun.
Hangi veri setinin kimin sorumluluğunda, nasıl güncellendiğini ve kimlerin görüntüleyebileceğini yazın. Bu, hassas alanlar (faturalama detayları, destek notları) eklendiğinde veya metrikleri paydaşlara açıklamanız gerektiğinde engellerin önüne geçer.
İyi bir veri modeli uygulamanızı hızlı, açıklanabilir ve genişletmesi kolay tutar. Sadece olay depolamıyorsunuz—kararları, kanıtı ve ne olduğunu gösteren bir iz tutuyorsunuz.
Her şeyin referans verdiği birkaç sabit tabloyla başlayın:
CRM, faturalama, ürün gibi sistemlerde ID’leri tutarlı tutun ki join’ler tahmin yürütmeden çalışsın.
Ham olaylardan her pano görünümü için sorgu yapmak hızla maliyetli olur. Bunun yerine şu gibi ön hesaplanmış anlık görüntüler oluşturun:
Bu yapı hem yüksek seviyeli sağlık görünümlerini hem de özellik düzeyinde soruşturmayı destekler (“kullanım düştü—tam olarak nerede?”).
Risk tespitini kendi ürün çıktısı olarak ele alın. Bir risk_signals tablosu oluşturun:
usage_drop_30d, no_admin_activity)Bu, skorlama sürecini şeffaf tutar: uygulama bir hesabı neden işaretlediğini gösterebilir.
Ekleme-yönelimli geçmiş tabloları oluşturun:
Geçmişle şu soruları cevaplayabilirsiniz: “Risk ne zaman yükseldi?”, “Hangi uyarılar göz ardı edildi?” ve “Hangi playbook’lar churn’u gerçekten azalttı?”
Altyapı olayları tutarsız veya eksikse uygulamanız kullanım düşüşlerini tespit edemez. Bu bölüm olay verisini panolar, uyarılar ve risk sinyalleri için yeterince güvenilir kılmakla ilgili.
Değeri temsil eden davranışların kısa bir listesiyle başlayın:
Pratik olun: bir etkinlik metrik, uyarı veya iş akışı tetiklemeyecekse henüz takip etmeyin.
Tutarlılık yaratıcılıktan daha iyidir. Her olay için ortak bir şema kullanın:
report_exported)Her olay için gerekli özellikleri hafif bir takip spesifikasyonunda belgeleyin ve ekip tarafından PR’larda gözden geçirilebilir hâle getirin.
İstemci tarafı izleme faydalı olabilir, ama engellenebilir, düşebilir veya çoğaltılabilir. Yüksek değerli olaylar (fatura değişiklikleri, başarılı dışa aktarımlar, tamamlanan iş akışları) için eylem onaylandıktan sonra backend’den olay yayınlayın.
Veri sorunlarını ürün hatası gibi ele alın. Şunlar için kontroller ve uyarılar ekleyin:
Küçük bir veri kalite panosu ve günlük ekip raporu, churn-risk tespitini baltalayan sessiz hataları engeller.
İyi bir sağlık skoru “churn’u mükemmel tahmin etmek”ten çok insanlara sonraki adımı söylemektir. Basit başlayın, açıklanabilir tutun ve gerçekten tutunmayla ilişkilenen sinyalleri öğrendikçe geliştirin.
Herkesin anlayıp debug edebileceği küçük, net kurallarla başlayın.
Örneğin: “Haftalık aktif kullanım, önceki 4 haftalık ortalamaya göre %40 düştüyse risk puanı ekle.” Bu yaklaşım anlaşmazlıkları yapıcı kılar çünkü tam olarak hangi kuralın ve eşiklerin uygulandığını gösterebilirsiniz.
Temel kurallar çalıştıktan sonra, ağırlıklarla birden fazla sinyali birleştirin. Yaygın girdiler:
Ağırlıklar iş etkisi ve güvene göre belirlenmeli. Bir ödeme hatası hafif bir kullanım düşüşünden daha fazla ağırlık taşıyabilir.
Önde giden göstergeler (son değişim) ile geride kalan göstergeler (yavaş ilerleyen risk) farklı muamele görmeli:
Bu, uygulamanızın hem “Bu hafta ne değişti?” hem de “Kim yapısal olarak risk altında?” sorularına cevap vermesini sağlar.
Sayısal skoru düz ifadelere çevirin:
Her banda varsayılan bir sonraki adımı (sahip, SLA ve playbook) bağlayın ki skor sadece kırmızı bir rozet olmasın, tutarlı takibi tetiklesin.
Anomali tespiti, müşterilerin ürününüzü gerçekten nasıl kullandığını yansıtıyorsa faydalıdır. Amaç her küçük oynaklığı işaretlemek değil—churn riskini öngören ve insan müdahalesi gerektiren değişiklikleri yakalamaktır.
Aşırı tepki vermemek için birden fazla baseline kullanın:
Bu bazlinelar “onlar için normal” ile “bir şey değişti”yi ayırır.
Bunları farklı ele alın; çünkü çözümler farklıdır:
Uygulamanız paterni etiketlemeli; playbook’lar ve sahipler farklı olacaktır.
Yanlış alarmlar güveni hızlı yıpratır. Koruyucu önlemler ekleyin:
Her risk sinyali kanıt taşımalı: “neden işaretlendi” ve “ne değişti”. Ekleyin:
Bu, uyarıları gürültü değil karar haline getirir.
İyi bir UI dağınık telemetriyi günlük iş akışına dönüştürür: “Kimin dikkate ihtiyacı var, neden ve ne yapmalıyız?” İlk ekranları yönlendirici ve hızlı tutun—çoğu ekip burada yaşayacak.
Panonuz üç soruya anında cevap vermeli:
Her satır hesap görünümüne tıklanabilir olmalı. Tanıdık tablo desenlerini tercih edin: sıralanabilir sütunlar, sabitlenmiş risk sütunları ve açık bir last-seen zaman damgası.
Hesap görünümünü bir zaman çizelgesi etrafında tasarlayın ki bir CSM bağlamı saniyeler içinde anlayabilsin:
Uyarılar insanları doğru görünüme yönlendirebilmek için /accounts/{id} gibi iç derin bağlantı desenlerine sahip olsun.
Filtreleme panoları işe yarar kılar. Global filtreler sağlayın: plan, segment, sektör, CSM sahibi, bölge ve yaşam döngüsü aşaması ve seçimi URL’de saklayarak paylaşılabilir görünüm kazandırın.
Dışa aktarma için tabloları filtreleri koruyarak CSV indirme izni verin ve iç devretmeler için “Bağlantıyı kopyala” özelliği ekleyin—özellikle risk listesi ve uyarı akışı için.
Uyarılar doğru kişiye doğru zamanda ulaşmazsa işe yaramaz—ve herkesi onları görmezden gelmeye eğitir. Bildirimleri bir ayrıntı değil ürünün parçası olarak ele alın.
Net eylemlerle eşlenen küçük bir tetik setiyle başlayın:
Önce basit kurallar, sonra temel güven kazandıktan sonra daha akıllı mantık ekleyin (anomali tespiti gibi).
Birincil bir kanal ve yedek bir kanal seçin:
Emin değilseniz Slack + uygulama içi görevle başlayın. E-posta çabuk gürültüye dönüşebilir.
Uyarıları hesap sahipliği ve segmente göre yönlendirin:
Aynı uyarıları tek bir başlık veya ticket’ta toplayarak çoğalmayı engelleyin (örn. “kullanım düşüşü 3 gün sürdü”). Cool-down pencereleri ekleyin ki aynı uyarı her saat gönderilmesin.
Her uyarı şunu yanıtlamalı: ne değişti, neden önemli, sonraki adım ne olmalı. İçerikte bulunmalı:
/accounts/{account_id}Uyarılar net bir sonraki adıma götürdüğünde ekip bunlara güvenecek ve kullanacaktır.
Tespit, sonraki en iyi eylemi güvenilir şekilde tetiklemezse yararsızdır. Takip iş akışlarını otomatikleştirmek “düşüş gördük”ü tutarlı, izlenebilir müdahaleye çevirir ve zamanla tutundurmaya katkıda bulunur.
Her sinyali basit bir playbook’a eşleyerek başlayın. Playbook’ları yönlendirici ve hafif tutun ki ekipler gerçekten kullansın.
Örnekler:
Playbook’ları şablon olarak saklayın: adımlar, önerilen mesajlaşma, gerekli alanlar (örn. “kök neden”) ve çıkış kriterleri (örn. “kullanım 7 gün boyunca baseline’a döndü”).
Bir sinyal tetiklendiğinde otomatik olarak görev oluşturun:
Her göreve kısa bir bağlam paketi ekleyin: hangi metrik değişti, ne zaman başladı, son sağlıklı dönem ve son ürün olayları. Bu, ilk temasın hızlanmasını sağlar.
Herkesi yeni bir sekmeye zorlamayın. Görevleri ve notları mevcut sistemlere itip sonuçları uygulamaya geri çekin.
Yaygın hedefler CRM ve destek araçlarıdır (örneğin /integrations/crm). İş akışını çift yönlü tutun: bir görev CRM’de tamamlandıysa sağlık panosunda yansısın.
Otomasyon yanıt kalitesini artırmalı, sadece hacmini. Şunları takip edin:
Bu metrikleri aylık gözden geçirerek playbook’ları iyileştirin, yönlendirme kurallarını sıkılaştırın ve hangi eylemlerin gerçekten kullanım kurtarmayla ilişkili olduğunu belirleyin.
Spesifikasyondan çalışan iç araca hızlı geçmek istiyorsanız, Koder.ai gibi bir vibe-coding platformu dashboard, hesap görünümleri ve uyarı iş akışını chat üzerinden prototiplemenize yardımcı olabilir. Koder.ai tam yığın uygulamalar (React web, Go servisler ve PostgreSQL) oluşturabilir, anlık görüntüler/rollback ve kaynak kodu dışa aktarma destekler; veri modeli, yönlendirme kuralları ve UI akışını gerçek ürüne yatırım yapmadan doğrulamak için pratiktir.
Uygulamanız ürün olaylarını, hesap bağlamını ve churn riski uyarılarını bir araya getirdiğinde güvenlik ve gizlilik kararlarını erken doğru almak kolaydır. Amaç basit: ekiplerin harekete geçmesi için yeterli veriyi verirken riski azaltmak.
İzleme için ne gerektiğini tanımlayın. Eğer kullanım-düşüş tespiti sayımlar, trendler ve zaman damgalarıyla çalışıyorsa, ham mesaj içeriği, tam IP adresleri veya serbest biçimli notlara muhtaç olmayabilirsiniz.
Pratik yaklaşım olarak saklayın:
Veri setini dar tutmak uyum yükünü azaltır, blast radius’u küçültür ve saklama politikalarını kolaylaştırır.
Kullanım-düşüş panoları genellikle CS, destek, ürün ve liderlik gibi çok disiplini araçlar haline gelir. Herkes aynı detayı görmemeli.
Rol tabanlı erişim kontrolü (RBAC) uygulayın:
Hassas eylemler (veri dışa aktarma, eşik değişiklikleri, hesap düzeyinde görüntüleme) için denetim logları ekleyin. Denetim logları ayrıca “kim neyi değiştirdi”yi debug etmede de faydalıdır.
PII’yi (isimler, e-postalar, telefonlar) isteğe bağlı tutun. Bildirimler için gerekiyorsa CRM’den talep üzerine çekmeyi tercih edin, izleme veritabanına kopyalamayın.
PII saklarsanız:
Ne topladığınızı, neden topladığınızı (izleme ve müşteri desteği) ve ne kadar süre sakladığınızı belgeleyin. Kesin ve spesifik dil kullanın—“tam uyumlu” gibi ifadeler yalnızca resmi bir inceleme tamamlandıysa kullanılmalı.
En azından desteklemeye hazır olun:
Müşteri tarafı dokümanlarda dahili olarak /privacy ve /security gibi politikalara referans verin ve bunları sistemin gerçek işleyişiyle uyumlu tutun.
Churn-risk uygulaması “çalışıyor mu”dan daha fazlasıdır: ekipler sinyallere güvenip harekete geçmeli ve sistem ürününüz ve verileriniz evrildikçe güvenilir kalmalıdır.
Kimseyi uyarmadan önce modelinizi veya kurallarınızı geçmiş haftalar/aylar üzerinde replay ederek sonuçları (yenileme, küçülme, churn) bildiğiniz dönemlerde test edin. Bu, eşikleri ayarlamanıza ve gürültülü uyarılardan kaçınmanıza yardımcı olur.
Basit bir değerlendirme için karışıklık matrisi kullanın:
Operasyonel olarak önemli olanı hedefleyin: CSM’lerin uyarıları görmezden gelmemesi için false positive’leri azaltırken, gerçek riski erken yakalayacak kadar false negative’i düşük tutmak.
Birçok “kullanım düşüşü” aslında veri sorunudur. Her pipeline adımı için hafif izleme ekleyin:
Bu sorunları dahili bir durum görünümünde gösterin ki kullanıcılar “müşteri kullanımını kaybetti” ile “veri gelmedi” arasındaki farkı ayırt edebilsin.
İç kullanıcılarla (veri/ops + birkaç CSM) başlayın ve uyarıları mevcut bildiklerine karşı karşılaştırın. Doğruluk ve iş akışı stabil olduğunda daha geniş bir gruba açın.
Yayın sırasında benimseme sinyallerini ölçün: uyarılar açıldı mı, triage süresi neydi ve kullanıcılar hesap görünümüne tıkladı mı?
Kullanıcılara bir uyarıyı false positive, bilinen sorun veya işlem yapıldı olarak tek tıkla işaretleme yolu verin. Bu geri bildirimi kaydedin ve haftalık gözden geçirerek kuralları iyileştirin, skorlama ağırlıklarını yeniden ayarlayın veya dışlama ekleyin (örn. mevsimsel müşteriler, planlı bakım).
Zamanla bu uygulamayı statik bir panodan ekibin gerçekliğinden öğrenen bir sisteme dönüştürecektir.
Start with one primary value metric that’s hard to game and strongly tied to renewal intent (e.g., key actions completed, API calls, active seats). Keep it explainable in one sentence, then add secondary metrics later for diagnosis (feature-level usage, sessions, time-in-product).
Alerting works best on a single, consistent customer unit—usually account/workspace in B2B. Use subscription if one company has multiple plans, or a sub-cohort (department/team) if adoption varies widely inside a large account. Your choice determines aggregation, ownership routing, and how dashboards are interpreted.
A practical starting point is a clear, rules-based threshold such as week-over-week change (e.g., -40% vs önceki 4 haftalık ortalama). Then add guardrails:
Begin with product events + billing/subscriptions because they define value delivery and renewal risk. Add CRM for ownership/segment context and support/incident data to explain dips (ticket spikes, outages). Keep the initial set small enough to maintain data quality reliably.
Use a single primary grouping key like account_id/tenant_id everywhere, and maintain an identity mapping layer/table that links:
If identifiers aren’t consistent, joins break and alerts lose trust quickly.
Pre-compute daily snapshots so dashboards and scoring don’t query raw events constantly. Common tables:
account_daily_metrics (active users, sessions, key actions)account_feature_daily (feature_key, usage_count)This improves performance, reduces cost, and makes “what changed?” analysis much faster.
Create a dedicated risk_signals store with:
This makes every flag auditable and helps teams act because they can see why the account was flagged.
Start with rules-based scoring because it’s debuggable and easier to align across CS/Sales/Product. Combine multiple weighted signals (usage drop, failed payments, seat reduction, ticket spikes), and separate:
Translate numeric scores into bands (Healthy/Watch/At risk) with default actions and SLAs.
Implement routing + deduplication from day one:
Include context (metric, baseline, delta) and a direct link like /accounts/{account_id} so the alert is immediately actionable.
Use data minimization and role-based access control:
Also be prepared for deletion/anonymization requests and keep internal policies aligned (e.g., , ).
/privacy/security