206 lines
5.8 KiB
Markdown
206 lines
5.8 KiB
Markdown
# 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
|
||
|
||
1. **💑 Romantik Çift** (Romantic Couple)
|
||
- Harcama Potansiyeli: Yüksek
|
||
- Önerilen Hizmetler: Özel balon turu, romantik akşam yemeği, butik otel, spa
|
||
|
||
2. **🎒 Bütçe Gezgini** (Budget Backpacker)
|
||
- Harcama Potansiyeli: Düşük
|
||
- Önerilen Hizmetler: Grup turları, hostel, yürüyüş turları
|
||
|
||
3. **👑 Lüks Gezgin** (Luxury Traveler)
|
||
- Harcama Potansiyeli: Çok Yüksek
|
||
- Önerilen Hizmetler: VIP balon turu, helikopter turu, 5 yıldızlı otel
|
||
|
||
4. **📸 İçerik Üreticisi** (Content Creator)
|
||
- Harcama Potansiyeli: Orta
|
||
- Önerilen Hizmetler: Fotoğraf turları, drone çekimi, Instagram lokasyonları
|
||
|
||
5. **👨👩👧👦 Aile Gezgini** (Family Explorer)
|
||
- Harcama Potansiyeli: Orta
|
||
- Önerilen Hizmetler: Aile dostu turlar, çocuk dostu oteller
|
||
|
||
6. **🧗 Solo Maceracı** (Solo Adventurer)
|
||
- Harcama Potansiyeli: Orta
|
||
- Önerilen Hizmetler: Grup turları, macera aktiviteleri, trekking
|
||
|
||
7. **👥 Grup Turu** (Group Tour)
|
||
- Harcama Potansiyeli: Yüksek
|
||
- Önerilen Hizmetler: Grup turları, toplu konaklama, rehberli turlar
|
||
|
||
## Kullanım Örnekleri
|
||
|
||
### 1. PersonaBadge Komponenti
|
||
|
||
```tsx
|
||
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
|
||
|
||
```tsx
|
||
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)
|
||
|
||
```tsx
|
||
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:
|
||
|
||
1. **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"
|
||
|
||
2. **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
|
||
|
||
3. **Veri Saklama**
|
||
- Persona bilgisi `tourist_persona` alanında saklanır
|
||
- Güven skoru `persona_confidence` alanında saklanır
|
||
- Tespit edilen sinyaller `key_signals` array'inde tutulur
|
||
|
||
## API Kullanımı
|
||
|
||
### Lead Oluşturma
|
||
|
||
```typescript
|
||
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
|
||
|
||
```typescript
|
||
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
|
||
|
||
1. `/src/types/lead.ts` dosyasında `TouristPersonaType` enum'ına yeni tip ekleyin
|
||
2. `/src/types/persona.ts` dosyasında `TOURIST_PERSONAS` objesine yeni persona tanımı ekleyin
|
||
3. `/src/utils/persona-engine.ts` dosyasında `analyzeSignals` fonksiyonuna 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.ts` dosyası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ü
|