5.8 KiB
5.8 KiB
Persona Engine - Kullanım Kılavuzu
Genel Bakış
Persona Engine, lead'leri otomatik olarak 7 farklı turist profiline göre sınıflandırır ve harcama potansiyelini belirler.
Persona Tipleri
-
💑 Romantik Çift (Romantic Couple)
- Harcama Potansiyeli: Yüksek
- Önerilen Hizmetler: Özel balon turu, romantik akşam yemeği, butik otel, spa
-
🎒 Bütçe Gezgini (Budget Backpacker)
- Harcama Potansiyeli: Düşük
- Önerilen Hizmetler: Grup turları, hostel, yürüyüş turları
-
👑 Lüks Gezgin (Luxury Traveler)
- Harcama Potansiyeli: Çok Yüksek
- Önerilen Hizmetler: VIP balon turu, helikopter turu, 5 yıldızlı otel
-
📸 İçerik Üreticisi (Content Creator)
- Harcama Potansiyeli: Orta
- Önerilen Hizmetler: Fotoğraf turları, drone çekimi, Instagram lokasyonları
-
👨👩👧👦 Aile Gezgini (Family Explorer)
- Harcama Potansiyeli: Orta
- Önerilen Hizmetler: Aile dostu turlar, çocuk dostu oteller
-
🧗 Solo Maceracı (Solo Adventurer)
- Harcama Potansiyeli: Orta
- Önerilen Hizmetler: Grup turları, macera aktiviteleri, trekking
-
👥 Grup Turu (Group Tour)
- Harcama Potansiyeli: Yüksek
- Önerilen Hizmetler: Grup turları, toplu konaklama, rehberli turlar
Kullanım Örnekleri
1. PersonaBadge Komponenti
import { PersonaBadge } from '@/components/planner/PersonaBadge';
// Basit kullanım
<PersonaBadge persona={lead.tourist_persona} />
// Açıklama ile
<PersonaBadge
persona={lead.tourist_persona}
showDescription={true}
/>
// Özel stil ile
<PersonaBadge
persona={lead.tourist_persona}
className="my-custom-class"
/>
2. Persona Detection
import { detectPersona } from '@/utils/persona-engine';
const personaResult = detectPersona({
interests: ['romantik', 'özel'],
planned_activities: ['Sıcak hava balonu', 'Akşam yemeği'],
number_of_travelers: 2,
start_date: '2026-03-01',
end_date: '2026-03-05',
budget_range: 'high'
});
console.log(personaResult.persona.label); // "Romantik Çift"
console.log(personaResult.confidence); // 0.85
console.log(personaResult.persona.key_signals); // ["2 kişilik rezervasyon", "Romantik ilgi alanları"]
3. Lead Card (Provider Dashboard)
import { LeadCard } from '@/components/provider/LeadCard';
<LeadCard
lead={lead}
onContact={(leadId) => {
// İletişim işlemi
}}
/>
4. Admin Persona Analytics
Admin panelinde /admin/persona-analytics sayfasına giderek:
- Persona dağılımını görüntüleyin
- Harcama potansiyeli analizini inceleyin
- Lead istatistiklerini takip edin
Otomatik Entegrasyon
Persona Engine, lead oluşturulduğunda otomatik olarak çalışır:
-
Trip Planner'da Lead Oluşturma
- Kullanıcı seyahat planı oluşturur
- Lead capture modal'ı açılır
- Form gönderildiğinde persona otomatik tespit edilir
- Başarı mesajında persona gösterilir: "Seyahat profiliniz: 💑 Romantik Çift"
-
Persona Tespiti
- İlgi alanları analiz edilir
- Planlanan aktiviteler değerlendirilir
- Gezgin sayısı dikkate alınır
- Bütçe aralığı (varsa) incelenir
- En yüksek güven skoruna sahip persona seçilir
-
Veri Saklama
- Persona bilgisi
tourist_personaalanında saklanır - Güven skoru
persona_confidencealanında saklanır - Tespit edilen sinyaller
key_signalsarray'inde tutulur
- Persona bilgisi
API Kullanımı
Lead Oluşturma
import { leadsApi } from '@/db/api';
import { detectPersona } from '@/utils/persona-engine';
const personaResult = detectPersona({
// ... trip data
});
await leadsApi.create({
trip_id: 'xxx',
destination: 'Kapadokya',
// ... other fields
tourist_persona: personaResult.persona,
persona_confidence: personaResult.confidence,
});
Persona İstatistikleri
import { supabase } from '@/db/supabase';
// Yüksek değerli lead'leri getir
const { data } = await supabase.rpc('get_high_value_leads');
// Persona istatistiklerini getir
const { data: stats } = await supabase.rpc('get_persona_statistics');
Özelleştirme
Yeni Persona Ekleme
/src/types/lead.tsdosyasındaTouristPersonaTypeenum'ına yeni tip ekleyin/src/types/persona.tsdosyasındaTOURIST_PERSONASobjesine yeni persona tanımı ekleyin/src/utils/persona-engine.tsdosyasındaanalyzeSignalsfonksiyonuna yeni tespit mantığı ekleyin
Tespit Mantığını Güncelleme
/src/utils/persona-engine.ts dosyasındaki analyzeSignals fonksiyonunda:
- Yeni anahtar kelimeler ekleyin
- Güven skorlarını ayarlayın
- Yeni sinyaller tanımlayın
Performans
- Persona tespiti client-side'da yapılır (hızlı)
- Database'de JSONB olarak saklanır (esnek)
- Index'ler ile hızlı sorgulama (optimize)
- Güven skoru ile kalite kontrolü (güvenilir)
Güvenlik
- Lead oluşturma için kullanıcı onayı gereklidir
- RLS policies ile veri güvenliği sağlanır
- Persona bilgisi sadece yetkili kullanıcılar tarafından görülebilir
Sorun Giderme
Persona tespit edilmiyor
- İlgi alanları ve aktivitelerin dolu olduğundan emin olun
- Gezgin sayısının doğru olduğunu kontrol edin
- Console'da persona detection sonuçlarını inceleyin
Güven skoru düşük
- Daha fazla ilgi alanı ekleyin
- Aktivite detaylarını zenginleştirin
- Bütçe aralığı bilgisi ekleyin
Yanlış persona tespit ediliyor
- Tespit mantığını
/src/utils/persona-engine.tsdosyasında güncelleyin - Anahtar kelimeleri gözden geçirin
- Güven skorlarını ayarlayın
Gelecek Geliştirmeler
- Machine learning ile persona detection iyileştirme
- Geçmiş lead verilerinden öğrenme
- Dinamik önerilen hizmetler
- Persona bazlı otomatik email şablonları
- A/B testing ile persona accuracy ölçümü