AI Chatbot ile Müşteri Hizmetleri: E-Ticaret Vaka Çalışması

E-ticaret chatbot mimarisi: Müşteri sorguları, AI chatbot işleme katmanı (NLU, RAG, LLM, API) ve sonuç metrikleri

Geçtiğimiz kasım ayında Kadıköy'de bir e-ticaret firmasının genel müdürüyle kahve içiyorduk. Telefonu titredikçe yüzü değişiyordu. "Şu an 340 açık destek talebi var" dedi. "Black Friday'den beri yetişemiyoruz. Müşteriler Twitter'a yazıyor, biz daha WhatsApp'taki mesajlara cevap veremiyoruz."

Ekibi 8 kişilik bir müşteri hizmetleri takımıydı. Günde ortalama 600 mesaj geliyor, bunların %60'ı aynı 15-20 sorunun tekrarıydı: "Kargom nerede?", "İade nasıl yapılır?", "Faturamı bulamıyorum." İnsanların zamanının büyük kısmı bu tekrarlayan sorulara cevap yazmakla geçiyordu.

Bu hikaye bize yabancı değil. Türkiye'deki e-ticaret firmalarının büyük çoğunluğu aynı sorunu yaşıyor. Biz de bu firma için RAG tabanlı bir AI chatbot sistemi kurduk.

%73
Otomatik Çözüm
12sn
Ort. Yanıt Süresi
4.6/5
Müşteri Memnuniyeti

Sorun: Her Gün Aynı Sorular

Müşteri hizmetleri ekibi her sabah aynı manzarayla karşılaşıyordu: yüzlerce okunmamış mesaj. WhatsApp Business, web sitesi canlı destek, e-posta ve sosyal medya - dört farklı kanaldan akan talepler. Her birini ayrı ayrı açıp cevaplamak gerekiyordu.

İlk yaptığımız şey 30 günlük mesaj loglarını analiz etmek oldu. Sonuçlar çarpıcıydı:

Yani mesajların %89'u kategorize edilebilir, kurallara ve verilere dayalı sorulardı. Bunların büyük kısmı otomatik yanıtlanabilirdi - tabii doğru yapılırsa.

Müşteri hizmetleri temsilcisi bilgisayar başında kulaklıkla çalışırken

Fotoğraf: Pexels

Neden "Normal" Chatbot Yetmiyor?

Firma daha önce kural tabanlı bir chatbot denemişti. Bilirsiniz, şu "1 yazın sipariş takibi, 2 yazın iade" tarzı sistemler. Müşteriler nefret etti. Kullanım oranı %12'de kaldı, çoğu kişi direkt "müşteri temsilcisine bağla" diyordu.

Sorun şuydu: kural tabanlı chatbotlar sadece tam eşleşme arar. "Kargom nerede?" sorusunu anlar ama "ya arkadaş 3 gündür bekliyorum paket gelmedi hala" yazan birine cevap veremez. Türkçe'nin zengin ek yapısı, günlük dildeki kısaltmalar ve argo ifadeler işi daha da zorlaştırır.

Biz farklı bir yaklaşım izledik: RAG (Retrieval-Augmented Generation) tabanlı bir sistem. Chatbot önce müşterinin ne sorduğunu anlıyor (intent classification), sonra ilgili bilgiyi veritabanından çekiyor (retrieval), ardından doğal bir dilde yanıt üretiyor (generation).

Sistem Mimarisi

Dört katmanlı bir mimari kurguladık. Her katman bağımsız çalışıyor, böylece herhangi birini güncellemek diğerlerini etkilemiyor.

  ┌──────────┐    ┌──────────────┐    ┌───────────┐    ┌──────────┐
  │  Müşteri │───▶│  NLU Katmanı │───▶│  RAG      │───▶│  Yanıt   │
  │  Mesajı  │    │  (Intent +   │    │  (Vektör  │    │  Üretimi │
  │          │    │   Entity)    │    │   Arama)  │    │  (LLM)   │
  └──────────┘    └──────────────┘    └───────────┘    └──────────┘
                        │                   │                │
                  ┌─────┴─────┐      ┌─────┴─────┐    ┌────┴─────┐
                  │ BERTurk   │      │ Bilgi     │    │ Claude   │
                  │ v2        │      │ Tabanı    │    │ 3.5      │
                  │ Fine-tuned│      │ (Qdrant)  │    │ Haiku    │
                  └───────────┘      └───────────┘    └──────────┘
                                           │
                                    ┌──────┴───────┐
                                    │  Düşük güven │
                                    │  → İnsan     │
                                    │    devralır  │
                                    └──────────────┘
