Files
kolaytercih/docs/gece-vardiyasi/2026-09-22/15-yazar-yeni-bolumler.md
bilalgursen 2b350d0c5d content(rehber): gece vardiyasının 14 yeni yazısı + 2 düzeltme, ekip raporları ve kurallar
14 yeni rehber yazısı (hepsi editör denetiminden geçti, 46 yazıda 829 iç link
tarandı, 0 kırık hedef; 180+ DB rakamı yazıların kendi filtreleriyle yeniden
koşuldu):

  taban-siralamalari-alti-yilda-nasil-degisti · kac-net-ile-hangi-bolum ·
  siralama-bandlari-hangi-kapilar-acilir · ayni-bolum-farkli-universite-siralama-farki ·
  hangi-bolumlerin-kontenjani-azaldi · yeni-acilan-bolumler-nasil-degerlendirilir ·
  bilgisayar-mi-yazilim-muhendisligi-mi · kktc-universiteleri-okunur-mu ·
  yapay-zekaya-tercih-sordum-guvenilir-mi · ek-madde-1-puanim-yetiyor-mu ·
  universitede-ilk-hafta-ders-kaydi-muafiyet-kayit-dondurma · yks-2027-takvimi ·
  rehber-ogretmenler-icin-veri-kaynaklari · bolumumu-sevmedim-hangi-kapilar-var

İki canlı yazı düzeltildi:
- veliler-icin-tercih-rehberi: veli diliyle kapanış; altındaki "sıralamanı gir"
  kutusu artık veliye ölü uç değil
- bos-kontenjanlar-ne-anlatiyor: "birkaç yüz kişilik fark" aslında ~9 bin
  (ÖSYM 265.356 ↔ bizim 256.532); payda açıklaması tersti — ek kontenjan
  paydaya girseydi oran düşerdi. guncelleme alanı eklendi (sitemap lastmod).

Kurallar (AGENTS.md):
- Yayın sonrası arama motoru bildirimi: URL denetimi yalnız canlıda 200 dönen
  adrese; kota sayacı; mülk/hesap notu; sitemap grep kuralı
