Barajlardaki suyun gidişatını her sabah 90 gün ileriye hesaplıyoruz.

Her sabah son ölçümden başlayıp barajlara giren ve çıkan suyu gün gün topluyoruz: ilk 14 gün hava tahmininin 51 ayrı hesabıyla, sonrasını geçmiş yılların havasıyla.

Su iki yoldan girer, iki yoldan çıkar.

Her sabah son ölçülen doluluktan başlayıp göllerin 90 gün boyunca nasıl dolup boşalacağını hesaplıyoruz.

%0%25%50%75%100YağmurBuharlaşmaBoru hatlarıŞehir%61,56 Kasım%0%25%50%75%100YağmurBuharlaşmaBoru hatları, günde 1,4 milyon m³Şehir, günde 3,2 milyon m³%61,56 Kasım
Günlük miktarlar, İSKİ’nin yayımladığı yıllık toplamlardan türetilmiş yaklaşık değerler.
  • Yağmur: barajların çevresindeki tepelere düşen yağmurun bir kısmı göllere akar. Ne kadarının aktığı toprağın ne kadar ıslak olduğuna bağlı. Kurak bir yazın ardından aynı yağmur, ıslak bir kışın ardından getirdiğinin çok azını getirir.
  • Tüketim: şehir günde yaklaşık 3,2 milyon m³ su kullanıyor, yazın biraz daha fazla.
  • Buharlaşma: göl yüzeyinden buharlaşan su.
  • Boru hatları: Melen ve Yeşilçay’dan getirilen su. Ne kadar getirileceğine İSKİ karar veriyor. Hava durumu bunu söylemez.

İki haftadan sonrasının yağışını kimse bilmiyor.

Bu yüzden ilk 14 gün için Avrupa Orta Vadeli Hava Tahminleri Merkezi’nin (ECMWF) 51 ayrı tahminini kullanıyoruz. 14. günden sonra geçmiş her yılın aynı tarihlerdeki havasını tek tek yeniden oynatıyoruz ve önümüzdeki aylar o yıl gibi geçerse göllere ne olacağını hesaplıyoruz. Bu bize yüzlerce olası gelecek veriyor.

30. güne kadar bu gelecekleri tek bir aralıkta topluyoruz. 30. günden 90. güne kadar ise yağışlarına göre kurak, olağan ve yağışlı diye üçe ayırıyor, her birinin aralığını ayrı gösteriyoruz.

Aralığı, geçmişteki hatalarımıza göre ayarlıyoruz.

Gösterdiğimiz aralığı, seviye %80 ihtimalle içinde kalacak şekilde ayarlıyoruz. Modelin geçmişteki hatalarına bakıp aralığı genişletiyoruz ve bunu yalnızca tahmin anında zaten bilinen hatalarla yapıyoruz. Bu ayar olmadan aralıklar sonuçların aşağı yukarı yarısını kapsıyordu.

Her tahmin saklanıyor ve hedef tarihi gelince gerçekleşenle karşılaştırılıyor. Sonuçlar Karne sayfasında.

Suyun kaç gün yeteceğini de aralıkla söylüyoruz.

“Su ne zaman biter” diye bir tarih vermiyoruz; bu varsayımlarla kullanılabilir suyun kaç gün yeteceğini bir aralık olarak gösteriyoruz. Kullanılabilir su, göldeki sudan dipte kalıp çekilemeyen kısım çıkınca kalan su.

Dipteki suyun ne kadar olduğunu İSKİ yayımlamıyor. İSKİ’nin yüzdeleri bazı barajlarda sıfıra kadar indiği için bu yüzdelerin zaten yalnızca kullanılabilir suyu gösterdiğini düşünüyoruz. Bu doğrulanmadığı için iki hesabı da gösteriyoruz: dipteki su yok sayılırsa ve kapasitenin %10’u kullanılamıyorsa (basında sık geçen bir pratik kural). İSKİ’den bir cevap alana kadar ikisi yan yana kalacak.

Hesabın kendisi bu kadar.

Barajlardaki toplam su V (milyon m³), günlük adımlarla şöyle değişiyor:

V[t+1]=V[t] + giriş[t] − tüketim[t] − kayıp[t] + aktarım

giriş
Göllere akan su. Havzalara düşen yağıştan, bir toprak nemi (kova) modeliyle hesaplanıyor. Göller neredeyse doluyken fazla su dolusavaktan gider, bu da hesapta.
tüketim
Şehrin günlük su kullanımı. Mevsime, haftanın gününe, bayramlara ve sıcaklığa göre değişiyor.
kayıp
Buharlaşma ve diğer kayıplar. Göl yüzey alanları yayımlanmadığı için buharlaşmayı ayrı hesaplayamıyoruz. Tek bir katsayı buharlaşmayı, bırakılan suyu ve sızmayı birlikte temsil ediyor.
aktarım
Melen ve Yeşilçay’dan gelen su. Geçmiş verilerden her yıl için tek bir net miktar olarak kestiriliyor. Bu miktar İSKİ’nin bildirdiği toplamlarla uyuşmadığı için bir ölçüm gibi sunulmuyor. Tahminlerde düşük, tipik ve yüksek diye üç varsayım var.

Yağmur düzeltmesi

Hava verisi olarak ERA5 yeniden analizini kullanıyoruz. İSKİ’nin kendi yağmur ölçerlerine göre ERA5 yağışı %10–%30 eksik gösteriyor. Bu yüzden her barajın ERA5 yağışını, eğitim dönemi boyunca ölçer toplamının ERA5 toplamına oranıyla büyütüyoruz.

Daha karmaşık bir model denedik