Chatbot pipeline mimarisi

NLU Katmanı: Müşterinin mesajını anlama işi burada başlıyor. BERTurk v2 tabanlı bir intent classification modeli kullanıyoruz. Bu modeli 15.000 etiketlenmiş Türkçe müşteri mesajıyla fine-tune ettik. "Kargom nerde la" ile "Siparişimin durumunu öğrenmek istiyorum" aynı intent'e düşüyor.

RAG Katmanı: Intent belirlendikten sonra, ilgili bilgiyi çekmek gerekiyor. Sipariş takibi mi? Kargo API'sine bağlan, güncel durumu çek. İade mi? İade politikası dokümanlarından ilgili bölümü getir. Ürün sorusu mu? Ürün kataloğundan detayları al. Tüm bu bilgiler Qdrant vektör veritabanında indekslenmiş durumda.

Yanıt Üretimi: Toplanan bağlam bilgisiyle birlikte Claude 3.5 Haiku'ya gönderiyoruz. Neden Haiku? Çünkü hızlı (ortalama 800ms), ucuz ve müşteri hizmetleri senaryoları için yeterince yetenekli. Opus veya Sonnet kullanmak gereksiz maliyet olurdu.

# Örnek: Sipariş takibi akışı
{
  "musteri_mesaji": "3 gündür bekliyorum paketim gelmedi",
  "intent": "siparis_takip",
  "guven": 0.94,
  "entities": {"siparis_id": "ORD-2026-18742"},
  "kargo_durumu": "Dağıtımda - Tahmini teslimat: Bugün 14:00-18:00",
  "chatbot_yaniti": "Siparişiniz şu an dağıtım aracında ve bugün
    14:00-18:00 arasında teslim edilmesi planlanıyor. Gecikme için
    özür dileriz. Teslimat gerçekleşmezse bize tekrar yazabilirsiniz,
    hemen ilgilenelim."
}
Sipariş takibi akışı örneği

Güven Skoru ve İnsan Devri

Sistemin en kritik parçası bu. Her yanıt için bir güven skoru hesaplıyoruz. Skor 0.85'in altına düşerse, chatbot yanıt vermek yerine konuşmayı müşteri temsilcisine aktarıyor. Bu eşik değerini ilk hafta 0.90'da tutuyorduk, çok fazla aktarım olunca 0.85'e çektik. Şu an %73 otomatik çözüm oranıyla dengeli bir noktadayız.

Aktarım sırasında temsilci, chatbotun o ana kadar topladığı tüm bağlamı görüyor: müşterinin intent'i, sipariş bilgileri, önceki mesajlar. Böylece müşteri aynı şeyi tekrar anlatmak zorunda kalmıyor. Bu detay müşteri memnuniyetinde ciddi fark yarattı.

İki müşteri hizmetleri temsilcisi kulaklıkla laptoplarda çalışırken

Fotoğraf: Pexels

Türkçe'nin Zorlukları

Türkçe müşteri mesajları İngilizce'den çok farklı. Birkaç örnek:

İlk hafta en çok sorun yaratan şey çift anlamlı mesajlardı. "Bu ne ya" hem şikayet hem de şaşkınlık ifadesi olabilir. Bağlam penceresini son 3 mesajı kapsayacak şekilde genişletince doğruluk belirgin şekilde arttı.

İlk Ay: Rakamlar

Metrik Öncesi Sonrası (1. Ay)
Ortalama ilk yanıt süresi 4 saat 20 dakika 12 saniye
Günlük işlenen mesaj ~600 (insan) ~600 (438 bot + 162 insan)
Müşteri memnuniyeti (CSAT) 3.8 / 5 4.6 / 5
Mesai dışı çözüm oranı %0 (kapalı) %68 (7/24 aktif)
Tekrarlayan soru yükü (insana düşen) ~360 mesaj/gün ~50 mesaj/gün