- Yıkıcı git komutları yasak: reset/checkout --/restore/clean/stash
- Tarayıcı açma: tasarımcı ve UX gerekli gördüğünde açabilir (yetenek için
  .claude/agents/tasarimci.md'ye tarayıcı araçları eklendi)

docs/gece-vardiyasi/2026-09-22/ — 34 rapor: CEO kararları ve kapanış turu,
marka/ödeme analizi, sıfır ödeme teşhisi, SEO konu planı, veri kalitesi,
editör denetimi, CTO şartnamesi, yazılımcı ve güvenlik raporları, SABAH-OZETI.

docs/ekip/YAYIN-KUYRUGU.md — Search Console bildirim kuyruğu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 23:25:34 +03:00

17 KiB
Raw Blame History

15 — Rehber yazısı: yeni açılan bölümler nasıl değerlendirilir

Tarih: 22 Eylül 2026, gece · Rol: rehber-yazari · Dosya: content/rehber/yeni-acilan-bolumler-nasil-degerlendirilir.md (yeni) · Commit atılmadı, başka dosyaya dokunulmadı.

Kanıt işaretleri: [D] birincil kaynak / DB / kod okundu · [Ç] çıkarım · [doğrulanmalı] yayın öncesi teyit.


Özet (5 madde)

  1. DB'de 2021–2026 (altı yıl) verisi var → brief'in "ikinci yıl ne oldu" analizi yapılabildi. programs 21.493 satır, programs_arsiv 3.735 satır (kılavuzdan düşenler), veri_meta.refresh_2026_tarih = 2026-09-21. Üç kohort ölçüldü: 2023→2024, 2024→2025, 2025→2026. [D]
  2. Yazının kalbi beklenenden farklı çıktı. "Yeni program ikinci yıl sıkılaşır" iddiası ölçülebiliyor ve yeni programa özgü değil: üç kohortun üçünde de yeni programların sıkılaşma oranı ve ortanca değişimi, kılavuzun geri kalanıyla bir–iki puan farkla aynı (ör. 2025→2026: yeni %83,8 / −%12,6, diğerleri %85,7 / −%12,1). Yazı bu yüzden "ikinci yıl" hikâyesini değil ilk yıl nerede açıldığı hikâyesini merkeze aldı.
  3. Gerçek ayırt edici bulgu kontenjan büyüklüğü. Yeni programın ilk yıl tabanını, aynı bölümün başka üniversitelerdeki taban medyanıyla kıyasladık (584 program): kontenjanı 1–10 olanların %58,0'i medyandan daha sıkı açılmış; 41+ kontenjanlılarda bu oran %5,7. Temiz, tek yönlü bir ilişki — rakiplerde yok.
  4. İkinci ayırt edici bulgu kalıcılık. 2025'te ilk kez kontenjan veren 2.004 satırın %23,7'si 2026 kılavuzunda yok (kılavuz geneli %8,0); bunun %8,8'i üniversite+bölüm adı düzeyinde de yok, %14,9'u yalnızca burs/dil varyantı değişmiş satırlar.
  5. Veri temizliği kritikti: ham "yeni program" sayımı 1.152 çıkıyor ama bunun 222'si "(KKTC Uyruklu)" 1–2 kişilik özel kontenjan satırı ve doluluk/boşluk tablolarını bozuyordu. Filtrelenince 930 program kaldı. SEO planındaki "1.149 program" rakamı bu filtrelenmemiş sayımla aynı ailedendir; yazıda 930 kullanıldı ve tanım açıkça yazıldı.

DB'de hangi yılların verisi var?

sqlite3 -readonly data/yokatlas.db

SELECT 2021,count(kontenjan2021),count(sira2021) FROM programs
UNION ALL SELECT 2022,count(kontenjan2022),count(sira2022) FROM programs
UNION ALL SELECT 2023,count(kontenjan2023),count(sira2023) FROM programs
UNION ALL SELECT 2024,count(kontenjan2024),count(sira2024) FROM programs
UNION ALL SELECT 2025,count(kontenjan2025),count(sira2025) FROM programs
UNION ALL SELECT 2026,count(kontenjan2026),count(sira2026) FROM programs;
Yıl kontenjan dolu sıra dolu
2021 15.233 10.293
2022 16.243 16.047
2023 17.083 16.504
2024 18.549 18.349
2025 20.241 17.304
2026 21.493 18.251

yerlesen2021 ve yerlesen2022 tamamen boş — doluluk analizleri 2023'ten itibaren yapılabiliyor. Veri 2021'de başladığı için 2021–2022 kohortları "yeni" sayılamaz; kohort analizi 2023'ten başlatıldı ve bu kısıt yazıda açıkça belirtildi.

"Yeni program" tanımı (tüm sorgularda aynı): kontenjan<Y> IS NOT NULL ve Y'den önceki tüm yılların kontenjanı NULL. Evren: unitur IN ('DEVLET','VAKIF','VAKIF MYO'), isim NOT LIKE '%KKTC Uyruklu%'.


Kullanılan SQL sorguları ve çıktıları

1) 2026'da ilk kez kontenjan veren programlar vs. kılavuzun geri kalanı

WITH t AS (
  SELECT *, CASE WHEN kontenjan2025 IS NULL AND kontenjan2024 IS NULL AND kontenjan2023 IS NULL
                  AND kontenjan2022 IS NULL AND kontenjan2021 IS NULL THEN 'yeni' ELSE 'mevcut' END grup
  FROM programs
  WHERE kontenjan2026 IS NOT NULL AND unitur IN ('DEVLET','VAKIF','VAKIF MYO')
    AND isim NOT LIKE '%KKTC Uyruklu%')
SELECT grup, COUNT(*), SUM(kontenjan2026), SUM(yerlesen2026),
 ROUND(100.0*SUM(yerlesen2026)/SUM(kontenjan2026),1) doluluk,
 ROUND(100.0*SUM(CASE WHEN COALESCE(yerlesen2026,0)=0 THEN 1 ELSE 0 END)/COUNT(*),1) pct_hic_bos,
 ROUND(100.0*SUM(CASE WHEN yerlesen2026>=kontenjan2026 THEN 1 ELSE 0 END)/COUNT(*),1) pct_tam_dolan