Aynı girdilerle LightGBM tabanlı bir makine öğrenmesi modeli de denedik. Her tahmin süresinde ve her mevsimde basit su dengesi modelinden kötü çıktı. 30 günde makine öğrenmesinin ortalama hatası 4,3 puan, su dengesi modelininki 3,7 puan. Yaklaşık 700 haftalık veri daha esnek bir model için yetmiyor. Makine öğrenmesini ancak basit yöntemi geçerse kullanacağız.

Model şu yerlerde zayıf.

  1. Uzun vadede model, en güçlü basit kurala (bu mevsimin olağan değişimi) karşı net bir fark göstermiyor. Geriye dönük testte şu durumlarda o kuraldan iyi değildi. 60–90 günü bu yüzden yalnızca etiketli senaryolar olarak gösteriyoruz.
    • İlkbahar (Mar–May): 30 gün, 60 gün ve 90 gün
    • Sonbahar (Eyl–Kas): 90 gün
    • Diğer yıllar: 60 gün ve 90 gün
  2. Sonbaharda hesaplanan 60 ve 90 günlük senaryolar olması gerekenden dar bir aralık gösteriyor. Geriye dönük testte sonuçların %80’i bu aralığa düşmeliydi. Oran 60. günde %75, 90. günde %68 çıktı. Sonucu en çok ilk büyük yağmurun ne zaman geldiği belirliyor.
  3. 20 Şubat 2024 ile 15 Nisan 2026 arasında günlük baraj verisi yok, yalnızca yazlar var. Bu kışlar kalıcı olarak eksik. Son iki yılın kış dolumları geriye dönük test edilemiyor.
  4. Aktarım miktarına İSKİ karar veriyor. Model aktarımı geçmiş verilerden net bir miktar olarak öğreniyor ve tahminde bu miktarı kullanıyor. Bu miktar İSKİ’nin bildirdiği toplamlarla uyuşmuyor, çünkü hesabın öteki kalemlerinin kaçırdığı her şeyi de içinde taşıyor.
  5. İBB’nin açık veri portalındaki günlük tüketim serisi Şubat 2024’te bitiyor. Güncel tahminler, İSKİ sayfasındaki yıllık grafiklerden okunmuş yaklaşık değerlerle çalışıyor.
  6. Dipte kalan kullanılamayan suyun miktarı yayımlanmıyor. İki hesabı da gösteriyoruz, ikisi de doğrulanmış değil.
  7. Geriye dönük testte ilk 14 gün de geçmiş yılların havasıyla oynatıldı. Canlı tahminler bu günler için gerçek bir hava tahmini kullanıyor. Bu yüzden kısa vadedeki gerçek başarıyı yalnızca canlı karne ölçebilir.
  8. Bir barajın devre dışı kalması ya da su kısıtlaması gibi işletme kararlarını model bilmiyor, olağan işleyişi varsayıyor. Kar modellenmiyor. Yalnızca şehir toplamı tahmin ediliyor, tek tek barajlar değil.

Rakamlar ekrana şu yoldan ulaşıyor.

Her sabah aynı yol izleniyor. Aşağıdaki her adım bugünkü gerçek değeriyle birlikte.

  1. 1. Ölçüm

    Doluluk İSKİ’nin sayfasından ya da dolulukorani.com ve DSİ üzerinden gelir. Geçmiş yıllar İBB Açık Veri’den, hava Open-Meteo’dan. Her kaynağa günde en fazla bir kez gidilir.

    Bugün
    Son ölçüm 6 Kasım 2026, iski
  2. 2. Ham arşiv

    Gelen dosya olduğu gibi saklanır ve bir daha değiştirilmez. Bir hata bulunursa geçmiş bu dosyalardan yeniden hesaplanır.

    Dosya
    data/raw/
  3. 3. Temiz tablolar

    Şehir ve baraj serileri. Her satırda verinin kaynağı yazar. Eksik gün boş kalır, tahmini bir değerle doldurulmaz.

    Bugün
    8.894 günlük şehir kaydı
    Dosya
    city_daily.parquet
  4. 4. Su dengesi modeli

    Bugünkü doluluktan başlayıp göllerin önümüzdeki 90 gününü hesaplar. İlk 14 gün için Avrupa hava tahmin merkezinin (ECMWF) 51 ayrı hava tahminini, sonrası için geçmiş yılların havasını kullanır.

    Bugün
    1.326 olası gelecek
    Dosya
    models/2/
  5. 5. Tahmin arşivi

    Günün tahmini kendi dosyasına yazılır ve o dosyaya bir daha dokunulmaz. Program eski bir dosyayı değiştirmeye kalkarsa kendini durdurur.

    Bugün
    6 Kasım 2026 tahmini
    Dosya
    data/forecasts/2026-11-06.parquet
  6. 6. Karne

    Hedef tarihi gelen tahmin o günün ölçümüyle karşılaştırılır. Aralığın içinde mi dışında mı kaldığı yazılır.

    Bugün
    4 tahminin sonucu belli
    Dosya
    live_scores.csv
  7. 7. Bu sayfa

    Site her sabah bu dosyalardan yeniden oluşturulur. Sayfa tarayıcıda hesap yapmaz; rakamlar önceden hesaplanmıştır.

    Bugün
    Son güncelleme 6 Kasım 2026 Cuma, 23.04
    Dosya
    data/public/site/

Bir adım aksarsa 12.40’ta yeniden denenir. Saatler İstanbul saati.

Çalışan sürüm şu.

Model: su dengesi, sürüm 2, 14 Şubat 2024 tarihine kadarki ölçümlerle eğitildi. Son kontrol 27 Ekim 2026: geriye dönük testten geçti ve yayına alındı.