Files
kolaytercih/docs/gece-vardiyasi/2026-09-21/09-analitik-tur2.md
bilalgursen 0ab4dbe88c
All checks were successful
Deploy / deploy (push) Successful in 7m18s
Enhance Traefik configuration for www.kolaytercih.com
Added a new router and middleware for handling www to apex domain redirection, ensuring that Let's Encrypt certificates are obtained for both domains. Updated the docker-compose.yml file to include necessary rules and middleware for proper redirection and TLS handling.

Also, updated the CEO agent description to remove redundant details and clarified the QA engineer's responsibilities regarding testing critical flows and error reporting. Adjusted the CTO agent's section for consistency in expert guidance and clarified the designer's tools to include 'Skill' for better design resource management.
2026-09-21 20:37:12 +03:00

218 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 09 — Analitik, 2. tur: `program_eklendi` oturumları + "kaç hafta beklemeli?"
Hazırlayan: Analitik ajanı · 2026-09-21 gece vardiyası · Rybbit site_id=1 · Europe/Istanbul
Pencere: organik dönem = 18 Ağu 2026 00:00 → 21 Eyl 2026 (sorgu anı). Yalnızca okuma araçları (`run_query` SELECT, `get_query_schema`, `list_sites`) kullanıldı; Rybbit'te hiçbir şey oluşturulmadı/değiştirilmedi. Kod değiştirilmedi (yalnız okundu).
**İç kullanıcı filtresi (1. turla aynı sonuç, SQL ile yeniden üretildi — S0):** herhangi bir zamanda `odeme_baslatildi`/`odeme_tamamlandi` atmış cihaz kimlikleri (12 cihaz) + bu cihazlarda görülen tanımlı hesaplar (8 hesap) → bunlara ait tüm oturumlar dışlandı. Organik dönemde 48 iç oturum çıkıyor (1. turdaki 48 ile birebir), geriye **877 gerçek oturum** kalıyor. Kimlikler rapora yazılmadı.
## Özet (5 madde)
1. **`program_eklendi` "program eklendi" demek değil — "+'ya basıldı" demek.** Kod: `program-ekle-butonu.tsx:50-57` olayı, profilsiz ziyaretçide program eklenmeyip profil kapısı (modal) açıldığında da atıyor (`use-tercih-profili.ts:211-221`, `kapiAcildi: true` dalı). Katalogdan +'ya basan 83 oturumun **82'si profilsizdi → kapıyı gördü; yalnız 5'i (%6,1; %95 GA 2,6–13,5) sıralamasını girdi.** 77 oturum (%94) +'ya bastı, 5 ekranlık bir sihirbaz modalıyla karşılaştı ve vazgeçti; programları listeye **girmedi** (S6). CEO'nun "katalog ziyaretçisi eklemeyi seviyor" okuması doğru niyet sinyali, ama bugün o niyetin %94'ü kapıda ölüyor.
2. **Ekleme niyeti iniş sayfasında ve hızlı doğuyor:** ilk + tıklamasının %70'i (64/91) giriş sayfasının kendisinde, oturum başından medyan 29 sn sonra (S5). %91'i katalog sayfalarında (/universite/* 54 oturum, /universite/*/sayfa/N 22, /bolum/* 14), /sonuc yalnız 9 oturum (S1). %93 mobil, %97 Google organik (S4).
3. **+'dan sonra ne oluyor: hiçbir şey ya da araştırmaya devam.** 27 oturumda (%30) +'dan sonra izlenen tek bir adım yok; 26'sı netlere bakıyor, 22'si başka bir katalog sayfasına geçiyor, 11'i tekrar +'ya basıyor (yine kapı). /listem'i gören 3 (%3,3), /giris'i gören 4 (%4,4) oturum; katalogdan başlayan 83 oturumda bu sayılar **1 ve 1** (S2, S3, S7).
4. **Kaydet banner eşiği (3) pratikte ulaşılamaz:** 1 tık 68 oturum (%75), 2 tık 17 (%19), 3+ tık 6 (%6,6), 5+ tık 2 (%2,2). Üstelik bunlar ekleme değil tıklama; profilsiz 17 oturum +'ya 2+ kez bastı (medyan 20 sn arayla) ve her seferinde aynı kapıyı gördü (S3, S8).
5. **P2 hunilerine oran olarak bakma tarihi:** `cta_form_goruntulendi → sira_girildi` için **11 Ocak 2027'den önce bakmayın** (≥335 form görüntüleme + ≥8 dönüşüm şartı); `sonuc_goruntulendi → giris_basarili` için **2027 tercih dönemi kapanana kadar oran okumayın** (haftada ~2 anonim /sonuc oturumu; ±10 puanlık aralık için 62 gerekir = 28 hafta). Sezon dışında yön okunabilecek **tek** huni + tık → sıra girişi: taban %6 o kadar düşük ki büyük bir tasarım değişikliği 3–5 haftada (≈37 oturum) görünür → en erken **2 Kasım 2026**.
---
## Soru 1 — `program_eklendi` yapan 91 oturum
Taban: 91 oturum / 89 cihaz / 128 olay; iç filtre sonrası sayı değişmiyor (iç oturumlarda organik dönemde `program_eklendi` yok) (S0, S3).
### Önce: olay ne ölçüyor? (kod okuması — tasarım girdisini değiştiriyor)
- `src/features/liste/components/program-ekle-butonu.tsx:50-57`: `programEkleIste()` sonucu `doldu` ya da `zatenVar` değilse `olay("program_eklendi")` atılıyor. `kapiAcildi: true` (profil yok → program **eklenmedi**, kapı açıldı) dalı da bu `else`'e düşüyor.
- `src/features/liste/hooks/use-tercih-profili.ts:211-221`: profil tamamlanmamışsa program "bekleyen"e alınır, modal açılır. Program ancak kapı tamamlanınca eklenir (`:250-253`); o anda ikinci bir olay atılmaz.
- Kapı (`tercih-profili-kapisi.tsx`): tanıtım ekranı ("Tercihine ışık tutabilmemiz için önce ne istediğini öğrenelim" + "Bekleyen program") → sıralama → 3 sihirbaz adımı → "Kaydet ve programı ekle". Yani **1 program eklemek = 5 ekran**. Kapının açılması/kapanması için olay yok; bu davranış 8–9 Ağu'dan beri aynı (git log), organik dönemin tamamını kapsıyor.
- Sonuç: aşağıdaki "ekleme" rakamlarını **+ tıklaması / ekleme niyeti** olarak okuyun. Gerçek ekleme ≈ kapıyı tamamlayan 5 + önceden profili olan 1 katalog oturumu + /sonuc'taki 8 oturum.
| Grup (ilk +'nın atıldığı yer) | Oturum | Profili önceden var | Kapıyı gördü | Kapıdan sıra girdi (`sira_girildi{kaynak:kapi}`) |
|---|---|---|---|---|
| Katalog | 83 | 1 | **82** | **5 (%6,1)** |
| /sonuc | 8 | 7 | 1 | 0 |
Kaynak: S6. "Profili önceden var" = aynı cihazın ilk +'dan önce herhangi bir `sira_girildi` olayı.
### (a) Hangi sayfa tiplerinde? (S1 — olay `pathname` kalıbı; olay `kaynak` özelliğiyle çapraz doğrulandı: universite 99, bolum 19, sonuc 10 — S1b)
| Sayfa tipi | Olay | Oturum | Oturum payı (91) |
|---|---|---|---|
| /universite/* (1. sayfa) | 69 | 54 | %59 |
| /universite/*/sayfa/N | 30 | 22 | %24 |
| /bolum/* | 19 | 14 | %15 |
| /sonuc | 10 | 9 | %10 |
| Diğer (/, /rehber, /listem…) | 0 | 0 | — |
Oturum toplamı 91'i aşar (5 oturum birden fazla sayfadan bastı — S5). Üniversite sayfaları toplam 99 olay = tıklamaların %77'si. İlk +'nın %70'i (64/91) oturumun giriş sayfasında; oturum başından ilk +'ya medyan **29 sn** (çeyrekler 15–72 sn); ilk +'dan önce medyan 1 sayfa görüntüleme (S5).
### (b) +'dan sonraki ilk 3 adım (S2 — ilk `program_eklendi`'den sonraki sayfa+olay dizisi, ardışık tekrarlar birleştirildi)
En sık desenler (91 oturum):
| # | Desen | Oturum |
|---|---|---|
| 1 | (izlenen başka adım yok — oturum burada bitiyor) | 27 (%30) |
| 2 | `netler_goruntulendi` → bitiş | 11 |
| 3 | başka bir /universite/* sayfası → bitiş | 9 |
| 4 | /bolum/* → /universite/* | 4 |
| 4 | `netler_goruntulendi` → /universite/* → `netler_goruntulendi` | 4 |
| 6 | `netler` → tekrar + · /universite → /bolum → /universite · `netler` → + → `netler` | 3'er |
İlk adıma göre toplu dağılım (aynı sorgudan): hiçbir şey 27 · `netler_goruntulendi` 26 · başka /universite/* 14 · tekrar + 11 · /bolum/* 8 · `sira_girildi` **2** · katalog_arama 1 · ana sayfa 1 · `giris_cta_tiklandi` 1. İlk 3 adımın herhangi birinde `sira_girildi` geçen oturum: 5. İlk 3 adımda /listem: 0; /giris: 1.
Zamanlama (S7): ilk +'dan oturumun son izlenen olayına medyan **12 sn**; 44 oturumda (%48) +'dan sonra 10 sn içinde iz bitiyor; 43 oturum (%47) sonrasında en az bir sayfa daha açıyor.
### (c) Oturum başına + sayısı (S3)
| + sayısı | Oturum | Pay |
|---|---|---|
| 1 | 68 | %74,7 |
| 2 | 17 | %18,7 |
| 3+ | 6 | %6,6 |
| 5+ (3+'nın içinde) | 2 | %2,2 |
En çok 9. Katalog grubunda 3+: 5 oturum; /sonuc grubunda 1 (S8). Profilsiz katalog oturumlarının 20'si 2+ kez bastı (toplam 108 tıklama / 82 oturum — S6); sıra girmeden 2+ basan 17 oturumda 1. ve 2. tık arası medyan 20 sn, 8'inde ≤15 sn (S9) → "bastım, olmadı, bir daha bastım" davranışı. **Kaydet banner'ı 3 programda tetikleniyor; profilsiz ziyaretçinin listesinde 0 program var — banner'ı görmesi mümkün değil.**
### (d) Bu oturumların kaçı köprüye ulaşıyor? (S3, S7, S8)
| Gördüğü şey (oturum içinde) | 91 oturumun tamamı | Yalnız katalogdan başlayan 83 |
|---|---|---|
| /listem | 3 (%3,3) — hepsi +'dan sonra | 1 |
| /giris | 4 (%4,4) — hepsi +'dan sonra | 1 |
| `giris_cta_tiklandi` / `giris_denendi` | 3 / 3 | — / 1 |
| Sıra girişi (`sira_girildi`) | 12 (%13,2): 7'si +'dan önce, 7'si sonra (2 oturumda ikisi de) | **5 (%6,0)** |
| `sihirbaz_tamamlandi` | 11 (+'dan sonra 6) | 4 |
| /sonuc | 10 (8 önce, 5 sonra) | 2 |
| /paket | 0 | 0 |
| Giriş yapmış (tanımlı) | 4 | 2 |
| Üçünden herhangi biri (/listem, /giris, sıra) | 13 (%14,3) | — |
1. turdaki "7/91 sıra girdi" = +'dan **sonra** sıra giren 7 oturum; bunların 5'i kapıdan. Sonraki günlerde geri dönüş (S10): 89 cihazın **6'sı** yeni oturum açtı (9 oturum); 2'si /listem gördü, hiçbiri sıra girmedi.
### (e) Cihaz ve giriş kaynağı (S4; "oran" = o dilimdeki tüm gerçek oturumlara bölünmüş + oturumu)
| Boyut | Değer | + oturumu | Dilimdeki tüm oturum | + oranı |
|---|---|---|---|---|
| Cihaz | Mobil | 85 (%93,4) | 717 | %11,9 (GA 9,7–14,4) |
| | Masaüstü | 6 | 160 | %3,8 (GA 1,7–7,9) |
| OS | Android | 55 | 371 | %14,8 |
| | iOS | 30 | 345 | %8,7 |
| | Windows / macOS | 5 / 1 | 127 / 26 | %3,9 / %3,8 |
| Tarayıcı | Mobile Chrome | 57 | 391 | %14,6 |
| | Mobile Safari | 14 | 211 | %6,6 |
| | GSA (Google uygulaması) | 13 | 90 | %14,4 |
| Kanal | Organic Search | 88 (%96,7) | 727 | %12,1 |
| | Direct | 3 | 149 | %2,0 |
| Referrer | google.com / google.com.tr | 85 / 2 | 705 / 7 | — |
| Giriş sayfası | /universite/* | 62 | 469 | %13,2 |
| | /universite/*/sayfa/N | 10 | 77 | %13,0 |
| | /bolum/* | 11 | 148 | %7,4 |
| | / | 4 | 72 | %5,6 |
| | /rehber | 3 | 87 | %3,4 |
Mobil–masaüstü farkı güven aralıkları ayrışacak kadar büyük; Android–iOS farkı da (14,8'e 8,7) yön olarak güvenilir.
### Tasarımcıya 5 çıkarım
1. **Bugünkü + bir "ekle" değil, 5 ekranlık bir kapı — köprü tasarımının ilk işi bu sırayı tersine çevirmek.** 82 profilsiz oturumun 77'si kapıdan döndü (S6). İlk + anında ve koşulsuz eklesin (yerel liste), görünür onay versin; sıralama sorusu **eklemeden sonra**, değer karşılığında gelsin. Önce iste-sonra ver düzeni %6 ile ölçülmüş durumda.
2. **Köprü, tıklamanın olduğu yerde ve ilk ekranda olmalı; sayfanın dibinde değil.** Niyet iniş sayfasında, ilk 29 saniyede, tablo satırında doğuyor (S5). Mevcut sıra formu `/universite/[slug]`'da tablonun ve sayfalamanın **altında** (`universite-icerik.tsx:300-305`), `/bolum/[slug]` detayında **hiç yok** (`bolum-icerik.tsx`'te `CtaSiraForm` yok; 148 giriş oturumu). Organik dönemde form kaynaklı sıra girişi yalnız 6 oturum, kapı kaynaklı 18 (S11) — kullanıcı forma değil satıra dokunuyor.
3. **Tek soruluk, programa özel köprü: "Bu programa sıralaman yeter mi?"** Kapıdan dönenlerin 26'sı hemen netlere bakıyor, 22'si başka katalog sayfasına geçiyor (S2): kafalarındaki soru tercih profili değil, *bu* programın tutup tutmayacağı. Yalnız sıralama (+puan türü) isteyen tek alan, cevabı aynı satırda risk etiketiyle (renk + metin) göstersin; 3 adımlı sihirbaz /sonuc'a ertelensin. (Marka ajanının köprü cümleleri buraya bağlanır.)
4. **Mobil, tek el, Android Chrome + Google uygulama içi tarayıcı önce.** + oturumlarının %93'ü mobil, %63'ü Mobile Chrome, %14'ü GSA (S4). Ortalanmış büyük modal yerine alt sayfa (bottom sheet) / satır içi genişleme; sayısal klavye (`inputmode="numeric"`); "Vazgeç" kadar kolay bir "sonra" yolu. iOS Safari'de + oranı Android'in yarısı — + butonunun iOS'ta görünürlüğü/dokunma alanı ayrıca gözden geçirilmeli (kanıt yalnız oran farkı; neden bilinmiyor).
5. **"Kaydet" anı 3. programda değil 1. programda; liste her an görünür olmalı.** 3+ tık %6,6, /listem'i gören 1/83, geri dönen cihaz 6/89 (S3, S8, S10). İlk eklemeden sonra kalıcı bir mini çubuk ("Listende 1 program · Listeme git") ve kayıt teklifini ilk eklemede yap; ama giriş duvarını değerin önüne koyma — /sonuc→/giris'te aynı hatanın bedeli zaten ölçüldü (4/23). Tekrar +'ya basma davranışı (17 oturum, 20 sn arayla) mevcut geri bildirimin "eklenmedi" durumunu anlatamadığını da gösteriyor.
**CTO'ya ölçüm notu (kod değiştirmedim):** (i) `program_eklendi` yalnız `sonuc.eklendi === true` iken atılmalı, kapı tamamlanınca eklenen bekleyen program için de atılmalı (`use-tercih-profili.ts:250-253`); (ii) yeni `kapi_acildi {kaynak}` ve `kapi_kapatildi {adim}` olayları olmadan köprü yeniden tasarımının etkisi ölçülemez; (iii) değişiklik tarihi not edilmeli — o tarihten önceki `program_eklendi` serisi "tık", sonrası "ekleme" olur, seriler karşılaştırılamaz.
---
## Soru 2 — P2 olaylarından yön okumak için kaç hafta?
### Taban oranlar (organik dönem, gerçek kullanıcı; Wilson %95 güven aralığı)
| Huni | Pay / payda | Oran | %95 GA | Kaynak |
|---|---|---|---|---|
| Katalog/rehber sayfası gören oturum → `sira_girildi{cta}` | 6 / 797 | %0,75 | 0,3–1,6 | S11 |
| aynı payda → `sira_girildi{cta ya da kapi}` | 24 / 797 | %3,0 | 2,0–4,4 | S11 |
| + tık (profilsiz, katalog) → `sira_girildi{kapi}` | 5 / 82 | %6,1 | 2,6–13,5 | S6 |
| Anonim /sonuc → /giris (aynı oturum) | 4 / 23 | %17,4 | 7,0–37,1 | S11 |
| 1. tur hunisi: /sonuc → /giris | 5 / 24 (alt. 9 / 30) | %21 (%30) | 9–41 (17–48) | 01 §4A |
| Anonim /sonuc → `giris_denendi` | 2 / 23 | %8,7 | 2,4–26,8 | S11 |
Bugünkü aralıkların genişliği (±15 puan) zaten cevabın yarısı: 5 haftalık sezon verisiyle bile /sonuc→/giris için "%7 ile %37 arasında bir yer" diyebiliyoruz.
### Haftalık payda hacmi (S11, gerçek oturum)
| Hafta (Pzt) | Oturum | Katalog/rehber gören | + oturumu | Sıra (cta / kapı / hepsi) | Anonim /sonuc | → /giris |
|---|---|---|---|---|---|---|
| 17 Ağu* | 318 | 301 | 34 | 3 / 5 / 12 | 9 | 1 |
| 24 Ağu | 281 | 268 | 34 | 1 / 7 / 10 | 7 | 2 |
| 31 Ağu | 118 | 103 | 10 | 0 / 3 / 3 | 1 | 0 |
| 7 Eyl | 61 | 47 | 4 | 0 / 0 / 0 | 1 | 0 |
| 14 Eyl | 99 | 78 | 9 | 2 / 3 / 11 | 5 | 1 |
\* 18 Ağu'dan itibaren (6 gün). Oranlar: anonim /sonuc = oturumların %2,6'sı (23/877); + oturumu %9,5 (83/877); katalog/rehber payı sezonda %91, son iki haftada ~%78.
### Varsayımlar
1. "Yön okumak" = tek oranın %95 güven aralığı yarı genişliği: /sonuc hunisi (p≈%20) için **±10 puan → n = 62**; CTA formu (p≈%2) için **±1,5 puan → n = 335** (ve en az 8 dönüşüm). Formül: n = 1,96²·p(1−p)/h².
2. Önce/sonra karşılaştırması (iki oran, güç %80; "yön" için tek yönlü α=0,10, parantez içinde klasik çift yönlü α=0,05): %20→%40: kol başına 46 (79) · %20→%35: 78 (136) · %2→%4: 654 (1.139) · %2→%6: 215 (373) · %6→%30: 21 (37) · %6→%20: 50 (87).
3. `cta_form_goruntulendi` paydası henüz ölçülmedi. Form sayfanın dibinde olduğu ve bounce %68–70 olduğu için katalog/rehber oturumlarının **~%33'ünün** formu gördüğünü varsaydım (belirsizlik %20–50; olay canlıya çıkınca ilk 2 haftada bu varsayımı gerçek sayıyla değiştirin). Bu durumda form-görüntüleme bazlı taban oran ≈ 6/(797×0,33) ≈ %2.
4. `giris_basarili` taban oranı bilinmiyor (olay yeni; ayrıca prod'da `RYBBIT_*` secret'ları yoksa hiç düşmeyecek — 06-cto-plani §P4 notu). /giris görüntüleme (%17–21) üst sınır, `giris_denendi` (%9) alt sınır; hesapta p=%20 kullandım — en çok örneklem isteyen (en temkinli) değer p=%50'ye yakın olandır, yani gerçek p %10 ise gereken n daha da **küçük** (±10 puan için 35), ama göreli hata büyür.
5. Trafik sabit kalır; P2'nin 28 Eyl 2026 Pazartesi canlıda olduğu varsayıldı (bu vardiyada deploy yok — tarih kayarsa eşik tarihleri aynı hafta sayısı kadar kayar). Google OAuth dönüşü oturumu böldüğü için oturum-içi huni `giris_basarili`'yi eksik sayar → kullanıcı/cihaz bazlı sayın.
### Senaryo tablosu — eşiğe ulaşmak için gereken hafta
| Huni · eşik | Haftalık payda formülü | ~86/hafta (bugün) | 2× (~172) | Sezon (~380) |
|---|---|---|---|---|
| **A.** `cta_form_goruntulendi → sira_girildi` · n=335 (±1,5 puan) | oturum × katalog payı (0,80 / 0,80 / 0,90) × 0,33 | 23/hafta → **15 hafta** | 45 → 8 hafta | 113 → 3 hafta |
| A, önce/sonra %2→%4 (kol başına 654) | aynı | 29 hafta/kol | 15 | 6 |
| A, önce/sonra %2→%6 (kol başına 215) | aynı | 10 hafta/kol | 5 | 2 |
| **B.** `sonuc_goruntulendi{girisli:hayir} → giris_basarili` · n=62 (±10 puan) | oturum × 0,026 | 2,2/hafta → **28 hafta** | 4,5 → 14 hafta | 9,9 → 7 hafta |
| B, önce/sonra %20→%40 (kol başına 46) | aynı | 21 hafta/kol | 10 | 5 |
| **C.** + tık → `sira_girildi{kapi}` · önce/sonra %6→%30 (yeni tasarımda 21–37 oturum; "önce" kolu hazır: 5/82) | oturum × 0,095 | 8/hafta → **3–5 hafta** | 16 → 2–3 | 36 → 1 |
| C, %6→%20 (50–87 oturum) | aynı | 6–11 hafta | 3–6 | 2–3 |
### Net eşikler — "şu tarihe kadar bakmayın"
- **Huni A (`cta_form_goruntulendi → sira_girildi`): 11 Ocak 2027'den önce oran olarak bakmayın.** Sayı kuralı (tarih yerine geçer): **≥335 form görüntüleme ve ≥8 dönüşüm** birikmeden yüzde hesaplamayın. Trafik iki katına çıkarsa en erken 23 Kasım 2026.
- **Huni B (`sonuc_goruntulendi → giris_basarili`): 2027 tercih dönemi kapanana kadar oran okumayın** (ÖSYM 2027 takvimi **doğrulanmalı**; bu yılki örüntüyle Ağustos sonu). Sezon dışında 28 hafta gerekiyor; bu yılın 5 haftalık sezonu bile yalnız 23 anonim /sonuc oturumu üretti. 62'ye sezon içinde ulaşmak için sezon ortalamasının ~460 oturum/hafta olması gerekir (bu yıl 175) → ya trafik ~2,6× büyümeli ya da katalog köprüsü /sonuc'a giden payı %2,6'dan yukarı çekmeli. O güne kadar B'yi **yüzde değil, adet + tek tek oturum** olarak izleyin.
- **Huni C (+ → sıra): köprü yeniden tasarımı canlıya çıktıktan sonra ≥37 + oturumu birikince bakın — 28 Eyl'de çıkarsa en erken 2 Kasım 2026.** Sezon dışında yön okunabilecek tek yer burası, çünkü taban (%6) çok düşük ve beklenen etki çok büyük. Koşul: `kapi_acildi`/düzeltilmiş `program_eklendi` olayları aynı sürümde gelsin.
- **İlk 2 hafta yapılacak tek şey sağlık kontrolü:** yeni olaylar düşüyor mu, `cta_form_goruntulendi` sayısı katalog oturumlarının kaçta kaçı (varsayım 3'ü güncelle), `giris_basarili` gerçekten geliyor mu. Oran yok, karar yok.
- Genel kural: paydası < 60 olan hiçbir yüzdeyi rapora yazmayın; "4/23" gibi ham kesir + güven aralığı yazın.
### Düşük trafikte A/B yerine ne yapılmalı (3 madde)
1. **Haftalık oturum okuması (nitel, 30 dk).** Haftada ~8 + oturumu ve ~2–5 /sonuc oturumu var — hepsi tek tek okunabilir (`get_sessions` olay filtresi → `get_session` zaman çizelgesi). Sabit bir kod cetveliyle işaretleyin: hangi sayfada bastı, kapının hangi adımında bıraktı, sonra ne yaptı (netler / başka sayfa / çıkış), /sonuc'ta kaç sn kaldı, girişe neden gitmedi. 10–15 oturumda tekrar eden desen, 28 haftalık oran beklemekten daha hızlı karar verdirir. Session replay kapalı; açılması değerlendirilebilir (KVKK/aydınlatma metni kararıyla birlikte — CEO).
2. **5 kişilik görev bazlı kullanılabilirlik testi, mobilde.** Hedef kitle: 12. sınıf / mezun; görev: "Google'dan bu üniversite sayfasına düştün; şu programı listene ekle ve tutup tutmayacağını öğren." Mevcut kapı ile yeni köprü prototipini aynı kişilere sırayla verin; sesli düşünme. 5 kişi, büyük kullanılabilirlik sorunlarının çoğunu yakalar; %6'lık kapı tamamlamanın *nedeni* analitikten değil buradan çıkar.
3. **Yalnız büyük etkili, sıralı (önce/sonra) değişiklikler + yerinde tek dokunuşluk soru.** Trafiği ikiye bölmeyin; tek varyantı yayınlayın, önce/sonra karşılaştırın ve yalnız ≥3× fark beklenen değişiklikleri deneyin (Huni C böyle; buton rengi/metin ince ayarı böyle değil). Kapı/köprü kapatılırken tek dokunuşluk "Neden vazgeçtin?" (sıralamam belli değil / sadece bakıyorum / çok uzun / başka) sorusu ölçülebilir bir nitel sinyal üretir — olay özelliği olarak, kişisel veri içermeden.
---
## Sorgu dizini (hepsi `run_query`, `scoped_events`, site_id=1, `timestamp ≥ 2026-08-18 00:00 Europe/Istanbul`, iç oturumlar `NOT IN` ile dışlandı)
| Kod | Ne hesaplıyor |
|---|---|
| S0 | İç filtre: ödeme olayı atmış cihazlar (12) + onlarda görülen tanımlı hesaplar (8) → 48 iç oturum; toplam 925, `program_eklendi` 91 oturum / 128 olay |
| S1 | `program_eklendi` olaylarının `pathname` kalıbına göre olay/oturum/cihaz sayısı · S1b: `props.kaynak` dağılımı |
| S2 | Oturum başına zaman sıralı (sayfa tipi | olay adı) dizisi; ilk +'dan sonrası, `arrayCompact`, ilk 3 adım; desen başına oturum |
| S3 | Oturum başına + sayısı kovaları + oturum içi bayraklar (/listem, /giris, /sonuc, /paket, sıra, tamam, giris_denendi, giris_cta, netler, tanımlı) |
| S4 | + oturumu ve tüm oturum sayısı: cihaz, kanal, referrer alan adı, giriş sayfası tipi, OS, tarayıcı |
| S5 | İlk + giriş sayfasında mı; oturum başından ilk +'ya süre; öncesindeki sayfa görüntüleme; birden çok sayfadan basan oturum |
| S6 | İlk +'nın yeri (katalog//sonuc) × cihazın önceden `sira_girildi`'si var mı × +'dan sonra `sira_girildi{kaynak:kapi}` |
| S7 | Bayrakların ilk +'dan önce/sonra ayrımı; +'dan son olaya süre |
| S8 | Grup (katalog//sonuc) × + kovası (1/2/3+) × köprü bayrakları |
| S9 | Sıra girmeden 2+ kez basan katalog oturumlarında 1.–2. tık arası süre (bu sorguda iç filtre yok; iç oturumlarda zaten + yok) |
| S10 | + yapan cihazların sonraki oturumları ve o oturumlarda /listem, /giris, sıra |
| S11 | Haftalık (Pzt başlangıçlı) gerçek oturum, katalog/rehber gören, `sira_girildi` kaynak kırılımı, anonim /sonuc → /giris / `giris_denendi`; toplam satırı (ROLLUP) · `sira_girildi` kaynak dağılımı: kapi 18, hero 14 olay/12 oturum, duzenle 13 olay/6 oturum, cta 6 |
Güven aralıkları ve örneklem büyüklükleri yerel Python ile hesaplandı (Wilson aralığı; n = z²p(1−p)/h²; iki oran için n = (z_α+z_β)²·[p₁q₁+p₂q₂]/Δ²).
## Veri sınırları
- **Kapının açıldığı doğrudan ölçülmüyor.** "82 oturum kapıyı gördü" = kod davranışı + cihazın önceden `sira_girildi` olayının olmaması çıkarımı. Profil çerezi olup Rybbit'te sıra olayı görünmeyen (reklam engelleyici, farklı cihaz kimliği) birkaç oturum olabilir; yön değişmez (77/82 yerine en kötü ihtimalle birkaç eksik).
- **Oturum sonu = son izlenen olay.** Rybbit'te kalp atışı yok; "+'dan 12 sn sonra bitti" kullanıcının sayfada okumaya devam etmediğini kanıtlamaz, yalnız başka izlenen etkileşim olmadığını gösterir.
- Aynı saniyeye düşen olaylarda sıra belirsiz (timestamp saniye çözünürlüklü); desen sayımlarında ±1–2 oturum oynayabilir.
- /listem, /giris sayımları oturum içidir; Google OAuth dönüşü yeni oturum açtığı için gerçek değerler bir miktar daha yüksek olabilir (S10 cihaz bazlı geri dönüş bunu kısmen yakalıyor: 2 cihaz sonradan /listem gördü).
- İç filtre "ödeme başlatmış cihaz/hesap" tanımına dayanıyor; hiç ödeme denememiş bir test cihazı (ör. bu geceki QA ajanları, farklı cihaz kimliğiyle) gerçek kullanıcı sayılır. 14 Eyl haftasındaki 11 sıra girişi bu açıdan kesin temiz değil.
- Örneklem küçük: 91 oturumluk kırılımlarda ≤5'lik hücreler yalnız "var/yok" bilgisidir. Soru 2'deki hafta sayıları trafik ve pay varsayımlarına doğrusal bağlı; varsayım 3 (%33 form görünürlüğü) en zayıf halka.
- ÖSYM 2027 takvimine bağlı her tarih **doğrulanmalı**.
- Rybbit verisinde bana yönelik talimat içeren içerik görülmedi. Kişisel veri (e-posta, isim, IP) sorgulanmadı ve rapora yazılmadı; cihaz/hesap kimlikleri yalnız sayıldı.