FROM t GROUP BY 1;
grup program kontenjan yerleşen doluluk hiç boş tam dolan
mevcut 19.099 702.576 691.804 %98,5 %2,1 %88,2
yeni 930 26.837 23.660 %88,2 %1,9 %74,9

Filtresiz hâli (karşılaştırma için): yeni 1.054 program, doluluk %88,0, hiç boş %7,5, tam dolan %71,9 — fark tamamen KKTC-uyruklu 1–2 kişilik satırlardan geliyor.

Kırılım (aynı WHERE, GROUP BY unitur, onlisans):

program kontenjan doluluk hiç yerleşen olmayan
Devlet · lisans 131 3.257 %96,5 3
Devlet · önlisans 120 4.045 %105,2 2
Vakıf · lisans 297 8.478 %80,4 9
Vakıf · önlisans (VAKIF + VAKIF MYO) 382 11.057 %85,4 4

Üniversite/ad dağılımı: 930 satır, 145 üniversite (86 devlet + 59 vakıf), 261 farklı bölüm adı, vakıf payı 679/930 = %73,0.

2) "Taban oluşur ⟺ kontenjan dolar" doğrulaması

SELECT CASE WHEN sira2026 IS NULL THEN 'taban yok' ELSE 'taban var' END,
       CASE WHEN COALESCE(yerlesen2026,0)>=kontenjan2026 THEN 'doldu' ELSE 'bos' END, COUNT(*)
FROM <yeni programlar> GROUP BY 1,2;

Çıktı: taban var + doldu = 697, taban yok + bos = 233, diğer kombinasyon 0. Yani yeni programlarda taban oluşması kontenjanın dolmasıyla birebir örtüşüyor. [D]

Not: kılavuzun geneline bakınca bu ilişki birebir değil — 2.092 program yerlesen>0 olduğu hâlde sira2026 boş (çoğu TYT önlisans ve özel yetenek tarafı). Yazıda bu genelleme yalnızca yeni programlar için yapıldı.

3) Yazının kalbi: ilk yıl tabanı, aynı bölümün medyanına göre nerede açıldı?

Referans: aynı normalize bölüm adı (parantezler atılmış) + aynı unitur + aynı onlisans, yeni olmayan ve sira2026 dolu en az 5 program. Kıyaslanabilir yeni program: 584.

WITH norm AS (
  SELECT id, unitur, onlisans, sira2026, kontenjan2026 k,
    TRIM(CASE WHEN INSTR(isim,'(')>0 THEN SUBSTR(isim,1,INSTR(isim,'(')-1) ELSE isim END) ad,
    CASE WHEN kontenjan2025 IS NULL AND kontenjan2024 IS NULL AND kontenjan2023 IS NULL
              AND kontenjan2022 IS NULL AND kontenjan2021 IS NULL THEN 1 ELSE 0 END yeni
  FROM programs
  WHERE kontenjan2026 IS NOT NULL AND unitur IN ('DEVLET','VAKIF','VAKIF MYO')
    AND isim NOT LIKE '%KKTC Uyruklu%'),
eski AS (SELECT ad,unitur,onlisans,sira2026,
   ROW_NUMBER() OVER (PARTITION BY ad,unitur,onlisans ORDER BY sira2026) rn,
   COUNT(*)     OVER (PARTITION BY ad,unitur,onlisans) n
  FROM norm WHERE yeni=0 AND sira2026 IS NOT NULL),
ref AS (SELECT ad,unitur,onlisans,AVG(sira2026) medyan FROM eski
        WHERE rn IN ((n+1)/2,(n+2)/2) AND n>=5 GROUP BY ad,unitur,onlisans),
j AS (SELECT y.k, 100.0*(y.sira2026-r.medyan)/r.medyan fark
      FROM norm y JOIN ref r USING (ad,unitur,onlisans)
      WHERE y.yeni=1 AND y.sira2026 IS NOT NULL)
-- sonra: bant bazında / yüzdelik bazında özet

Kontenjan bandına göre (yazıdaki ana tablo):

