Danışman araçları, TÜİK mezun istihdamı ve Jev çıktı denetimi

- Danışman: program_netleri, program_karsilastir ve bolum_istihdam araçları;
  program_ara'ya devlet/vakıf, öğretim türü ve sıralama parametreleri;
  program_detay'a trend cümlesi; bozuk araç argümanı modele hata döner.
- TÜİK Yükseköğretim İstihdam Göstergeleri 2025: bölüm bazında istihdam
  oranı, ilk işi bulma süresi ve kazanç grubu (src/lib/bolum-istihdam.ts,
  üretici scripts/tuik-istihdam-uret.py, kaynak Excel'ler data/kaynak/).
- Bölüm sayfasında "Mezun istihdamı" ayrıntı satırı ve alt sayfası;
  AkademikAyrinti başlık/ikon alır.
- Jev (TypeSafe AI) ile danışman cevabında garanti/olasılık dili denetimi;
  ihlalde cevabın sonuna düzeltme notu. Anahtar yoksa denetim atlanır.
- /gizlilik: TypeSafe AI (ABD) sağlayıcı satırı. KARARLAR.md: 5 Ekim kaydı.
- Üç katalog dosyasındaki bg-white → bg-card değişiklikleri de bu commit'te.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-10-05 00:15:05 +03:00
parent ab0b3a047f
commit 6564ec8948
19 changed files with 1189 additions and 25 deletions

View File

@@ -13,6 +13,7 @@ import {
dilimAraligi,
EFEKTIF_SIRA,
getDb,
netlerGetir,
programGetir,
programSatiri,
SELECT_COLS,
@@ -29,10 +30,18 @@ import {
import { getAllUniversiteler, getUniversiteBySlug } from "@/lib/katalog";
import { kadinYuzdesi, ogrenciBasinaUye, YOK_ISTATISTIK_DONEM } from "@/lib/yok-istatistik";
import { URAP_DONEM, URAP_TOPLAM } from "@/lib/urap-siralama";
import { turkishSlugify } from "@/lib/slug";
import { bolumSayfaSlug, turkishSlugify } from "@/lib/slug";
import {
BOLUM_ISTIHDAM,
BOLUM_ISTIHDAM_KAYNAK,
ISTIHDAM_ORTALAMA,
type IstihdamDuzeyi,
} from "@/lib/bolum-istihdam";
import { DILIM_ETIKET } from "@/lib/risk";
import { trendOzetiMetni } from "@/lib/trend";
import { TUR_SAYFALARI } from "@/lib/unitur";
import { YILLAR } from "@/lib/veri-yillari";
import { PUAN_TURLERI, type Program, type PuanTuruKey } from "@/types/yokatlas";
import { PUAN_TURLERI, type Program, type ProgramNetSatiri, type PuanTuruKey } from "@/types/yokatlas";
import {
PROFIL_ALAN_ACIKLAMA,
PROFIL_ALANLARI,
@@ -55,6 +64,8 @@ export type AracBaglami = {
export type AracTanimi = OpenAI.Chat.Completions.ChatCompletionTool;
const ARAMA_LIMIT = 8;
const KARSILASTIRMA_UST = 4;
const NET_YIL_SAYISI = 2;
export const ARACLAR: AracTanimi[] = [
{
@@ -62,14 +73,20 @@ export const ARACLAR: AracTanimi[] = [
function: {
name: "program_ara",
description:
"Adayın puan türündeki programları veriden arar (YÖK Atlas, son yerleştirme). Bölüm adı, üniversite, il, öğretim dili, burs ve yıllık ücret üst sınırına göre süzer; adayın sırasına en yakın programları döner. Sayı uydurmak yerine bunu çağır.",
"Adayın puan türündeki programları veriden arar (YÖK Atlas, son yerleştirme). Bölüm adı, üniversite, il, devlet/vakıf, öğretim dili ve türü, burs ve yıllık ücret üst sınırına göre süzer; varsayılan olarak adayın sırasına en yakın programları döner. Sayı uydurmak yerine bunu çağır.",
parameters: {
type: "object",
properties: {
arama: { type: "string", description: "Bölüm adı parçası, ör. 'bilgisayar mühendisliği', 'hukuk'" },
universite: { type: "string", description: "Üniversite adı parçası" },
il: { type: "string", description: "İl adı, ör. 'İzmir'" },
tur: { type: "string", enum: ["devlet", "vakif"], description: "Yalnız devlet ya da yalnız vakıf üniversiteleri" },
dil: { type: "string", enum: ["Türkçe", "İngilizce"], description: "Öğretim dili" },
ogretim_turu: {
type: "string",
enum: ["Örgün Öğretim", "Uzaktan Öğretim", "Açık Öğretim"],
description: "Öğretim türü",
},
burs: {
type: "string",
enum: ["Burslu", "%50 İndirimli", "%25 İndirimli", "Ücretli"],
@@ -81,6 +98,12 @@ export const ARACLAR: AracTanimi[] = [
enum: ["hayal", "dengeli", "guvenli"],
description: "Yalnız bu dilimdekiler: hayal = adayın sırasının üstünde kapananlar, dengeli = sırasının 1,4 katına kadar, guvenli = daha altı",
},
sirala: {
type: "string",
enum: ["yakinlik", "taban", "ucret"],
description:
"yakinlik (varsayılan) = adayın sırasına en yakın; taban = en iyi taban sırası önce ('en iyi/en yüksek' sorularında); ucret = en ucuz önce (devlet ve tam burslu 0 sayılır)",
},
},
additionalProperties: false,
},
@@ -102,6 +125,65 @@ export const ARACLAR: AracTanimi[] = [
},
},
},
{
type: "function",
function: {
name: "program_netleri",
description:
"Programa yerleşen SON kişinin ders bazında netleri (TYT/AYT/YDT), taban puanı ve OBP'si; son iki yıl. 'Kaç net lazım' sorularında bunu çağır, net uydurma.",
parameters: {
type: "object",
properties: {
program_id: { type: "string", description: "program_ara sonucundaki id (kılavuz kodu)" },
},
required: ["program_id"],
additionalProperties: false,
},
},
},
{
type: "function",
function: {
name: "program_karsilastir",
description: `2-${KARSILASTIRMA_UST} programı yan yana getirir: taban sırası, trend, kontenjan, ücret/burs, dil, akreditasyon, kadro, evden uzaklık. 'A mı B mi' sorularında program_detay'ı tek tek çağırmak yerine bunu kullan.`,
parameters: {
type: "object",
properties: {
program_idler: {
type: "array",
items: { type: "string" },
minItems: 2,
maxItems: KARSILASTIRMA_UST,
description: "program_ara sonucundaki id'ler",
},
},
required: ["program_idler"],
additionalProperties: false,
},
},
},
{
type: "function",
function: {
name: "bolum_istihdam",
description:
"Bölüm mezunlarının iş durumu (TÜİK, ülke geneli): kayıtlı istihdam oranı, ilk işi bulma süresi (ay) ve kazanç grubu; ülke ortalamasıyla birlikte. 'Mezun olunca iş bulur muyum', 'hangisinin işi daha iyi' sorularında bunu çağır. Üniversiteye göre veri YOK; aynı bölüm her üniversitede aynı sayıyı verir.",
parameters: {
type: "object",
properties: {
bolumler: {
type: "array",
items: { type: "string" },
minItems: 1,
maxItems: KARSILASTIRMA_UST,
description: "Bölüm adları, ör. ['Hukuk', 'Psikoloji']",
},
},
required: ["bolumler"],
additionalProperties: false,
},
},
},
{
type: "function",
function: {
@@ -195,12 +277,19 @@ type ProgramAraArg = {
arama?: string;
universite?: string;
il?: string;
tur?: "devlet" | "vakif";
dil?: string;
ogretim_turu?: string;
burs?: string;
ucret_ust?: number;
dilim?: "hayal" | "dengeli" | "guvenli";
sirala?: "yakinlik" | "taban" | "ucret";
};
/** Ücret sıralaması: devlet (ücret yok) ve tam burslu 0 sayılır. */
const UCRET_SIRA_SQL = `COALESCE((SELECT CASE WHEN o.burs_orani = 'Burslu' THEN 0 ELSE o.ucret END
FROM program_ozellik o WHERE o.id = programs.id), 0)`;
function programAra(b: AracBaglami, a: ProgramAraArg, profilUygula = true): ProgramAraSonuc {
const db = getDb();
const profil: DanismanProfili = profilUygula ? b.profil : {};
@@ -237,6 +326,12 @@ function programAra(b: AracBaglami, a: ProgramAraArg, profilUygula = true): Prog
uygulanan.push(`profil: ${profil.evIl} iline en fazla ${profil.maxKm} km (${iller.length} il)`);
}
}
if (a.tur && a.tur in TUR_SAYFALARI) {
const uniturler = TUR_SAYFALARI[a.tur].uniturler;
kosullar.push(`unitur IN (${uniturler.map(() => "?").join(",")})`);
args.push(...uniturler);
uygulanan.push(`tür = ${a.tur === "devlet" ? "devlet" : "vakıf"}`);
}
// Özellik süzgeçleri alt sorguda (program_ozellik.id çakışmasın)
const ozKosul: string[] = [];
const ozArgs: (string | number)[] = [];
@@ -260,7 +355,11 @@ function programAra(b: AracBaglami, a: ProgramAraArg, profilUygula = true): Prog
ozArgs.push(ucretUst);
uygulanan.push(`yıllık ücret ≤ ${ucretUst.toLocaleString("tr-TR")} TL${a.ucret_ust ? "" : " (profil)"}`);
}
if (profil.ogretimTuru === "yalniz-orgun") {
if (a.ogretim_turu) {
ozKosul.push("ogrenim_turu = ?");
ozArgs.push(a.ogretim_turu);
uygulanan.push(`öğretim türü = ${a.ogretim_turu}`);
} else if (profil.ogretimTuru === "yalniz-orgun") {
ozKosul.push("(ogrenim_turu IS NULL OR ogrenim_turu = 'Örgün Öğretim')");
uygulanan.push("profil: yalnız örgün");
}
@@ -277,10 +376,20 @@ function programAra(b: AracBaglami, a: ProgramAraArg, profilUygula = true): Prog
uygulanan.push(`dilim = ${DILIM_ETIKET[anahtar]}`);
}
// İkincil anahtar hep sıraya yakınlık: eşit ücretlilerde (ör. tüm devletler) anlamlı kalsın
const yakinlik = `ABS(${EFEKTIF_SIRA} - ?) ASC`;
const siralama =
a.sirala === "taban"
? `${EFEKTIF_SIRA} ASC, ${yakinlik}`
: a.sirala === "ucret"
? `${UCRET_SIRA_SQL} ASC, ${yakinlik}`
: yakinlik;
if (a.sirala === "taban") uygulanan.push("sıralama: en iyi taban sırası önce");
if (a.sirala === "ucret") uygulanan.push("sıralama: en ucuz önce");
const satirlar = db
.prepare(
`SELECT ${SELECT_COLS} FROM programs WHERE ${kosullar.join(" AND ")}
ORDER BY ABS(${EFEKTIF_SIRA} - ?) ASC LIMIT ?`,
ORDER BY ${siralama} LIMIT ?`,
)
.all(...args, b.sira, ARAMA_LIMIT) as ProgramHamSatiri[];
const programlar = satirlar.map(programSatiri);
@@ -328,6 +437,7 @@ function programDetay(b: AracBaglami, a: { program_id?: string }) {
fakulte: p.fakulte,
sure: p.sure,
tabanSiraYillara: Object.fromEntries(YILLAR.map((y, i) => [y, p.siraGecmisi[i]])),
trend: trendOzetiMetni(p.siraGecmisi),
puanSon: p.puanSon,
yerlesenSon: p.yerlesenSon,
ucretYillik: o?.ucret ?? null,
@@ -345,6 +455,100 @@ function programDetay(b: AracBaglami, a: { program_id?: string }) {
};
}
const NET_ETIKET: Partial<Record<keyof ProgramNetSatiri, string>> = {
tytTrkNet: "TYT Türkçe",
tytSosNet: "TYT Sosyal",
tytMatNet: "TYT Matematik",
tytFenNet: "TYT Fen",
aytMatNet: "AYT Matematik",
aytFizNet: "AYT Fizik",
aytKimNet: "AYT Kimya",
aytBioNet: "AYT Biyoloji",
aytTdeNet: "AYT Edebiyat",
aytTrh1Net: "AYT Tarih-1",
aytCog1Net: "AYT Coğrafya-1",
aytTrh2Net: "AYT Tarih-2",
aytCog2Net: "AYT Coğrafya-2",
aytDinNet: "AYT Din Kültürü",
aytFelNet: "AYT Felsefe Grubu",
ydtYdilNet: "YDT Yabancı Dil",
};
function programNetleri(_b: AracBaglami, a: { program_id?: string }) {
const id = String(a.program_id ?? "").trim();
const p = id ? programGetir(id) : null;
if (!p) return { hata: "Program bulunamadı; önce program_ara ile id al." };
const satirlar = netlerGetir(id).slice(0, NET_YIL_SAYISI);
if (!satirlar.length) {
return { program: p.isim, universite: p.universite, hata: "Bu program için net verisi yok; uydurma." };
}
return {
program: p.isim,
universite: p.universite,
yillar: satirlar.map((s) => ({
yil: s.yil,
tabanPuan: s.tabanPuan,
obp: s.obp,
netler: Object.fromEntries(
(Object.keys(NET_ETIKET) as (keyof ProgramNetSatiri)[])
.filter((k) => s[k] != null)
.map((k) => [NET_ETIKET[k], s[k]]),
),
})),
not: "Netler programa yerleşen SON kişinin netleridir (YÖK Atlas); aynı puana farklı net dağılımıyla da ulaşılır, OBP sonucu değiştirir. Hedef değil, yaklaşık düzey olarak aktar.",
};
}
function programKarsilastir(b: AracBaglami, a: { program_idler?: unknown }) {
const idler = Array.isArray(a.program_idler)
? Array.from(new Set(a.program_idler.map((x) => String(x).trim()).filter(Boolean)))
: [];
if (idler.length < 2) return { hata: "En az 2 program id'si gerekli; önce program_ara ile id al." };
return {
programlar: idler.slice(0, KARSILASTIRMA_UST).map((id) => {
const d = programDetay(b, { program_id: id });
if ("hata" in d) return { id, hata: "Program bulunamadı." };
// Koşul metinleri uzun; karşılaştırmada yalnız sayısı, ayrıntı program_detay'da
const { kosullar, ...ozet } = d;
return { ...ozet, kosulSayisi: kosullar.length };
}),
};
}
function bolumIstihdam(b: AracBaglami, a: { bolumler?: unknown }) {
const adlar = Array.isArray(a.bolumler)
? a.bolumler.map((x) => String(x).trim()).filter(Boolean).slice(0, KARSILASTIRMA_UST)
: [];
if (!adlar.length) return { hata: "En az bir bölüm adı gerekli." };
const duzey: IstihdamDuzeyi = b.tur === "tyt" ? "onlisans" : "lisans";
const tablo = BOLUM_ISTIHDAM[duzey];
const anahtarlar = Object.keys(tablo);
return {
duzey: duzey === "lisans" ? "lisans mezunları" : "ön lisans mezunları",
ulkeOrtalamasi: ISTIHDAM_ORTALAMA[duzey],
bolumler: adlar.map((ad) => {
const slug = bolumSayfaSlug(ad);
// Birebir > başı tutan > içinde geçen ("bilgisayar müh" → bilgisayar-muhendisligi)
const anahtar =
(slug in tablo ? slug : undefined) ??
anahtarlar.find((k) => k.startsWith(slug)) ??
anahtarlar.find((k) => k.includes(slug));
if (!anahtar) {
return { aranan: ad, hata: "Bu bölüm TÜİK tablosunda yok (yeni bölüm ya da mezun sayısı az); istihdam verisi uydurma." };
}
const v = tablo[anahtar];
return {
aranan: ad,
bolumSayfasi: `/bolum/${anahtar}`,
kayitliIstihdamYuzde: v.istihdam,
ilkIsBulmaAy: v.isBulmaAy,
kazancGrubu: v.kazanc,
};
}),
not: `Kaynak: ${BOLUM_ISTIHDAM_KAYNAK}. Ülke geneli, tüm üniversitelerin mezunları birlikte; üniversiteye göre değişir ama o veri yok. Kayıtlı istihdam = SGK kaydıyla çalışma oranı. Kazanç TL değil, bölümler arası göreli grup. Bu sayılar geçmiş mezunları anlatır; yerleşme ya da iş bulma garantisi değildir, cevabında kaynağı söyle.`,
};
}
function universiteProfili(_b: AracBaglami, a: { universite?: string }) {
const q = String(a.universite ?? "").trim();
if (!q) return { hata: "Üniversite adı gerekli." };
@@ -443,6 +647,12 @@ export function aracCalistirici(b: AracBaglami) {
return programAra(b, a as ProgramAraArg);
case "program_detay":
return programDetay(b, a);
case "program_netleri":
return programNetleri(b, a);
case "program_karsilastir":
return programKarsilastir(b, a);
case "bolum_istihdam":
return bolumIstihdam(b, a);
case "universite_profili":
return universiteProfili(b, a);
case "profil_guncelle":

View File

@@ -255,14 +255,19 @@ export async function* sohbetAkisiAraclarla(opts: {
for (const [i, c] of liste.entries()) {
opts.onArac?.(c.name);
let arg: unknown = {};
let argBozuk = false;
try {
arg = c.arguments ? JSON.parse(c.arguments) : {};
} catch {
arg = {};
argBozuk = true;
}
let sonuc: unknown;
try {
sonuc = await opts.calistir(c.name, arg);
// Bozuk argümanla çalıştırma: boş argüman süzgeçsiz sonuç döndürür,
// model onu sorunun cevabı sanar. Hatayı söyle, yeniden denesin.
sonuc = argBozuk
? { hata: "Araç argümanları geçerli JSON değil; aracı düzgün argümanlarla yeniden çağır." }
: await opts.calistir(c.name, arg);
} catch (hata) {
console.error("[cagri] araç hatası:", c.name, hata);
sonuc = { hata: "Araç çalışmadı; veriye ulaşılamadı, uydurma." };

75
src/lib/ai/jev.ts Normal file
View File

@@ -0,0 +1,75 @@
/**
* Danışman çıktı denetimi — Jev (TypeSafe "System One" modeli).
*
* Danışman cevabı bittikten sonra tek soru sorulur: cevap yerleşme garantisi
* veriyor ya da yerleşmeyi olasılık/yüzde/ihtimal diliyle tahmin ediyor mu
* (sistem prompt'undaki yasak; api/soru/route.ts). Jev metin üretmez, 0-1
* arası bir olasılık döner. Yalnız danışmanın CEVABI gider; kullanıcının
* mesajı, adı ya da e-postası gitmez. Sağlayıcı ABD'de — /gizlilik "Hizmet
* sağlayıcılar" bölümünde yazılı; değişirse aynı commit'te güncellenir.
*
* Güvenli tarafa düşer: anahtar yoksa, zaman aşımında ya da hata olursa
* denetim atlanır (null), cevap olduğu gibi kalır. Saf modül: Next dışından
* (scripts/kesif-jev.ts) da import edilir.
*/
const UC = "https://api.typesafe.ai/v1/systemone";
const MODEL = "jev-latest";
/** 5 Eki 2026 keşfi: temiz cevaplar ≤0,37, ihlaller ≥0,74 (36 örnek). */
export const JEV_IHLAL_ESIGI = 0.5;
/** Akış sonunda bekletir; ölçülen p95 ~335 ms. */
const ZAMAN_ASIMI_MS = 2000;
export const JEV_IHLAL_SORUSU = {
type: "noul",
instructions:
"Bu metin bir üniversite tercih danışmanının öğrenciye verdiği Türkçe cevaptır. Cevap, öğrenciye bir programa yerleşeceğine dair garanti/söz/kesinlik veriyor mu YA DA yerleşmeyi olasılık, yüzde, ihtimal ya da şans diliyle tahmin ediyor mu? " +
"Şunlar ihlal DEĞİLDİR: 'Güvenli / Az riskli / Riskli' etiketleri; 'garanti verilemez' gibi reddeden cümleler; burs indirimi, doluluk, öğrenci oranı ya da mezunların istihdam oranı gibi yerleşme tahmini olmayan yüzdeler; geçmiş taban sırası ve kontenjan sayıları.",
} as const;
type JevYanit = {
answers?: Record<string, { noul?: number }>;
usage?: { input_tokens?: number };
};
export function jevAnahtari(): string | undefined {
return process.env.TYPESAFE_API_KEY?.trim() || undefined;
}
/** Ham çağrı: ihlal olasılığı + girdi token'ı. Hata fırlatır (keşif betiği görsün). */
export async function jevIhlalSor(
anahtar: string,
cevap: string,
zamanAsimiMs = 30_000,
): Promise<{ p: number; girdiToken: number }> {
const r = await fetch(UC, {
method: "POST",
headers: { Authorization: `Bearer ${anahtar}`, "Content-Type": "application/json" },
body: JSON.stringify({ state: cevap, model: MODEL, questions: { ihlal: JEV_IHLAL_SORUSU } }),
signal: AbortSignal.timeout(zamanAsimiMs),
});
if (!r.ok) throw new Error(`Jev ${r.status}: ${(await r.text()).slice(0, 300)}`);
const y = (await r.json()) as JevYanit;
const p = y.answers?.ihlal?.noul;
if (typeof p !== "number") throw new Error(`Jev beklenmeyen yanıt: ${JSON.stringify(y).slice(0, 300)}`);
return { p, girdiToken: y.usage?.input_tokens ?? 0 };
}
/**
* Danışman cevabının ihlal olasılığı; denetim yapılamadıysa null. Asla
* fırlatmaz — denetim cevabı düşürmemeli.
*/
export async function cevapIhlalOlasiligi(cevap: string): Promise<number | null> {
const anahtar = jevAnahtari();
if (!anahtar || !cevap.trim()) return null;
try {
return (await jevIhlalSor(anahtar, cevap, ZAMAN_ASIMI_MS)).p;
} catch (hata) {
console.warn("[jev] denetim atlandı:", hata instanceof Error ? hata.message : hata);
return null;
}
}
/** İhlal yakalanınca cevabın sonuna eklenen düzeltme notu. */
export const JEV_DUZELTME_NOTU =
"Not: Yukarıdaki cevap bir yerleşme garantisi ya da olasılık tahmini değildir. Taban sıraları her yıl değişir; karar verirken Güvenli / Az riskli / Riskli etiketlerine ve geçmiş taban sıralarına bak.";

355
src/lib/bolum-istihdam.ts Normal file
View File

@@ -0,0 +1,355 @@
// TÜİK Yükseköğretim İstihdam Göstergeleri 2025: bölüm başına mezun istihdamı.
//
// ÜRETİLMİŞ DOSYA — elle düzenleme. Kaynak Excel'ler data/kaynak/ altında;
// yeniden üretmek için: python3 scripts/tuik-istihdam-uret.py 2025
//
// Veri ÜLKE GENELİ ve bölüm bazındadır: aynı bölümün her üniversitesi için
// aynı sayı döner; üniversite kırılımı TÜİK'te yok. Kayıtlı istihdam = mezunun
// SGK kaydıyla çalışıyor olması. Kazanç TL değil, beş kademeli gruptur.
// Anahtar: /bolum/[slug] sayfa slug'ı. Burada olmayan bölüm ya henüz yeterli
// mezun vermemiştir ya da TÜİK tablosunda yoktur — "kötü" demek değildir.
export const BOLUM_ISTIHDAM_YIL = 2025;
export const BOLUM_ISTIHDAM_KAYNAK = "TÜİK, Yükseköğretim İstihdam Göstergeleri, 2025";
export const BOLUM_ISTIHDAM_KAYNAK_URL = "https://veriportali.tuik.gov.tr/tr/press/58027";
export type KazancGrubu = "Çok düşük" | "Düşük" | "Orta" | "Yüksek" | "Çok yüksek";
export type IstihdamDuzeyi = "lisans" | "onlisans";
export type BolumIstihdam = {
/** Kayıtlı istihdam oranı (%) */
istihdam: number | null;
/** Mezuniyetten sonra ilk işi bulma süresi (ay, ortalama) */
isBulmaAy: number | null;
/** Aylık ortalama kazanç grubu (bölümler arası göreli) */
kazanc: KazancGrubu | null;
};
/** Tüm mezunların ortalaması — kıyas çizgisi. */
export const ISTIHDAM_ORTALAMA: Record<IstihdamDuzeyi, { istihdam: number | null; isBulmaAy: number | null }> = {
lisans: { istihdam: 73.9, isBulmaAy: 14.2 },
onlisans: { istihdam: 65.7, isBulmaAy: 15.8 },
};
export const BOLUM_ISTIHDAM: Record<IstihdamDuzeyi, Record<string, BolumIstihdam>> = {
lisans: {
"acil-yardim-ve-afet-yonetimi": { istihdam: 73.5, isBulmaAy: 12.5, kazanc: "Düşük" },
"aktuerya-bilimleri": { istihdam: 81.0, isBulmaAy: 13.2, kazanc: "Çok yüksek" },
"alman-dili-ve-edebiyati": { istihdam: 64.7, isBulmaAy: 10.8, kazanc: "Düşük" },
"almanca-ogretmenligi": { istihdam: 65.7, isBulmaAy: 10.0, kazanc: "Düşük" },
"amerikan-kulturu-ve-edebiyati": { istihdam: 68.7, isBulmaAy: 12.1, kazanc: "Orta" },
"antrenorluk-egitimi": { istihdam: 69.3, isBulmaAy: 13.2, kazanc: "Çok düşük" },
"antropoloji": { istihdam: 61.2, isBulmaAy: 18.7, kazanc: "Düşük" },
"arap-dili-ve-edebiyati": { istihdam: 68.9, isBulmaAy: 13.0, kazanc: "Düşük" },
"arapca-ogretmenligi": { istihdam: 76.4, isBulmaAy: 9.8, kazanc: "Düşük" },
"arkeoloji": { istihdam: 63.1, isBulmaAy: 16.8, kazanc: "Çok düşük" },
"astronomi-ve-uzay-bilimleri": { istihdam: 63.2, isBulmaAy: 17.0, kazanc: "Düşük" },
"bahce-bitkileri": { istihdam: 69.3, isBulmaAy: 17.8, kazanc: "Düşük" },
"bankacilik-ve-sigortacilik": { istihdam: 72.8, isBulmaAy: 12.7, kazanc: "Düşük" },
"beden-egitimi-ve-spor-ogretmenligi": { istihdam: 72.4, isBulmaAy: 13.6, kazanc: "Çok düşük" },
"beslenme-ve-diyetetik": { istihdam: 64.8, isBulmaAy: 16.2, kazanc: "Çok düşük" },
"bilgi-ve-belge-yonetimi": { istihdam: 74.8, isBulmaAy: 16.1, kazanc: "Düşük" },
"bilgisayar-muhendisligi": { istihdam: 80.8, isBulmaAy: 11.2, kazanc: "Çok yüksek" },
"bilgisayar-ve-ogretim-teknolojileri-ogretmenligi": { istihdam: 79.3, isBulmaAy: 15.0, kazanc: "Orta" },
"bilisim-sistemleri-muhendisligi": { istihdam: 80.9, isBulmaAy: 10.4, kazanc: "Çok yüksek" },
"bilisim-sistemleri-ve-teknolojileri": { istihdam: 78.2, isBulmaAy: 11.3, kazanc: "Çok yüksek" },
"bitki-koruma": { istihdam: 73.5, isBulmaAy: 16.4, kazanc: "Düşük" },
"biyokimya": { istihdam: 65.5, isBulmaAy: 15.6, kazanc: "Düşük" },
"biyoloji": { istihdam: 64.9, isBulmaAy: 16.2, kazanc: "Düşük" },
"biyoloji-ogretmenligi": { istihdam: 67.0, isBulmaAy: 15.3, kazanc: "Çok düşük" },
"biyomedikal-muhendisligi": { istihdam: 74.0, isBulmaAy: 14.1, kazanc: "Orta" },
"biyomuhendislik": { istihdam: 69.3, isBulmaAy: 13.8, kazanc: "Orta" },
"biyosistem-muhendisligi": { istihdam: 66.8, isBulmaAy: 16.2, kazanc: "Düşük" },
"biyoteknoloji": { istihdam: 59.5, isBulmaAy: 14.2, kazanc: "Çok düşük" },
"cagdas-turk-lehceleri-ve-edebiyatlari": { istihdam: 54.3, isBulmaAy: 17.9, kazanc: "Çok düşük" },
"calisma-ekonomisi-ve-endustri-iliskileri": { istihdam: 71.2, isBulmaAy: 16.7, kazanc: "Orta" },
"cevre-muhendisligi": { istihdam: 80.2, isBulmaAy: 14.6, kazanc: "Orta" },
"cizgi-film-ve-animasyon": { istihdam: 55.1, isBulmaAy: 13.1, kazanc: "Orta" },
"cocuk-gelisimi": { istihdam: 63.7, isBulmaAy: 9.8, kazanc: "Çok düşük" },
"cografya": { istihdam: 64.2, isBulmaAy: 17.2, kazanc: "Çok düşük" },
"cografya-ogretmenligi": { istihdam: 78.0, isBulmaAy: 15.3, kazanc: "Düşük" },
"deniz-ulastirma-isletme-muhendisligi": { istihdam: 36.6, isBulmaAy: 20.6, kazanc: "Çok yüksek" },
"denizcilik-isletmeleri-yonetimi": { istihdam: 80.2, isBulmaAy: 10.0, kazanc: "Orta" },
"dil-ve-konusma-terapisi": { istihdam: 89.3, isBulmaAy: 2.4, kazanc: "Çok düşük" },
"dilbilimi": { istihdam: 57.8, isBulmaAy: 13.3, kazanc: "Düşük" },
"dis-hekimligi": { istihdam: 82.7, isBulmaAy: 9.6, kazanc: "Çok yüksek" },
"ebelik": { istihdam: 86.9, isBulmaAy: 7.9, kazanc: "Orta" },
"eczacilik": { istihdam: 87.7, isBulmaAy: 4.6, kazanc: "Orta" },
"egzersiz-ve-spor-bilimleri": { istihdam: 72.5, isBulmaAy: 13.0, kazanc: "Çok düşük" },
"ekonometri": { istihdam: 74.7, isBulmaAy: 16.1, kazanc: "Orta" },
"ekonomi": { istihdam: 80.2, isBulmaAy: 11.7, kazanc: "Çok yüksek" },
"ekonomi-ve-finans": { istihdam: 76.4, isBulmaAy: 13.2, kazanc: "Orta" },
"elektrik-elektronik-muhendisligi": { istihdam: 85.4, isBulmaAy: 11.3, kazanc: "Çok yüksek" },
"elektrik-muhendisligi": { istihdam: 89.1, isBulmaAy: 9.5, kazanc: "Çok yüksek" },
"elektronik-muhendisligi": { istihdam: 86.2, isBulmaAy: 11.8, kazanc: "Çok yüksek" },
"elektronik-ve-haberlesme-muhendisligi": { istihdam: 87.4, isBulmaAy: 11.1, kazanc: "Çok yüksek" },
"endustri-muhendisligi": { istihdam: 84.2, isBulmaAy: 10.5, kazanc: "Çok yüksek" },
"endustriyel-tasarim": { istihdam: 69.4, isBulmaAy: 12.0, kazanc: "Orta" },
"endustriyel-tasarim-muhendisligi": { istihdam: 73.4, isBulmaAy: 10.7, kazanc: "Orta" },
"enerji-sistemleri-muhendisligi": { istihdam: 80.0, isBulmaAy: 14.4, kazanc: "Orta" },
"ergoterapi": { istihdam: 78.0, isBulmaAy: 7.6, kazanc: "Çok düşük" },
"fars-dili-ve-edebiyati": { istihdam: 50.5, isBulmaAy: 17.1, kazanc: "Çok düşük" },
"felsefe": { istihdam: 55.9, isBulmaAy: 16.5, kazanc: "Çok düşük" },
"fen-bilgisi-ogretmenligi": { istihdam: 67.6, isBulmaAy: 16.5, kazanc: "Çok düşük" },
"finans-ve-bankacilik": { istihdam: 71.8, isBulmaAy: 14.2, kazanc: "Orta" },
"fizik": { istihdam: 67.6, isBulmaAy: 15.2, kazanc: "Orta" },
"fizik-muhendisligi": { istihdam: 75.5, isBulmaAy: 15.0, kazanc: "Çok yüksek" },
"fizik-ogretmenligi": { istihdam: 73.8, isBulmaAy: 12.1, kazanc: "Düşük" },
"fizyoterapi-ve-rehabilitasyon": { istihdam: 74.6, isBulmaAy: 9.8, kazanc: "Çok düşük" },
"fotograf": { istihdam: 60.5, isBulmaAy: 16.2, kazanc: "Çok düşük" },
"fransiz-dili-ve-edebiyati": { istihdam: 63.0, isBulmaAy: 13.0, kazanc: "Düşük" },
"fransizca-ogretmenligi": { istihdam: 62.6, isBulmaAy: 11.1, kazanc: "Düşük" },
"gastronomi-ve-mutfak-sanatlari": { istihdam: 65.0, isBulmaAy: 9.9, kazanc: "Çok düşük" },
"gazetecilik": { istihdam: 67.4, isBulmaAy: 14.7, kazanc: "Düşük" },
"geleneksel-turk-sanatlari": { istihdam: 57.6, isBulmaAy: 17.3, kazanc: "Çok düşük" },
"gemi-insaati-ve-gemi-makineleri-muhendisligi": { istihdam: 78.6, isBulmaAy: 11.2, kazanc: "Çok yüksek" },
"gemi-makineleri-isletme-muhendisligi": { istihdam: 38.2, isBulmaAy: 19.5, kazanc: "Çok yüksek" },
"genetik-ve-biyomuhendislik": { istihdam: 63.6, isBulmaAy: 15.9, kazanc: "Orta" },
"gerontoloji": { istihdam: 72.2, isBulmaAy: 14.1, kazanc: "Orta" },
"gida-muhendisligi": { istihdam: 72.9, isBulmaAy: 12.3, kazanc: "Orta" },
"gida-teknolojisi": { istihdam: 70.2, isBulmaAy: 11.8, kazanc: "Çok düşük" },
"gorsel-iletisim-tasarimi": { istihdam: 66.3, isBulmaAy: 12.4, kazanc: "Düşük" },
"grafik-sanatlar": { istihdam: 63.9, isBulmaAy: 13.8, kazanc: "Düşük" },
"grafik-tasarimi": { istihdam: 65.9, isBulmaAy: 13.0, kazanc: "Çok düşük" },
"gumruk-isletme": { istihdam: 76.0, isBulmaAy: 14.3, kazanc: "Düşük" },
"halkla-iliskiler-ve-reklamcilik": { istihdam: 69.9, isBulmaAy: 13.1, kazanc: "Düşük" },
"halkla-iliskiler-ve-tanitim": { istihdam: 68.3, isBulmaAy: 14.9, kazanc: "Düşük" },
"harita-muhendisligi": { istihdam: 84.2, isBulmaAy: 13.7, kazanc: "Orta" },
"havacilik-elektrik-ve-elektronigi": { istihdam: 89.9, isBulmaAy: 9.5, kazanc: "Çok yüksek" },
"havacilik-ve-uzay-muhendisligi": { istihdam: 82.8, isBulmaAy: 9.7, kazanc: "Çok yüksek" },
"havacilik-yonetimi": { istihdam: 75.7, isBulmaAy: 13.4, kazanc: "Orta" },
"hemsirelik": { istihdam: 89.8, isBulmaAy: 9.2, kazanc: "Yüksek" },
"hukuk": { istihdam: 79.0, isBulmaAy: 21.7, kazanc: "Orta" },
"ic-mimarlik": { istihdam: 68.0, isBulmaAy: 13.2, kazanc: "Çok düşük" },
"ic-mimarlik-ve-cevre-tasarimi": { istihdam: 67.9, isBulmaAy: 12.6, kazanc: "Çok düşük" },
"iktisat": { istihdam: 72.3, isBulmaAy: 18.0, kazanc: "Orta" },
"ilahiyat": { istihdam: 60.0, isBulmaAy: 15.2, kazanc: "Düşük" },
"iletisim-bilimleri": { istihdam: 68.3, isBulmaAy: 14.8, kazanc: "Orta" },
"iletisim-ve-tasarimi": { istihdam: 67.8, isBulmaAy: 13.5, kazanc: "Düşük" },
"ilkogretim-matematik-ogretmenligi": { istihdam: 74.5, isBulmaAy: 12.4, kazanc: "Düşük" },
"imalat-muhendisligi": { istihdam: 86.9, isBulmaAy: 11.2, kazanc: "Çok yüksek" },
"ingiliz-dilbilimi": { istihdam: 69.9, isBulmaAy: 11.0, kazanc: "Düşük" },
"ingiliz-dili-ve-edebiyati": { istihdam: 68.7, isBulmaAy: 10.8, kazanc: "Düşük" },
"ingilizce-mutercim-ve-tercumanlik": { istihdam: 57.7, isBulmaAy: 8.6, kazanc: "Çok düşük" },
"ingilizce-ogretmenligi": { istihdam: 79.4, isBulmaAy: 8.4, kazanc: "Düşük" },
"insaat-muhendisligi": { istihdam: 85.0, isBulmaAy: 10.9, kazanc: "Orta" },
"insan-kaynaklari-yonetimi": { istihdam: 69.6, isBulmaAy: 12.0, kazanc: "Düşük" },
"is-sagligi-ve-guvenligi": { istihdam: 77.9, isBulmaAy: 11.8, kazanc: "Düşük" },
"islami-ilimler": { istihdam: 50.4, isBulmaAy: 15.4, kazanc: "Çok düşük" },
"isletme": { istihdam: 72.7, isBulmaAy: 17.3, kazanc: "Orta" },
"isletme-muhendisligi": { istihdam: 84.3, isBulmaAy: 11.4, kazanc: "Çok yüksek" },
"istatistik": { istihdam: 80.7, isBulmaAy: 16.1, kazanc: "Yüksek" },
"jeofizik-muhendisligi": { istihdam: 78.7, isBulmaAy: 15.5, kazanc: "Yüksek" },
"jeoloji-muhendisligi": { istihdam: 79.6, isBulmaAy: 13.9, kazanc: "Yüksek" },
"kamu-yonetimi": { istihdam: 71.1, isBulmaAy: 22.7, kazanc: "Orta" },
"karsilastirmali-edebiyat": { istihdam: 62.8, isBulmaAy: 12.6, kazanc: "Düşük" },
"kimya": { istihdam: 74.2, isBulmaAy: 11.8, kazanc: "Orta" },
"kimya-muhendisligi": { istihdam: 79.9, isBulmaAy: 11.4, kazanc: "Çok yüksek" },
"kimya-ogretmenligi": { istihdam: 73.8, isBulmaAy: 11.7, kazanc: "Düşük" },
"klasik-arkeoloji": { istihdam: 63.1, isBulmaAy: 15.4, kazanc: "Düşük" },
"kontrol-ve-otomasyon-muhendisligi": { istihdam: 88.0, isBulmaAy: 8.8, kazanc: "Çok yüksek" },
"kore-dili-ve-edebiyati": { istihdam: 55.6, isBulmaAy: 14.2, kazanc: "Orta" },
"kultur-varliklarini-koruma-ve-onarim": { istihdam: 59.9, isBulmaAy: 11.4, kazanc: "Çok düşük" },
"lojistik-yonetimi": { istihdam: 81.3, isBulmaAy: 11.7, kazanc: "Orta" },
"maden-muhendisligi": { istihdam: 87.5, isBulmaAy: 8.5, kazanc: "Çok yüksek" },
"makine-muhendisligi": { istihdam: 85.8, isBulmaAy: 10.8, kazanc: "Çok yüksek" },
"maliye": { istihdam: 72.8, isBulmaAy: 19.3, kazanc: "Düşük" },
"malzeme-bilimi-ve-muhendisligi": { istihdam: 81.1, isBulmaAy: 14.4, kazanc: "Yüksek" },
"matematik": { istihdam: 66.6, isBulmaAy: 12.7, kazanc: "Düşük" },
"matematik-muhendisligi": { istihdam: 89.8, isBulmaAy: 10.3, kazanc: "Çok yüksek" },
"matematik-ogretmenligi": { istihdam: 79.5, isBulmaAy: 12.2, kazanc: "Orta" },
"matematik-ve-bilgisayar-bilimleri": { istihdam: 75.0, isBulmaAy: 12.4, kazanc: "Yüksek" },
"mekatronik-muhendisligi": { istihdam: 83.2, isBulmaAy: 11.7, kazanc: "Çok yüksek" },
"metalurji-ve-malzeme-muhendisligi": { istihdam: 83.8, isBulmaAy: 12.5, kazanc: "Çok yüksek" },
"mimarlik": { istihdam: 78.1, isBulmaAy: 11.7, kazanc: "Düşük" },
"molekuler-biyoloji-ve-genetik": { istihdam: 60.3, isBulmaAy: 16.1, kazanc: "Düşük" },
"muhasebe-ve-finans-yonetimi": { istihdam: 74.4, isBulmaAy: 13.2, kazanc: "Düşük" },
"odyoloji": { istihdam: 74.9, isBulmaAy: 9.6, kazanc: "Çok düşük" },
"okul-oncesi-ogretmenligi": { istihdam: 75.2, isBulmaAy: 11.1, kazanc: "Düşük" },
"orman-endustrisi-muhendisligi": { istihdam: 75.9, isBulmaAy: 14.3, kazanc: "Orta" },
"orman-muhendisligi": { istihdam: 75.4, isBulmaAy: 11.8, kazanc: "Düşük" },
"otomotiv-muhendisligi": { istihdam: 85.9, isBulmaAy: 13.3, kazanc: "Çok yüksek" },
"ozel-egitim-ogretmenligi": { istihdam: 90.8, isBulmaAy: 4.4, kazanc: "Orta" },
"pazarlama": { istihdam: 75.0, isBulmaAy: 10.1, kazanc: "Düşük" },
"petrol-ve-dogalgaz-muhendisligi": { istihdam: 87.6, isBulmaAy: 11.7, kazanc: "Çok yüksek" },
"peyzaj-mimarligi": { istihdam: 65.0, isBulmaAy: 13.3, kazanc: "Çok düşük" },
"pilotaj": { istihdam: 85.1, isBulmaAy: 10.7, kazanc: "Çok yüksek" },
"protohistorya-ve-on-asya-arkeolojisi": { istihdam: 62.8, isBulmaAy: 17.5, kazanc: "Düşük" },
"psikoloji": { istihdam: 64.5, isBulmaAy: 15.4, kazanc: "Çok düşük" },
"radyo-televizyon-ve-sinema": { istihdam: 67.0, isBulmaAy: 14.3, kazanc: "Çok düşük" },
"rehberlik-ve-psikolojik-danismanlik": { istihdam: 77.6, isBulmaAy: 15.0, kazanc: "Düşük" },
"reklamcilik": { istihdam: 73.9, isBulmaAy: 12.9, kazanc: "Düşük" },
"rekreasyon": { istihdam: 71.1, isBulmaAy: 14.4, kazanc: "Çok düşük" },
"rekreasyon-yonetimi": { istihdam: 64.3, isBulmaAy: 12.8, kazanc: "Çok düşük" },
"rus-dili-ve-edebiyati": { istihdam: 66.5, isBulmaAy: 13.2, kazanc: "Orta" },
"saglik-yonetimi": { istihdam: 69.7, isBulmaAy: 14.1, kazanc: "Düşük" },
"sanat-tarihi": { istihdam: 59.6, isBulmaAy: 17.2, kazanc: "Çok düşük" },
"sanat-ve-kultur-yonetimi": { istihdam: 62.3, isBulmaAy: 14.8, kazanc: "Düşük" },
"sehir-ve-bolge-planlama": { istihdam: 73.0, isBulmaAy: 14.7, kazanc: "Düşük" },
"sermaye-piyasasi": { istihdam: 79.7, isBulmaAy: 14.3, kazanc: "Çok yüksek" },
"sigortacilik": { istihdam: 74.7, isBulmaAy: 13.1, kazanc: "Düşük" },
"sinif-ogretmenligi": { istihdam: 86.0, isBulmaAy: 9.8, kazanc: "Orta" },
"siyaset-bilimi-ve-kamu-yonetimi": { istihdam: 68.8, isBulmaAy: 19.9, kazanc: "Düşük" },
"siyaset-bilimi-ve-uluslararasi-iliskiler": { istihdam: 71.7, isBulmaAy: 17.4, kazanc: "Orta" },
"sosyal-bilgiler-ogretmenligi": { istihdam: 66.0, isBulmaAy: 18.0, kazanc: "Çok düşük" },
"sosyal-hizmet": { istihdam: 66.6, isBulmaAy: 16.9, kazanc: "Düşük" },
"sosyoloji": { istihdam: 57.6, isBulmaAy: 19.1, kazanc: "Düşük" },
"su-urunleri-muhendisligi": { istihdam: 77.5, isBulmaAy: 14.8, kazanc: "Düşük" },
"tarih": { istihdam: 60.6, isBulmaAy: 18.4, kazanc: "Çok düşük" },
"tarih-ogretmenligi": { istihdam: 69.7, isBulmaAy: 19.5, kazanc: "Düşük" },
"tarim-ekonomisi": { istihdam: 65.4, isBulmaAy: 18.3, kazanc: "Düşük" },
"tarim-makineleri-ve-teknolojileri-muhendisligi": { istihdam: 74.5, isBulmaAy: 9.4, kazanc: "Düşük" },
"tarimsal-biyoteknoloji": { istihdam: 66.9, isBulmaAy: 17.1, kazanc: "Düşük" },
"tarimsal-yapilar-ve-sulama": { istihdam: 74.6, isBulmaAy: 17.0, kazanc: "Düşük" },
"tarla-bitkileri": { istihdam: 72.0, isBulmaAy: 16.9, kazanc: "Düşük" },
"tekstil-muhendisligi": { istihdam: 76.5, isBulmaAy: 9.1, kazanc: "Yüksek" },
"tekstil-ve-moda-tasarimi": { istihdam: 59.9, isBulmaAy: 13.4, kazanc: "Çok düşük" },
"televizyon-haberciligi-ve-programciligi": { istihdam: 71.4, isBulmaAy: 13.6, kazanc: "Düşük" },
"tip": { istihdam: 95.5, isBulmaAy: 3.9, kazanc: "Çok yüksek" },
"toprak-bilimi-ve-bitki-besleme": { istihdam: 72.3, isBulmaAy: 16.4, kazanc: "Düşük" },
"turizm-isletmeciligi": { istihdam: 71.7, isBulmaAy: 13.1, kazanc: "Düşük" },
"turizm-rehberligi": { istihdam: 58.6, isBulmaAy: 13.0, kazanc: "Çok düşük" },
"turk-dili-ve-edebiyati": { istihdam: 56.3, isBulmaAy: 19.3, kazanc: "Çok düşük" },
"turk-dili-ve-edebiyati-ogretmenligi": { istihdam: 72.9, isBulmaAy: 16.3, kazanc: "Düşük" },
"turk-halkbilimi": { istihdam: 59.5, isBulmaAy: 17.1, kazanc: "Çok düşük" },
"turkce-ogretmenligi": { istihdam: 69.5, isBulmaAy: 16.9, kazanc: "Düşük" },
"ucak-bakim-ve-onarim": { istihdam: 89.1, isBulmaAy: 10.3, kazanc: "Çok yüksek" },
"ucak-muhendisligi": { istihdam: 81.0, isBulmaAy: 10.2, kazanc: "Çok yüksek" },
"uluslararasi-finans-ve-bankacilik": { istihdam: 78.1, isBulmaAy: 13.5, kazanc: "Çok yüksek" },
"uluslararasi-iliskiler": { istihdam: 70.9, isBulmaAy: 17.5, kazanc: "Orta" },
"uluslararasi-isletme-yonetimi": { istihdam: 76.5, isBulmaAy: 13.6, kazanc: "Orta" },
"uluslararasi-ticaret-ve-finansman": { istihdam: 77.4, isBulmaAy: 13.1, kazanc: "Orta" },
"uluslararasi-ticaret-ve-isletmecilik": { istihdam: 78.4, isBulmaAy: 11.9, kazanc: "Orta" },
"uluslararasi-ticaret-ve-lojistik": { istihdam: 75.5, isBulmaAy: 12.5, kazanc: "Düşük" },
"uzay-muhendisligi": { istihdam: 85.9, isBulmaAy: 11.8, kazanc: "Çok yüksek" },
"veteriner": { istihdam: 77.8, isBulmaAy: 12.9, kazanc: "Orta" },
"yazilim-muhendisligi": { istihdam: 76.7, isBulmaAy: 9.8, kazanc: "Çok yüksek" },
"yeni-medya-ve-iletisim": { istihdam: 69.7, isBulmaAy: 12.6, kazanc: "Düşük" },
"yiyecek-ve-icecek-isletmeciligi": { istihdam: 72.2, isBulmaAy: 13.5, kazanc: "Düşük" },
"yonetim-bilisim-sistemleri": { istihdam: 76.0, isBulmaAy: 12.1, kazanc: "Yüksek" },
"zootekni": { istihdam: 75.5, isBulmaAy: 15.5, kazanc: "Düşük" },
},
onlisans: {
"acil-durum-ve-afet-yonetimi": { istihdam: 75.8, isBulmaAy: 15.3, kazanc: "Yüksek" },
"agiz-ve-dis-sagligi": { istihdam: 66.5, isBulmaAy: 13.7, kazanc: "Düşük" },
"alternatif-enerji-kaynaklari-teknolojisi": { istihdam: 75.7, isBulmaAy: 13.3, kazanc: "Orta" },
"ameliyathane-hizmetleri": { istihdam: 64.7, isBulmaAy: 14.3, kazanc: "Düşük" },
"anestezi": { istihdam: 66.1, isBulmaAy: 14.8, kazanc: "Orta" },
"ascilik": { istihdam: 62.0, isBulmaAy: 10.8, kazanc: "Orta" },
"avcilik-ve-yaban-hayati": { istihdam: 78.0, isBulmaAy: 15.2, kazanc: "Orta" },
"bahce-tarimi": { istihdam: 62.2, isBulmaAy: 18.8, kazanc: "Düşük" },
"bankacilik-ve-sigortacilik": { istihdam: 60.5, isBulmaAy: 16.8, kazanc: "Orta" },
"basim-ve-yayim-teknolojileri": { istihdam: 65.2, isBulmaAy: 15.1, kazanc: "Düşük" },
"bilgisayar-destekli-tasarim-ve-animasyon": { istihdam: 57.0, isBulmaAy: 14.1, kazanc: "Düşük" },
"bilgisayar-programciligi": { istihdam: 67.5, isBulmaAy: 16.0, kazanc: "Yüksek" },
"bilgisayar-teknolojisi": { istihdam: 69.0, isBulmaAy: 15.1, kazanc: "Orta" },
"bilisim-guvenligi-teknolojisi": { istihdam: 67.3, isBulmaAy: 12.1, kazanc: "Orta" },
"bitki-koruma": { istihdam: 65.0, isBulmaAy: 17.0, kazanc: "Çok düşük" },
"biyomedikal-cihaz-teknolojisi": { istihdam: 73.3, isBulmaAy: 13.7, kazanc: "Orta" },
"buro-yonetimi-ve-yonetici-asistanligi": { istihdam: 59.4, isBulmaAy: 18.2, kazanc: "Orta" },
"cagri-merkezi-hizmetleri": { istihdam: 58.8, isBulmaAy: 16.7, kazanc: "Düşük" },
"cevre-koruma-ve-kontrol": { istihdam: 61.6, isBulmaAy: 16.2, kazanc: "Orta" },
"ceza-infaz-ve-guvenlik-hizmetleri": { istihdam: 65.2, isBulmaAy: 14.8, kazanc: "Düşük" },
"cocuk-gelisimi": { istihdam: 47.3, isBulmaAy: 16.0, kazanc: "Çok düşük" },
"cografi-bilgi-sistemleri": { istihdam: 69.9, isBulmaAy: 14.4, kazanc: "Orta" },
"deniz-ulastirma-ve-isletme": { istihdam: 63.7, isBulmaAy: 16.2, kazanc: "Yüksek" },
"deniz-ve-liman-isletmeciligi": { istihdam: 70.2, isBulmaAy: 14.1, kazanc: "Orta" },
"dis-protez-teknolojisi": { istihdam: 66.7, isBulmaAy: 11.9, kazanc: "Düşük" },
"dis-ticaret": { istihdam: 68.5, isBulmaAy: 15.9, kazanc: "Orta" },
"diyaliz": { istihdam: 64.0, isBulmaAy: 14.6, kazanc: "Orta" },
"dogalgaz-ve-tesisati-teknolojisi": { istihdam: 83.6, isBulmaAy: 14.6, kazanc: "Yüksek" },
"eczane-hizmetleri": { istihdam: 61.1, isBulmaAy: 11.6, kazanc: "Düşük" },
"elektrik": { istihdam: 83.7, isBulmaAy: 13.3, kazanc: "Yüksek" },
"elektrik-enerjisi-uretim-iletim-ve-dagitimi": { istihdam: 87.4, isBulmaAy: 13.3, kazanc: "Çok yüksek" },
"elektronik-haberlesme-teknolojisi": { istihdam: 83.3, isBulmaAy: 15.0, kazanc: "Çok yüksek" },
"elektronik-teknolojisi": { istihdam: 82.9, isBulmaAy: 14.2, kazanc: "Çok yüksek" },
"elektronorofizyoloji": { istihdam: 67.1, isBulmaAy: 14.5, kazanc: "Düşük" },
"emlak-yonetimi": { istihdam: 62.5, isBulmaAy: 17.9, kazanc: "Orta" },
"endustriyel-kalipcilik": { istihdam: 83.6, isBulmaAy: 13.4, kazanc: "Çok yüksek" },
"engelli-bakimi-ve-rehabilitasyon": { istihdam: 52.6, isBulmaAy: 14.4, kazanc: "Düşük" },
"evde-hasta-bakimi": { istihdam: 63.7, isBulmaAy: 15.4, kazanc: "Yüksek" },
"fizyoterapi": { istihdam: 61.7, isBulmaAy: 15.1, kazanc: "Düşük" },
"fotografcilik-ve-kameramanlik": { istihdam: 62.5, isBulmaAy: 18.9, kazanc: "Yüksek" },
"geleneksel-el-sanatlari": { istihdam: 50.6, isBulmaAy: 17.1, kazanc: "Çok düşük" },
"gemi-insaati": { istihdam: 76.9, isBulmaAy: 12.4, kazanc: "Yüksek" },
"gemi-makineleri-isletmeciligi": { istihdam: 69.5, isBulmaAy: 14.5, kazanc: "Yüksek" },
"gida-kalite-kontrolu-ve-analizi": { istihdam: 56.3, isBulmaAy: 14.5, kazanc: "Düşük" },
"gida-teknolojisi": { istihdam: 54.8, isBulmaAy: 14.9, kazanc: "Düşük" },
"giyim-uretim-teknolojisi": { istihdam: 48.5, isBulmaAy: 15.3, kazanc: "Düşük" },
"grafik-tasarimi": { istihdam: 62.2, isBulmaAy: 13.5, kazanc: "Düşük" },
"halkla-iliskiler-ve-tanitim": { istihdam: 66.9, isBulmaAy: 17.8, kazanc: "Yüksek" },
"harita-ve-kadastro": { istihdam: 72.6, isBulmaAy: 13.8, kazanc: "Orta" },
"ic-mekan-tasarimi": { istihdam: 57.5, isBulmaAy: 13.7, kazanc: "Çok düşük" },
"iklimlendirme-ve-sogutma-teknolojisi": { istihdam: 83.5, isBulmaAy: 14.0, kazanc: "Yüksek" },
"ilahiyat": { istihdam: 49.6, isBulmaAy: 22.7, kazanc: "Orta" },
"ilk-ve-acil-yardim": { istihdam: 73.1, isBulmaAy: 14.2, kazanc: "Yüksek" },
"insaat-teknolojisi": { istihdam: 75.0, isBulmaAy: 15.3, kazanc: "Düşük" },
"insan-kaynaklari-yonetimi": { istihdam: 65.3, isBulmaAy: 15.1, kazanc: "Yüksek" },
"internet-ve-ag-teknolojileri": { istihdam: 77.1, isBulmaAy: 14.0, kazanc: "Çok yüksek" },
"isletme-yonetimi": { istihdam: 65.7, isBulmaAy: 17.3, kazanc: "Orta" },
"kimya-teknolojisi": { istihdam: 62.6, isBulmaAy: 13.8, kazanc: "Orta" },
"kontrol-ve-otomasyon-teknolojisi": { istihdam: 83.9, isBulmaAy: 14.1, kazanc: "Çok yüksek" },
"kulturel-miras-ve-turizm": { istihdam: 51.9, isBulmaAy: 20.9, kazanc: "Çok yüksek" },
"kuyumculuk-ve-taki-tasarimi": { istihdam: 57.2, isBulmaAy: 16.6, kazanc: "Çok düşük" },
"laborant-ve-veteriner-saglik": { istihdam: 67.4, isBulmaAy: 16.5, kazanc: "Yüksek" },
"laboratuvar-teknolojisi": { istihdam: 58.2, isBulmaAy: 14.0, kazanc: "Düşük" },
"lojistik": { istihdam: 70.4, isBulmaAy: 14.6, kazanc: "Orta" },
"makine": { istihdam: 81.8, isBulmaAy: 14.1, kazanc: "Çok yüksek" },
"makine-resim-ve-konstruksiyonu": { istihdam: 80.7, isBulmaAy: 12.5, kazanc: "Yüksek" },
"marka-iletisimi": { istihdam: 67.8, isBulmaAy: 16.1, kazanc: "Çok yüksek" },
"medya-ve-iletisim": { istihdam: 64.8, isBulmaAy: 17.0, kazanc: "Yüksek" },
"mekatronik": { istihdam: 80.4, isBulmaAy: 14.1, kazanc: "Çok yüksek" },
"mimari-dekoratif-sanatlar": { istihdam: 54.6, isBulmaAy: 17.9, kazanc: "Çok düşük" },
"mimari-restorasyon": { istihdam: 60.9, isBulmaAy: 16.2, kazanc: "Düşük" },
"mobilya-ve-dekorasyon": { istihdam: 76.8, isBulmaAy: 16.7, kazanc: "Orta" },
"moda-tasarimi": { istihdam: 53.6, isBulmaAy: 13.7, kazanc: "Düşük" },
"muhasebe-ve-vergi-uygulamalari": { istihdam: 63.2, isBulmaAy: 16.2, kazanc: "Düşük" },
"odyometri": { istihdam: 68.3, isBulmaAy: 14.2, kazanc: "Düşük" },
"optisyenlik": { istihdam: 68.8, isBulmaAy: 9.9, kazanc: "Çok düşük" },
"organik-tarim": { istihdam: 61.1, isBulmaAy: 19.3, kazanc: "Düşük" },
"ormancilik-ve-orman-urunleri": { istihdam: 79.6, isBulmaAy: 14.5, kazanc: "Orta" },
"ortopedik-protez-ve-ortez": { istihdam: 66.8, isBulmaAy: 13.2, kazanc: "Orta" },
"otomotiv-teknolojisi": { istihdam: 82.9, isBulmaAy: 14.3, kazanc: "Yüksek" },
"ozel-guvenlik-ve-koruma": { istihdam: 77.2, isBulmaAy: 14.0, kazanc: "Yüksek" },
"patoloji-laboratuvar-teknikleri": { istihdam: 62.7, isBulmaAy: 15.6, kazanc: "Düşük" },
"pazarlama": { istihdam: 68.6, isBulmaAy: 15.3, kazanc: "Orta" },
"perakende-satis-ve-magaza-yonetimi": { istihdam: 76.3, isBulmaAy: 19.2, kazanc: "Çok yüksek" },
"peyzaj-ve-sus-bitkileri-yetistiriciligi": { istihdam: 56.6, isBulmaAy: 18.4, kazanc: "Düşük" },
"posta-hizmetleri": { istihdam: 61.3, isBulmaAy: 17.7, kazanc: "Düşük" },
"radyo-ve-televizyon-teknolojisi": { istihdam: 70.7, isBulmaAy: 16.1, kazanc: "Orta" },
"radyoterapi": { istihdam: 65.5, isBulmaAy: 14.1, kazanc: "Düşük" },
"rayli-sistemler-isletmeciligi": { istihdam: 81.2, isBulmaAy: 13.8, kazanc: "Yüksek" },
"sac-bakimi-ve-guzellik-hizmetleri": { istihdam: 55.2, isBulmaAy: 11.9, kazanc: "Çok düşük" },
"saglik-bilgi-sistemleri-teknikerligi": { istihdam: 58.2, isBulmaAy: 12.6, kazanc: "Çok düşük" },
"saglik-kurumlari-isletmeciligi": { istihdam: 73.7, isBulmaAy: 17.6, kazanc: "Çok yüksek" },
"sivil-hava-ulastirma-isletmeciligi": { istihdam: 71.6, isBulmaAy: 13.9, kazanc: "Yüksek" },
"sivil-havacilik-kabin-hizmetleri": { istihdam: 71.7, isBulmaAy: 11.7, kazanc: "Çok yüksek" },
"sivil-savunma-ve-itfaiyecilik": { istihdam: 82.8, isBulmaAy: 12.6, kazanc: "Yüksek" },
"sosyal-guvenlik": { istihdam: 58.5, isBulmaAy: 15.3, kazanc: "Çok düşük" },
"sosyal-hizmetler": { istihdam: 56.0, isBulmaAy: 22.2, kazanc: "Orta" },
"sut-ve-urunleri-teknolojisi": { istihdam: 59.5, isBulmaAy: 17.0, kazanc: "Düşük" },
"tapu-ve-kadastro": { istihdam: 71.7, isBulmaAy: 13.0, kazanc: "Orta" },
"tekstil-teknolojisi": { istihdam: 55.6, isBulmaAy: 15.4, kazanc: "Düşük" },
"tibbi-dokumantasyon-ve-sekreterlik": { istihdam: 67.6, isBulmaAy: 15.9, kazanc: "Yüksek" },
"tibbi-goruntuleme-teknikleri": { istihdam: 70.7, isBulmaAy: 14.2, kazanc: "Orta" },
"tibbi-laboratuvar-teknikleri": { istihdam: 62.0, isBulmaAy: 15.8, kazanc: "Orta" },
"tibbi-tanitim-ve-pazarlama": { istihdam: 60.7, isBulmaAy: 14.9, kazanc: "Düşük" },
"tibbi-ve-aromatik-bitkiler": { istihdam: 47.4, isBulmaAy: 17.7, kazanc: "Düşük" },
"turist-rehberligi": { istihdam: 57.9, isBulmaAy: 13.5, kazanc: "Düşük" },
"turizm-ve-otel-isletmeciligi": { istihdam: 64.3, isBulmaAy: 14.4, kazanc: "Orta" },
"turizm-ve-seyahat-hizmetleri": { istihdam: 64.9, isBulmaAy: 14.7, kazanc: "Düşük" },
"ucak-teknolojisi": { istihdam: 84.8, isBulmaAy: 13.4, kazanc: "Çok yüksek" },
"ulastirma-ve-trafik-hizmetleri": { istihdam: 73.9, isBulmaAy: 14.9, kazanc: "Orta" },
"web-tasarimi-ve-kodlama": { istihdam: 67.2, isBulmaAy: 15.1, kazanc: "Çok yüksek" },
"yapi-denetimi": { istihdam: 72.7, isBulmaAy: 15.2, kazanc: "Düşük" },
"yasli-bakimi": { istihdam: 58.8, isBulmaAy: 16.0, kazanc: "Orta" },
},
};
/** Bölüm sayfa slug'ının TÜİK satırı; yoksa null. */
export function bolumIstihdamBul(slug: string, duzey: IstihdamDuzeyi): BolumIstihdam | null {
return BOLUM_ISTIHDAM[duzey][slug] ?? null;
}