En dikkat çekici değişiklik mesai dışı saatlerde oldu. Eskiden gece 11'de sipariş soran müşteri sabah 9'a kadar beklemek zorundaydı. Şimdi 12 saniyede cevabını alıyor. E-ticaret müşterilerinin %35'i mesai dışı saatlerde alışveriş yapıyor, bu kitle için 7/24 destek gerçek bir fark yaratıyor.

Maliyet Analizi

Herkesin merak ettiği soru: ne kadara mal oldu?

Kalem Aylık Maliyet
Claude 3.5 Haiku API (18K sorgu/ay) ~$45
Qdrant Cloud (vektör DB) ~$25
BERTurk NLU sunucu payı ~$15
Altyapı (FastAPI, Redis, monitoring) ~$40
Toplam ~$125/ay (~4.000 TL)

Aylık 4.000 TL'ye 7/24 çalışan, asla hastalanmayan, tatile çıkmayan bir müşteri hizmetleri asistanı. Üstelik insan ekibin işini almıyor, onların yükünü azaltıyor. Ekip artık karmaşık şikayetlere, VIP müşterilere ve süreç iyileştirmelerine odaklanabiliyor.

Ekibin Tepkisi

Tahmin edebileceğiniz gibi ilk tepki tedirginlikti. "İşimizi mi alacak?" sorusu burada da geldi. Ama ilk haftanın sonunda ekip farkı gördü. Artık her gün aynı 20 soruyu yanıtlamak yerine, gerçekten çözüm gerektiren sorunlarla ilgileniyorlardı.

"Eskiden günün yarısı 'kargonuz yolda' yazmakla geçiyordu. Şimdi o mesajları bot hallediyor, ben de gerçekten sorunlu siparişlere odaklanıyorum. İş tatminim bile arttı diyebilirim."

- Müşteri hizmetleri takım lideri, İstanbul (ismi gizli)

İkinci ayda ekipten bir öneri geldi: "Sık sorulan ama henüz chatbotun bilmediği konuları bize raporlasın." Bu özelliği ekledik ve artık chatbot her hafta "bu soruları çok aldım ama cevaplayamadım" raporu gönderiyor. Bu sayede bilgi tabanını sürekli genişletiyoruz. İlk ayda %68 olan otomatik çözüm oranı, 3. ayda %73'e çıktı.

Dikkat Edilmesi Gerekenler

Chatbot Projelerinde Sık Yapılan Hatalar
  • "Her şeyi botla çözelim" yaklaşımı: Bazı konuşmalar insana ait. Şikayet eden, kızgın bir müşteriyi bota bırakmak markaya zarar verir.
  • Bilgi tabanını güncel tutmamak: Kampanya değişti ama bot eski kampanyayı anlatıyor. Haftalık güncelleme şart.
  • Güven eşiğini çok düşük tutmak: Daha fazla otomatik çözüm için eşiği düşürmek cazip ama yanlış cevaplar müşteri kaybettirir.
  • Çok kanalı aynı anda açmak: Önce bir kanal (ör. web chat), sonra WhatsApp, sonra sosyal medya. Adım adım gidin.

Sırada Ne Var?

Firma şimdi iki yeni özellik üzerinde çalışmamızı istiyor. Birincisi, chatbotun müşteri geçmişine bakarak proaktif öneriler yapması - mesela "Geçen ay aldığınız telefon kılıfı stoğa girdi, ilginizi çekebilir" gibi. İkincisi, sesli destek entegrasyonu. WhatsApp sesli mesajlarını Whisper ile metne çevirip chatbota yönlendirmeyi planlıyoruz.

Bir de ilginç bir veri çıktı: chatbotla konuşan müşterilerin sepet tamamlama oranı, insan temsilciyle konuşanlara göre %8 daha yüksek. Muhtemelen anlık yanıt almanın güven verici etkisi. Bu veriyi daha detaylı analiz edeceğiz.

Müşteri hizmetlerinizi AI ile güçlendirelim.

Ücretsiz Değerlendirme →