kontenjan n medyandan daha sıkı açılan ortanca fark
1–10 162 %58,0 −%8,3
11–20 55 %25,5 +%32,6
21–40 227 %14,5 +%59,8
41+ 140 %5,7 +%147,9
Toplam 584 %25,5 +%50,5

Yüzdelik dağılımı: p10 −%45,8 · p25 −%0,6 · p50 +%50,5 · p75 +%165,6 · p90 +%263,4. Pozitif = taban sıralaması büyük = daha gevşek.

4) İkinci yıl: yeni programlar vs. kılavuzun geri kalanı

Her kohort için ayrı çalıştırıldı (Y0 ∈ {2023,2024,2025}, Y1 = Y0+1); "yeni" koşulu Y0'dan önceki tüm kontenjan yılları NULL.

WITH d AS (
 SELECT CASE WHEN (<Y0 öncesi tüm kontenjanlar NULL>) THEN 'yeni' ELSE 'mevcut' END grup,
        100.0*(sira<Y1> - sira<Y0>)/sira<Y0> pd
 FROM programs
 WHERE kontenjan<Y0> IS NOT NULL AND kontenjan<Y1> IS NOT NULL
   AND unitur IN ('DEVLET','VAKIF','VAKIF MYO') AND isim NOT LIKE '%KKTC Uyruklu%'
   AND sira<Y0> IS NOT NULL AND sira<Y1> IS NOT NULL),
r AS (SELECT grup,pd,ROW_NUMBER() OVER (PARTITION BY grup ORDER BY pd) rn,
             COUNT(*) OVER (PARTITION BY grup) n FROM d)
SELECT grup,n, ROUND(100.0*SUM(CASE WHEN pd<0 THEN 1 ELSE 0 END)/n,1) pct_sikilasti,
 ROUND(MAX(CASE WHEN rn=CAST(n*0.25 AS INT)+1 THEN pd END),1) p25,
 ROUND(MAX(CASE WHEN rn=CAST(n*0.50 AS INT)+1 THEN pd END),1) p50,
 ROUND(MAX(CASE WHEN rn=CAST(n*0.75 AS INT)+1 THEN pd END),1) p75
FROM r GROUP BY grup,n;
kohort grup n sıkılaşan p25 p50 p75
2023→2024 yeni 620 %65,5 −%12,7 −%4,6 +%6,5
2023→2024 mevcut 14.604 %66,8 −%10,8 −%4,9 +%4,0
2024→2025 yeni 1.159 %81,4 −%18,8 −%12,2 −%4,3
2024→2025 mevcut 14.317 %82,9 −%18,5 −%12,4 −%4,6
2025→2026 yeni 1.135 %83,8 −%20,5 −%12,6 −%3,8
2025→2026 mevcut 15.223 %85,7 −%17,5 −%12,1 −%5,9

Dağılımın uçları da (p10/p90, |değişim|>%50 payı) iki grupta neredeyse aynı çıktı — yani yeni programların ikinci yılı "daha oynak" da değil. Bu, yazının en karşı-sezgisel cümlesinin kaynağı.

5) Kalıcılık: 2025 kohortu 2026 kılavuzunda kaldı mı?

programs_arsiv + son_kilavuz_yili kullanıldı (arşiv 2026 refresh'inde kuruldu: veri_meta.arsiv_2026_satir = 3706, son_kilavuz_yili=2025 olan 1.745 satır).

WITH a AS (SELECT universite, onlisans,
   TRIM(CASE WHEN INSTR(isim,'(')>0 THEN SUBSTR(isim,1,INSTR(isim,'(')-1) ELSE isim END) ad
 FROM programs_arsiv
 WHERE kontenjan2021 IS NULL AND kontenjan2022 IS NULL AND kontenjan2023 IS NULL
   AND kontenjan2024 IS NULL AND kontenjan2025 IS NOT NULL AND son_kilavuz_yili=2025
   AND unitur IN ('DEVLET','VAKIF','VAKIF MYO') AND isim NOT LIKE '%KKTC Uyruklu%'),
p AS (SELECT DISTINCT universite, onlisans,
   TRIM(CASE WHEN INSTR(isim,'(')>0 THEN SUBSTR(isim,1,INSTR(isim,'(')-1) ELSE isim END) ad
 FROM programs WHERE kontenjan2026 IS NOT NULL)
SELECT COUNT(*) kohort_2026da_yok,
 SUM(CASE WHEN p.ad IS NULL THEN 1 ELSE 0 END) bolum_adiyla_tamamen_yok,
 SUM(CASE WHEN p.ad IS NOT NULL THEN 1 ELSE 0 END) varyanti_duruyor
FROM a LEFT JOIN p ON p.universite=a.universite AND p.ad=a.ad AND p.onlisans=a.onlisans;

Çıktı: 2026'da yok 475, bunun 177'si bölüm adı düzeyinde de yok, 298'inde varyant duruyor. programs tarafında 2025 kohortundan kalan 1.529 satır → kohort toplamı 2.004; kaybolma oranı %23,7 / tamamen kaybolma %8,8.

Taban oran (kılavuz geneli): programs 2025 kontenjanlı filtreli 19.001 + arşiv son_kilavuz_yili=2025 filtreli 1.649 = 20.650 → düşme oranı %8,0.

6) İlk yıl doluluğu ikinci yılı haber veriyor mu?

WITH y AS (SELECT * FROM programs
 WHERE kontenjan2025 IS NOT NULL AND kontenjan2024 IS NULL AND kontenjan2023 IS NULL
   AND kontenjan2022 IS NULL AND kontenjan2021 IS NULL AND kontenjan2026 IS NOT NULL
   AND unitur IN ('DEVLET','VAKIF','VAKIF MYO') AND isim NOT LIKE '%KKTC Uyruklu%')
SELECT CASE WHEN COALESCE(yerlesen2025,0)>=kontenjan2025 THEN 'ilk yil doldu' ELSE 'ilk yil bos' END,
 COUNT(*), ROUND(100.0*SUM(CASE WHEN COALESCE(yerlesen2026,0)>=kontenjan2026 THEN 1 ELSE 0 END)/COUNT(*),1),
 ROUND(100.0*SUM(yerlesen2026)/SUM(kontenjan2026),1) FROM y GROUP BY 1;
n 2026'da dolan pay 2026 doluluğu
ilk yıl dolmuştu 1.161 %97,8 %102,8
ilk yıl boş kalmıştı 368 %18,5 %39,7

7) Somut örnek (yazıda kullanıldı)

SELECT isim, universite, kontenjan2026, yerlesen2026, sira2026 FROM programs
WHERE <yeni koşulu> AND unitur='DEVLET' AND onlisans=0
  AND isim LIKE 'Psikoloji%' AND isim NOT LIKE '%KKTC%';

Türk-Alman Üniversitesi · Psikoloji · 30/31 · 31.382 — Mimar Sinan GSÜ · Psikoloji (İngilizce) · 30/31 · 57.464. Yerleşik 72 devlet Psikoloji programının 2026 medyanı 101.050 (aynı sorgu, NOT (<yeni koşulu>) + UOLP/KKTC hariç). Vakıf tarafında yeni Psikoloji satırları 21.939 (kontenjan 2) ile 1.376.337 (kontenjan 59) arasına yayılıyor.


Doğrulanan bilgiler ve kaynak URL'leri

Erişim: 22 Eylül 2026.


Çıkarılan / yazılmayan iddialar

  1. "Yeni bölüm ikinci yıl sıkılaşır" iddiası yazılmadı — ölçüldü, yeni programa özgü olmadığı görüldü (bkz. §4). Yazı bunun yerine "belirsizlik ikinci yılda değil birinci yılda" diyor.
  2. Kontenjan bandına göre doluluk tablosu çıkarıldı — ilişki U şeklinde ve yorumlanamaz çıktı (1–10: %94,6 · 11–20: %84,9 · 21–40: %85,9 · 41–80: %88,6 · 81+: %97,2). Yerine aynı bandın açılış sıkılığı tablosu kullanıldı; o temiz ve tek yönlü.
  3. 2024 ve daha önceki kohortlar için "kılavuzdan düşme" oranı hesaplanmadı — programs_arsiv 2026 refresh'inde kurulduğu için son_kilavuz_yili yalnızca 2025→2026 geçişini güvenilir ölçüyor (1.745 satır 2025, 26 satır 2024, 1.964 satır NULL). Yazıda yalnızca 2025 kohortu verildi ve tek kohort olduğu belirtilmedi — editör isterse bir dipnot eklenebilir [doğrulanmalı değil, üslup tercihi].
  4. "Kılavuzdan düşme = bölüm kapandı" demedik. 475 satırın 298'inde aynı üniversitede aynı bölümün başka burs/dil varyantı duruyor; ayrım tabloya kondu.
  5. Kadro/laboratuvar için rakam verilmedi. Bu veri bizde yok; yazı üniversitenin kendi sayfasına yönlendiriyor, sayı uydurmuyor.
  6. ÖSYM kılavuzunun sütun açıklamasından alıntı yapılmadı. Kılavuz PDF'i 9,7 MB ve bu makinede metne çevrilemedi (pdftotext/poppler yok, Read aracı pdftoppm istiyor). "İlk kez öğrenci alan programın geçmiş yıl hücresi boştur" ifadesi kılavuzdan alıntı olarak değil, kendi YÖK Atlas aynamızdan gözlem olarak yazıldı. [doğrulanmalı — yayın öncesi kılavuzun Tablo 4 açıklama sayfası gözle kontrol edilirse cümle alıntıyla güçlendirilebilir]
  7. Yerleşme olasılığı/garanti dili yok. "Büyük olasılıkla dolmayacaktır" cümlesi programın kontenjan doluluğu hakkındadır, adayın yerleşmesi hakkında değil.
  8. Başka yazılarla çelişki görülmedi. taban-siralamalar-nasil-degisir yazısındaki "veri boşluğu → dengeli değil hayal bölgesine koy" kuralıyla bu yazının karar şeması uyumlu; bos-kontenjanlar-ne-anlatiyor yazısındaki "kontenjanı dolmayan programda taban oluşmaz" kuralı burada yeni programlar için birebir doğrulandı. rehber-editoru'na düzeltme notu yok.

Engeller

  • Disk doldu (ENOSPC) — düzenleme sırasında bir yazma başarısız oldu; /System/Volumes/Data 228 GB'ın 198 GB'ı dolu, ~2,1 GB boş. İşlem tekrar denendiğinde geçti ama makine sınırda. (WebFetch, ÖSYM kılavuzunun 9,7 MB'lık PDF'ini otomatik olarak araç önbelleğine yazdı; silmeyi denedim, izin sınıflandırıcısı reddetti — dosya duruyor.)
  • PDF metin çıkarma aracı yok (yukarıda madde 6).
  • Mermaid şeması node_modules/mermaid ile çalıştırılarak doğrulandı: PARSE OK flowchart-v2, tek %% aria: + tek %% altyazi:, tek şema, 6 tablo, tüm H2'ler soru biçiminde.
  • İç linklerin hepsi doğrulandı: 6 rehber dosyası mevcut; /bolumler, /bolum/[slug], /universite/[slug] route'ları var; /tercih-robotu → next.config.ts:80 kalıcı yönlendirme. /bolum/psikoloji, /bolum/yonetim-bilisim-sistemleri, /universite/turk-alman-universitesi, /universite/mimar-sinan-guzel-sanatlar-universitesi slug'ları turkishSlugify ile hesaplanıp DB'de karşılığı olduğu kontrol edildi.

Bilal'den istenen

  1. Yazıda iki üniversite olumlu bağlamda adıyla anılıyor (Türk-Alman ve Mimar Sinan, yeni Psikoloji programları beklenenden sıkı kapandı) — bu kullanım sana uygun mu? (2 dk)
  2. §çıkarılan-6: ÖSYM kılavuzunun Tablo 4 açıklama sayfasından alıntı eklemek istersen PDF'i açıp iki cümleyi bana iletmen yeterli. (5 dk)
  3. Makinede disk ~2,1 GB'a düştü; gece sonunda bir temizlik gerekebilir. (1 dk bakış)