İçeriğe geç

Ders EKO-212.12 · Seviye 2 — Orta

Proje: Kendi ekonomi panonu oluştur

EKO-212 Ekonomistler için Python ve R

4.023 kelime · yaklaşık 18 dakika okuma · seslendirme 8 dk · veriler Eylül 2026 itibarıyla

Katmanlar:SezgiModel

  • pano
  • gösterge kartı
  • veri hattı
  • yayım takvimi
  • düzensiz uç
  • anlık tahmin
Önce özete göz atDersin sonundaki özet, okumaya başlamadan önce yol haritası olarak.
  1. FRED, 1991'de tek telefon hatlı bir elektronik ilan tahtası olarak başladı ve 2016'da 384.000'i aşkın seri barındırıyordu; veriye erişimin maliyeti düştükçe veriyle çalışmanın biçimi değişti ve geçmiş veri sürümlerini saklamak bir hizmete dönüştü.
  2. Pano, belirli bir amaç için en önemli göstergeleri kısa sürede okunacak biçimde sunar; Sarıkaya ve arkadaşları, panoların tasarım amaçlarına ve etkileşim düzeylerine göre farklılaştığını gösterdi. Tasarım, grafiklerden önce okur ve soruyla başlar.
  3. Veri hattı, veriyi çeker, tarihli bir dosyaya dondurur, denetler, dönüştürür ve sunar; bir adım hata verdiğinde süreç durur ve eski pano yerinde kalır.
  4. Göstergelerin farklı yayım takvimleri panonun en güncel satırında düzensiz bir uç yaratır; bu dersteki panoda Türkiye'nin cari denge verisi 2024'te, öbür göstergeler 2025'te bitiyordu. Her kart kendi son dolu değerini yılıyla birlikte göstermelidir; Giannone ve arkadaşlarının anlık tahmin yöntemi bu boşlukları sistematik olarak doldurur.
  5. Kartlar ya değişimi ya düzeyi öne çıkarır; enflasyondaki 23,6 puanlık düşüş, düzeyin karşılaştırma ülkelerinin dokuz katından fazla olduğunu göstermez. Grafiklerde yıl eksenleri tam sayılarla, sayılar Türkçe biçimle yazılmalı ve pano bir okurla sınanmalıdır.

Öğrenme çıktıları

  • Hatırlama — Panoyu, gösterge kartını, veri hattını, yayım takvimini, düzensiz ucu ve anlık tahmini tanımlar.
  • Anlama — Bir panonun keşifsel bir grafikten ve bir rapordan hangi amaçlarla ayrıldığını ve göstergelerin farklı tarihlerde yayımlanmasının panonun okunuşunu nasıl etkilediğini açıklar.
  • Uygulama — Python'da Dünya Bankası arayüzünden birkaç göstergeyi çeken, dondurup denetleyen, gösterge kartları ve küçük çoklu grafiklerle bir HTML panosu üreten ve tek komutla yenilenen bir veri hattı kurar.
  • Değerlendirme — Sarıkaya ve arkadaşlarının pano çalışmasını ve Giannone, Reichlin ve Small'un anlık tahmin yöntemini kullanarak bir ekonomi panosunun tasarımını ve güncel olma iddiasını değerlendirir.

Sezgi

Açılış

Bir ekonomi muhabiri, her sabah aynı işi yapıyor: beş ayrı internet sitesini açıyor, enflasyonun, işsizliğin, büyümenin ve cari dengenin son değerlerini bir deftere yazıyor, bir önceki dönemle karşılaştırıyor ve haberinde hangi sayıyı öne çıkaracağına karar veriyor. Bu iş her sabah yarım saat alıyor ve arada bir hata yapılıyor: bir gün yıllık yerine aylık enflasyon yazılıyor, bir başka gün cari denge sayısının hangi yıla ait olduğu karışıyor.

Bu kursun on bir dersinde öğrendiklerimiz, bu yarım saati birkaç saniyeye indirmeye yeter. Veriyi bir arayüzden çekmeyi, temizlemeyi, grafiğe dökmeyi, özetlemeyi, sonuçları bir şablonla rapora yerleştirmeyi ve bütün süreci başkasının da çalıştırabileceği biçimde düzenlemeyi gördük. Bu son derste bu parçaları tek bir projede birleştiriyoruz: Türkiye'nin temel makroekonomik göstergelerini iki karşılaştırma ülkesiyle birlikte gösteren ve tek komutla güncellenen bir pano.

Hikâye — Tek telefon hattından milyonlarca seriye

18 Nisan 1991'de St. Louis Merkez Bankası, U.S. Financial Data adlı yayınının kapağında yeni bir hizmeti duyurdu: Federal Reserve Economic Data, kısaca FRED. Bankanın 2016'da, hizmetin yirmi beşinci yılında yayımladığı bir blog yazısına göre FRED, tek bir telefon hattı olan bir elektronik ilan tahtası olarak başladı. Kullanıcılar bilgisayarlarının modemiyle bu numarayı arıyor ve verileri indiriyordu.

Aynı yazıya göre FRED, ilk iki ayında 620 kullanıcıya ulaştı ve 1991 Aralık'ında 3.000'i aşkın arama aldı. Daha ilk aylarda Taipei'den, Londra'dan ve Vancouver'dan arayanlar vardı. Hizmet ilk günden itibaren her iş günü güncellendi ve ücretsizdi. 1993'e gelindiğinde 300'ü aşkın seri içeriyordu; 1995'te internete taşındı. 2006'da, serilerin geçmiş sürümlerini saklayan ALFRED eklendi. 2016'da ise 384.000'i aşkın seri barındırıyordu.

FRED'in hikâyesi, bu kursun iki temel fikrini bir araya getirir. Birincisi, ekonomik veriye erişimin maliyeti düştükçe veriyle çalışmanın biçimi değişir: bir zamanlar bir kütüphanede basılı istatistik yıllıklarından elle kopyalanan sayılar, bugün bir satır kodla indirilebiliyor. İkincisi, veriyi sunan kurum, onun hangi tarihte nasıl göründüğünü de saklamaya başladı; bir serinin geçmişteki hâllerini arşivlemek, ALFRED'le bir hizmete dönüştü.

Bu derste kuracağımız pano, FRED gibi bir kurumun işini küçük ölçekte tekrarlar: birkaç kaynaktan veriyi alır, tutarlı bir biçime sokar ve okura tek bakışta sunar. Ama bir panonun iyi olup olmadığı, ne kadar çok seri içerdiğiyle değil, okurunun sorusuna ne kadar iyi cevap verdiğiyle ölçülür. Kanıt bölümü, bu iki boyutu ele alıyor: panoların pratikte nasıl kullanıldığını ve ekonomik göstergelerin farklı tarihlerde gelmesinin ne anlama geldiğini.

Kavram

Bu projenin ürününün adı şudur.

Panonun en küçük birimi şudur.

Panonun arkasındaki süreç şudur.

Ekonomik göstergelerin zamanlaması şudur.

Farklı yayım tarihlerinin sonucu şudur.

Bu boşlukları doldurma yönteminin adı şudur.

Veri ve kanıt

Bu çalışmanın proje için taşıdığı ders, bir panonun tek bir türü olmadığıdır. Bir karar vericinin günlük izlediği pano ile bir halkı bilgilendirmek için yayımlanan pano, farklı tasarım amaçlarına ve farklı etkileşim düzeylerine sahiptir. Bu yüzden projeye başlamadan önce sorulacak ilk soru, «hangi grafikleri çizeceğim» değil, «bu panoyu kim, hangi karar için, ne sıklıkla okuyacak» sorusudur.

Giannone ve arkadaşlarının çalışması, bir ekonomi panosunun göründüğünden daha karmaşık bir nesne olduğunu hatırlatır. Panonun gösterdiği «son durum», aslında farklı tarihlerde açıklanmış göstergelerin bir karışımıdır: enflasyon geçen aya, büyüme iki çeyrek önceye, cari denge belki bir yıl önceye aittir. Bir merkez bankası bu boşlukları anlık tahminle doldurur; basit bir pano ise en azından her göstergenin hangi döneme ait olduğunu açıkça yazmalıdır.

Yaygın yanlış«Bir panoya ne kadar çok gösterge ve grafik koyarsam, o kadar bilgilendirici olur.»
Doğrusu

Pano, belirli bir amaç için en önemli göstergeleri kısa sürede okunacak biçimde sunduğu ölçüde işe yarar. Sarıkaya ve arkadaşlarının belirttiği gibi, panoların tasarım amaçları ve kullanım bağlamları birbirinden farklıdır. Okurun sorusuyla ilgisi olmayan her ek grafik, önemli olanı bulmayı zorlaştırır.

Yaygın yanlış«Panodaki bütün sayılar bugünü gösterir.»
Doğrusu

Göstergeler farklı yayım takvimlerine sahiptir ve bir panonun en güncel satırı düzensiz bir uca sahiptir. Bu dersin panosunda Türkiye'nin enflasyon, işsizlik ve büyüme verileri 2025'e, cari denge verisi ise 2024'e aitti. Her kartın hangi döneme ait olduğunu yazmayan bir pano, farklı yılların sayılarını aynı anın fotoğrafıymış gibi sunar.

Neden önemli?

Ekonomik kararlar, çoğu zaman eksik ve gecikmeli bilgiyle alınır. Bir merkez bankası faiz kararını, bir şirket yatırım kararını, bir hane borçlanma kararını verirken ekonominin bugünkü durumunu bilmek ister; ama resmî istatistikler bu durumu ancak aylar sonra tam olarak gösterir. İyi kurulmuş bir pano, eldeki bilgiyi düzenli, tutarlı ve ne kadar eski olduğu açıkça belirtilmiş biçimde sunarak bu belirsizliği azaltır.

Kendi panonu kurmanın bir yararı daha vardır: hazır panoların seçimlerini sorgulamayı öğretir. Bir haber sitesindeki ya da bir kurumun sayfasındaki pano, hangi göstergeleri gösterdiğiyle kadar, hangilerini göstermediğiyle de bir hikâye anlatır. Göstergeleri, karşılaştırma ülkelerini ve dönemleri kendin seçtiğinde, bu seçimlerin ne kadar belirleyici olduğunu görürsün.

Türkiye için bu proje özellikle öğreticidir. Son yıllarda enflasyonun çok hızlı değiştiği bir ortamda, bir göstergenin hangi aya ait olduğu, yıllık mı aylık mı olduğu ve hangi karşılaştırma ülkeleriyle yan yana konduğu, okurun vardığı sonucu belirgin biçimde değiştirir. Bu derste kuracağımız pano, bu seçimleri kodun içinde açıkça yazılmış ve değiştirilebilir kılar.

Model

Adım 1 — Okur, soru ve göstergeler

Projenin ilk adımı kod değil, bir cümledir. Bu dersteki pano için o cümle şöyle kuruldu: «Türkiye ekonomisini izleyen bir okur, enflasyonun, işsizliğin, büyümenin ve cari dengenin son durumunu ve son yirmi yıldaki seyrini, iki karşılaştırma ülkesiyle birlikte tek sayfada görmek istiyor.» Bu cümle, panonun okurunu, göstergelerini, dönemini ve karşılaştırma grubunu birlikte belirler.

Karşılaştırma ülkeleri olarak Polonya ve Meksika seçildi; ikisi de Türkiye gibi büyük nüfuslu, sanayisi gelişmiş, dış ticarete açık ve uluslararası yatırımcıların çoğunlukla gelişmekte olan piyasalar arasında saydığı ekonomilerdir. Bu bir seçimdir ve panonun anlattığı hikâyeyi değiştirir: aynı Türkiye verileri, Arjantin'le ya da Almanya'yla yan yana konduğunda çok farklı görünür. Seçimin gerekçesi, panonun altında bir cümleyle yazılmalıdır. Kendi panonda başka ülkeleri ya da göstergeleri seçebilirsin; önemli olan seçimi bilinçli yapmak ve açıklamaktır.

Adım 2 — Veriyi çekmek ve dondurmak

Dört gösterge, Dünya Bankası'nın arayüzünden, gösterge kodlarıyla çekildi: FP.CPI.TOTL.ZG tüketici fiyatlarıyla yıllık enflasyon, SL.UEM.TOTL.ZS işsizlik oranı, NY.GDP.MKTP.KD.ZG reel büyüme, BN.CAB.XOKA.GD.ZS cari dengenin milli gelire oranı. Çekme betiği, önceki derslerde gördüğümüz yapıyı izler ve her göstergeyi üç ülke için 2005–2025 dönemiyle ister.

  • adres = f"https://api.worldbank.org/v2/country/TUR;POL;MEX/indicator/{kod}"
  • yanit = requests.get(adres, params={"date": "2005:2025", "per_page": 1000, "format": "json"}, timeout=90)
  • yanit.raise_for_status()
  • d.to_csv(KOK / "veri" / "ham" / f"dunya_bankasi_{bugun}.csv", index=False)

İkinci satırdaki denetim, sunucudan 404 ya da 500 gibi bir durum kodu gelirse bir istisna fırlatır. Böylece betik yarım bir yanıtla yoluna devam edemez ve pano bozuk veriyle yenilenmez. Son satır, önceki derste öğrendiğimiz veri dondurma ilkesini uygular: çekilen veri, dosya adına çekim tarihi eklenerek ham veri klasörüne yazılır. Bu dersin hazırlanmasında dosya dunya_bankasi_2026-09-29.csv adıyla kaydedildi ve 252 satır içeriyordu: üç ülke, dört gösterge ve 21 yıl.

Pano betiği ise arayüze değil, bu klasördeki en yeni dosyaya bağlanır. Böylece arayüz bir gün erişilemez olsa bile pano son dondurulmuş veriyle üretilebilir ve hangi veri sürümünün kullanıldığı her zaman bellidir.

Adım 3 — Denetim ve düzensiz uç

Veri hattının ikinci adımı, önceki derslerde gördüğümüz doğrulama denetimleridir. Pano betiği, veriyi okur okumaz sütunların beklenen sütunlar olduğunu ve aynı ülke, yıl ve gösterge için birden fazla satır bulunmadığını denetler.

  • assert set(d.columns) == {"ulke", "yil", "gosterge", "deger"}
  • assert d.duplicated(["ulke", "yil", "gosterge"]).sum() == 0

Bu denetimlerden sonra eksik değerlere bakıldı. 252 satırın yalnızca birinde değer yoktu: Türkiye'nin 2025 cari dengesi. Öbür üç gösterge Türkiye için 2025'e kadar, Polonya ve Meksika için dört göstergenin hepsi 2025'e kadar doluydu. Bu, Giannone ve arkadaşlarının söz ettiği düzensiz ucun küçük bir örneğidir.

Burada iki yanlış yol vardır. Birincisi, eksik değeri görmezden gelip bütün göstergeler için 2025 satırını almaktır; bu durumda Türkiye'nin cari denge kartı boş kalır ya da betik hata verir. İkincisi, bütün göstergeleri en eski ortak yıla, yani 2024'e çekmektir; bu durumda elimizdeki daha güncel enflasyon ve büyüme verisi boşa gider. Doğru yol, her gösterge için ayrı ayrı son dolu değeri almak ve kartta yılını açıkça yazmaktır.

Adım 4 — Gösterge kartları

Her gösterge için kart, Türkiye verisinden eksik değerler çıkarılıp yıla göre sıralandıktan sonra son iki gözlemden hesaplanır.

  • s = tr[tr.gosterge == g].dropna().sort_values("yil")
  • son, once = s.iloc[-1], s.iloc[-2]
  • kart = {"yil": int(son.yil), "deger": bicim(son.deger), "fark": bicim(son.deger - once.deger)}

bicim, önceki derslerde gördüğümüz, sayıyı tek ondalık basamakla ve virgülle yazan küçük fonksiyondur. Kartlar şu sonuçları verdi: enflasyon 2025'te yüzde 34,9, bir önceki yıla göre 23,6 puan düşük; işsizlik yüzde 8,5, 0,3 puan düşük; büyüme yüzde 3,6, 0,3 puan yüksek; cari denge ise 2024'te milli gelirin eksi yüzde 0,8'i, bir önceki yıla göre 2,9 puan daha iyi. Son kart, öbür üçünden farklı bir yıla aittir ve kartın üzerinde bunu açıkça yazar.

Çözümlü örnek — Kartı doğru okumak

Enflasyon kartındaki «23,6 puan düşüş», okura güçlü bir iyileşme izlenimi verir; gerçekten de enflasyon 2024'teki yüzde 58,5'ten 2025'te yüzde 34,9'a indi. Ama aynı kart, Türkiye enflasyonunun Polonya'nın ve Meksika'nın yüzde 3,8'lik enflasyonunun hâlâ dokuz katından fazla olduğunu göstermez. Tek bir kart, değişimi ya da düzeyi öne çıkarır; ikisini birden anlatmak için kartın yanında bir karşılaştırma ya da bir grafik gerekir.

Cari denge kartındaki «2,9 puan iyileşme» ise başka bir dikkat gerektirir. Cari denge 2023'te eksi yüzde 3,6'dan 2024'te eksi yüzde 0,8'e geldi. İşaret hâlâ negatiftir; yani ülke hâlâ cari açık vermektedir, ama açık daralmıştır. Kartta «▲» işareti kullanmak, sayı arttığı için teknik olarak doğrudur; ama «artış iyi mi kötü mü» sorusunun cevabı göstergeden göstergeye değişir. Enflasyon ve işsizlikte düşüş, büyümede ve cari dengede artış olumlu okunur. Bu yüzden kartlarda renkle «iyi» ya da «kötü» anlamı yüklemek yerine, yön işaretini ve sayıyı yalın bırakmak, yorumu okura bırakmak daha dürüst bir tasarımdır.

Adım 5 — Küçük çoklu grafikler

Kartların altına, dört göstergenin 2005–2025 seyrini gösteren dört küçük grafik yerleştirildi. Önceki derslerde gördüğümüz küçük çoklular ilkesiyle, her grafik bir göstergeyi üç ülke için gösterir; Türkiye kalın ve renkli, karşılaştırma ülkeleri ince ve gri çizilir.

  • fig, eksen = plt.subplots(2, 2, figsize=(10, 6), sharex=True)
  • ax.plot(s.yil, s.deger, color="C3" if u == "TUR" else "0.7", lw=2 if u == "TUR" else 1)

İlk denemede grafik iki kusurla çıktı. Yatay eksende yıllar 2007,5 ya da 2012,5 gibi var olmayan ara değerlerle etiketlenmişti, çünkü matplotlib yıl sütununu ondalıklı bir ölçek olarak yorumlamış ve işaretleri eşit aralıklara dağıtmıştı. Dikey eksende ise ondalık ayraç, Türkçe metnin geri kalanıyla çelişen bir noktaydı: 17.5, 12.5.

  • ax.xaxis.set_major_locator(MaxNLocator(integer=True))
  • ax.yaxis.set_major_formatter(FuncFormatter(lambda y, _: f"{y:g}".replace(".", ",")))

Birinci satır, eksen işaretlerinin yalnızca tam sayılara konmasını sağlar; ikinci satır, eksendeki sayıları virgülle yazar. İkinci denemede yıllar 2004, 2007, 2010 gibi tam sayılarla, işsizlik ekseni 2,5, 7,5, 12,5 gibi Türkçe biçimle çıktı. Grafik ayrıca, enflasyon panelinde Türkiye'nin 2022'deki yüzde 72,3'lük zirvesinin öbür ülkeleri neredeyse düz bir çizgiye çevirdiğini gösterdi; bu, ortak bir dikey ölçek yerine her panelin kendi ölçeğini kullanmasının neden gerekli olduğunu da açıklar.

Adım 6 — Şablon ve sayfa

Kartlar ve grafik, önceki derslerde gördüğümüz jinja2 şablonuyla tek bir HTML sayfasında birleştirildi. Şablon, kartları bir döngüyle yazar ve sayfanın altına kaynak, veri dosyasının adı, parmak izi ve üretim tarihini ekler.

  • {% for k in kartlar %}<div><b>{{ k.ad }}</b> {{ k.yil }}: {{ k.deger }} {{ k.yon }} {{ k.fark }}</div>{% endfor %}
  • <p>Kaynak: Dünya Bankası. Veri dosyası {{ dosya }} · parmak izi {{ iz }} · üretildi {{ tarih }}</p>

Bu dersteki sayfanın altında, dunya_bankasi_2026-09-29.csv dosyasının adı ve b1d76c1d4808 ile başlayan parmak izi yazıyordu. Pano bir ay sonra yeniden üretildiğinde bu satır değişir ve okur, panonun hangi veriyle hazırlandığını görür.

Adım 7 — Tek komut ve düzenli güncelleme

Önceki derste gördüğümüz ana betik yapısıyla, veri çekme ve pano üretme adımları tek komuta bağlanır: python3 calistir.py önce cek.py'yi, sonra pano.py'yi çalıştırır. Bu komut, işletim sisteminin zamanlayıcısıyla, örneğin macOS ve Linux'taki cron ile, her ayın belirli bir gününde kendiliğinden çalıştırılabilir. Yıllık Dünya Bankası verisi için ayda bir güncelleme fazlasıyla yeterlidir; aylık TÜİK verisi kullanan bir panoda ise güncelleme günü, yayım takvimine göre seçilmelidir.

Otomatik güncellemenin bir riski vardır: bir gün kaynak bir sütunun adını değiştirir ya da boş bir yanıt döndürürse, pano yanlış sayılarla sessizce yenilenebilir. Adım 3'teki denetimler burada işe yarar: veri beklenen biçimde değilse betik durur ve eski pano yerinde kalır. Durmuş bir pano, yanlış bir panodan her zaman daha iyidir.

Adım 8 — Etkileşimli seçenekler

Bu dersteki pano, durağan bir HTML sayfasıdır; okur ülke ya da dönem seçemez. Etkileşim istendiğinde Python'da Streamlit, R'da Shiny gibi araçlar kullanılır. Streamlit'in belgelerine göre bir Python betiği streamlit run pano.py komutuyla bir web uygulaması olarak açılır ve st.selectbox gibi fonksiyonlarla okura seçim kutuları sunulur. Shiny'de ise bir kullanıcı arayüzü ile bir sunucu fonksiyonu tanımlanır ve uygulama shiny::runApp() ile çalıştırılır.

Bu araçlar bu dersin hazırlandığı ortamda kurulu değildi; komutlar belgelerinden aktarıldı. Etkileşim, okura esneklik verir ama bir bedeli vardır: uygulamanın sürekli çalışan bir sunucuya ihtiyacı olur ve her okur farklı bir görünüm gördüğü için panonun anlattığı hikâye dağılabilir. Sarıkaya ve arkadaşlarının ayrımıyla, etkileşim düzeyi panonun amacına göre seçilmelidir.

Adım 9 — Paketlemek ve paylaşmak

Son adım, projeyi önceki derste gördüğümüz tekrarlanabilirlik alışkanlıklarıyla paketlemektir. Ham dosyalar, betikler ve üretilen sayfa ayrı klasörlerde durur; betikler göreli yollar kullanır; paket sürümleri requirements.txt dosyasına yazılır; proje git ile kayda alınır. BENIOKU dosyası, panonun amacını, göstergelerin kodlarını ve tanımlarını, karşılaştırma ülkelerinin seçim gerekçesini ve panonun nasıl güncelleneceğini anlatır.

Adım 10 — Panoyu bir okurla sınamak

Kod hatasız çalışsa da pano amacına ulaşmamış olabilir. En basit sınama, panoyu projeyi bilmeyen birine on saniye gösterip kapatmak ve ona iki soru sormaktır: «Türkiye'de enflasyon son yılda ne yöne gitti?» ve «Bu sayılar hangi yıla ait?» İlk soruya doğru cevap veren ama ikinci soruda duraksayan bir okur, kartlardaki yıl bilgisinin yeterince görünür olmadığını gösterir.

Bu dersin panosunda böyle bir sınamanın en olası zayıf noktası cari denge kartıdır: yılı küçük bir yazıyla yalnızca kartın içinde duruyorsa, hızlı bakan bir okur onu öbür kartlar gibi 2025'e ait sanabilir. Olası bir çözüm, son yılı öbürlerinden farklı olan kartı ayrıca işaretlemek ve yanına «en son yayımlanan yıl» notu eklemektir. Bu tür bir sınamayı her büyük değişiklikten sonra tekrarlamak, panonun okurun sorusuna gerçekten cevap verip vermediğini gösterir. Sayısal denetimler verinin doğru olup olmadığını, okur sınaması ise panonun doğru okunup okunmadığını yoklar; ikisi birbirinin yerine geçmez.

Modelin sınırları

Bu dersteki pano, yıllık veriyle çalıştığı için Türkiye ekonomisinin bugünkü durumunu değil, en fazla bir yıl önceki durumunu gösterir. Daha güncel bir pano için TCMB'nin ve TÜİK'in aylık ve çeyreklik serileri kullanılmalı; bu durumda düzensiz uç çok daha belirgin hâle gelir ve Giannone ve arkadaşlarının çalışmasındaki gibi anlık tahmin yöntemleri gündeme gelir.

Pano ayrıca yalnızca dört göstergeye dayanır ve bu göstergelerin tanımları ülkeden ülkeye küçük farklar gösterebilir. Dünya Bankası, ülkeler arasında karşılaştırılabilirliği artırmak için bazı serileri kendi yöntemiyle hesaplar ya da model tahminlerine dayandırır; bu yüzden panodaki bir sayı, ulusal istatistik kurumunun açıkladığı sayıdan farklı olabilir. Panonun altında bu farkın belirtilmesi ve gerekirse ulusal kaynağa bağlantı verilmesi gerekir. Dersteki bütün Python satırları, Dünya Bankası'ndan 29 Eylül 2026'da indirilen dosya üzerinde yerel olarak koşturuldu ve sayılar o çıktıdan aktarıldı.

Uygulama

Özet kartı

  1. FRED, 1991'de tek telefon hatlı bir elektronik ilan tahtası olarak başladı ve 2016'da 384.000'i aşkın seri barındırıyordu; veriye erişimin maliyeti düştükçe veriyle çalışmanın biçimi değişti ve geçmiş veri sürümlerini saklamak bir hizmete dönüştü.
  2. Pano, belirli bir amaç için en önemli göstergeleri kısa sürede okunacak biçimde sunar; Sarıkaya ve arkadaşları, panoların tasarım amaçlarına ve etkileşim düzeylerine göre farklılaştığını gösterdi. Tasarım, grafiklerden önce okur ve soruyla başlar.
  3. Veri hattı, veriyi çeker, tarihli bir dosyaya dondurur, denetler, dönüştürür ve sunar; bir adım hata verdiğinde süreç durur ve eski pano yerinde kalır.
  4. Göstergelerin farklı yayım takvimleri panonun en güncel satırında düzensiz bir uç yaratır; bu dersteki panoda Türkiye'nin cari denge verisi 2024'te, öbür göstergeler 2025'te bitiyordu. Her kart kendi son dolu değerini yılıyla birlikte göstermelidir; Giannone ve arkadaşlarının anlık tahmin yöntemi bu boşlukları sistematik olarak doldurur.
  5. Kartlar ya değişimi ya düzeyi öne çıkarır; enflasyondaki 23,6 puanlık düşüş, düzeyin karşılaştırma ülkelerinin dokuz katından fazla olduğunu göstermez. Grafiklerde yıl eksenleri tam sayılarla, sayılar Türkçe biçimle yazılmalı ve pano bir okurla sınanmalıdır.

Kavram sözlüğü

TürkçeİngilizceKısa tanım
PanoDashboardBelirli bir amaç için en önemli göstergeleri tek bakışta okunacak biçimde sunan görsel
Gösterge kartıIndicator cardBir göstergenin son değerini, dönemini ve değişimini birlikte gösteren kutu
Veri hattıData pipelineVerinin kaynaktan sunuma kadar sırayla ve otomatik işlendiği adımlar bütünü
Yayım takvimiRelease calendarGöstergelerin hangi tarihte ve hangi dönem için açıklanacağını gösteren çizelge
Düzensiz uçRagged edgeGöstergelerin farklı yayım tarihleri yüzünden farklı son dönemlere sahip olması
Anlık tahminNowcastingHenüz yayımlanmamış bir göstergenin erken açıklanan verilerle tahmin edilmesi

Kendini sına

  1. (Çıktı 1) Pano ile keşifsel grafik arasındaki farkı açıkla. Bu dersteki panoyu hazırlarken keşifsel grafiklere hangi aşamada ihtiyaç duyulabilir?
  2. (Çıktı 2) Bir panoda enflasyon verisi Ağustos'a, sanayi üretimi Temmuz'a, büyüme ise ikinci çeyreğe ait. Bir okur, «ekonomi Ağustos'ta nasıldı?» diye soruyor. Düzensiz uç kavramıyla bu soruya panonun ne kadar cevap verebileceğini açıkla.
  3. (Çıktı 2) Bir haber sitesi, Türkiye'nin enflasyonunu yalnızca bir önceki yıla göre değişimle gösteren bir kart yayımlıyor: «23,6 puan düşüş». Bu kartın okura ne söylediğini ve ne söylemediğini, bu dersteki sayılarla açıkla.
  4. (Çıktı 3) Uzun biçimli bir veri çerçevesinde, her gösterge için Türkiye'nin son dolu değerini, yılını ve bir önceki gözleme göre farkını bulan Python kodunu yaz. Neden bütün göstergeler için aynı yılı seçmek yerine her gösterge için ayrı son dolu değer alınır?
  5. (Çıktı 3) Grafiğin yatay ekseninde yıllar 2007,5 gibi ara değerlerle görünüyor ve dikey eksende ondalık ayraç nokta. Her iki sorunu düzelten matplotlib satırlarını yaz.
  6. (Çıktı 4) Bir kurum, «panomuz her gün otomatik güncelleniyor, bu yüzden her zaman ekonominin bugünkü durumunu gösteriyor» diyor. Giannone ve arkadaşlarının çalışmasını ve yayım takvimi kavramını kullanarak bu iddiayı değerlendir.

Cevaplar

  1. Keşifsel grafik, veride ne olduğunu bulmak için, çoğunlukla analistin kendisi için çizilir ve biçimi hızla değişir. Pano ise ne izleneceği önceden bilinen göstergeleri, başka okurlar için düzenli ve tutarlı biçimde sunar. Bu dersteki projede keşifsel grafikler, göstergeleri ve karşılaştırma ülkelerini seçerken, eksik değerleri ve aykırı yılları ararken, örneğin 2022'deki yüzde 72,3'lük enflasyon zirvesinin ölçeği nasıl etkilediğini görürken kullanılır.
  2. Panonun en güncel sütunu düzensiz bir uca sahiptir: Ağustos için yalnızca enflasyon bilinmektedir; sanayi üretimi bir ay, büyüme daha da geride kalmıştır. Pano, Ağustos'a dair tam bir tablo sunamaz; yapabileceği en dürüst şey, her göstergenin hangi döneme ait olduğunu açıkça yazmaktır. Ağustos'un tamamlanmış bir resmini görmek için anlık tahmin yöntemleriyle eksik göstergelerin tahmin edilmesi gerekir.
  3. Kart, enflasyonun 2024'teki yüzde 58,5'ten 2025'te yüzde 34,9'a düştüğünü, yani hızlı bir iyileşmeyi söyler. Söylemediği ise düzeydir: yüzde 34,9, aynı yıl Polonya ve Meksika'nın yüzde 3,8'lik enflasyonunun dokuz katından fazladır. Değişim ve düzey birlikte gösterilmediğinde, okur iki farklı ve eksik izlenimden birine varabilir.
  4. tr = d[d.ulke == "TUR"].dropna(); her gösterge g için s = tr[tr.gosterge == g].sort_values("yil"); son, once = s.iloc[-1], s.iloc[-2]; yil = int(son.yil); fark = son.deger - once.deger. Her gösterge için ayrı son dolu değer alınır, çünkü göstergeler farklı yayım takvimlerine sahiptir; ortak bir yıl seçmek ya boş kartlara ya da elde bulunan daha güncel bilginin atılmasına yol açar.
  5. from matplotlib.ticker import MaxNLocator, FuncFormatter; ax.xaxis.set_major_locator(MaxNLocator(integer=True)) yıl eksenini tam sayılarla etiketler; ax.yaxis.set_major_formatter(FuncFormatter(lambda y, _: f"{y:g}".replace(".", ","))) dikey eksendeki sayıları virgülle yazar.
  6. İddia yanıltıcıdır. Panonun her gün güncellenmesi, her göstergenin her gün yenilendiği anlamına gelmez; göstergeler kendi yayım takvimlerine göre açıklanır ve büyüme gibi bazıları aylar sonra gelir. Giannone ve arkadaşlarının gösterdiği gibi, farklı tarihlerde açıklanan veriler en son aylarda düzensiz bir uç oluşturur ve içinde bulunulan dönemin durumu ancak bu verilerden yapılan anlık tahminlerle, bir belirsizlik payıyla kestirilebilir. Pano bugünü değil, her gösterge için en son açıklanan dönemi gösterir ve bunu açıkça yazmalıdır.

İleri okuma

  • Alper Sarıkaya, Michael Correll, Lyn Bartram, Melanie Tory, Danyel Fisher (2019). «What Do We Talk About When We Talk About Dashboards?». IEEE Transactions on Visualization and Computer Graphics 25(1). Panoların türleri ve tasarım uzayı.
  • Domenico Giannone, Lucrezia Reichlin, David Small (2008). «Nowcasting: The Real-Time Informational Content of Macroeconomic Data». Journal of Monetary Economics 55(4). Farklı tarihlerde açıklanan verilerle anlık tahmin.
  • Federal Reserve Bank of St. Louis (2016). «FRED Turns 25». FRED Blog. FRED'in tek telefon hatlı bir ilan tahtasından bugünkü hâline gelişi.
  • Dünya Bankası. World Development Indicators ve arayüz belgeleri. Bu derste kullanılan göstergelerin tanımları ve yöntem notları.

Sonraki derse köprü

Bu kursun panosu, bir ekonominin durumunu enflasyon, işsizlik, büyüme ve cari dengeyle özetledi. Ama bu göstergelerin hiçbiri, üretimin havaya, suya ya da iklime yüklediği bedeli göstermez: bir fabrikanın ürettiği mal milli gelire eklenir, bacasından çıkan duman ise hiçbir kartta görünmez. Sıradaki kurs çevre ve doğal kaynak ekonomisine geçiyor ve ilk dersi temel bir soruyla açılıyor: çevre gerçekten bir ekonomik sorun mu, yoksa ahlaki ya da teknik bir sorun mu? Kıtlığın, fiyatı olmayan kaynakların ve piyasa kararlarının başkalarına yüklediği maliyetlerin bu soruya nasıl bir cevap verdiğini göreceğiz.

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.

Animasyon ve seslendirme notları

Animasyon ve seslendirme notları

Video akışı

  • Açılış: bir muhabirin masasında beş ayrı tarayıcı sekmesi ve bir defter; sayıların tek tek deftere yazılması ve bir sayının yanlış yıla yazılıp kırmızıyla işaretlenmesi.
  • Hikâye: 1991'den bir modem sesi ve eski bir bilgisayar ekranında FRED'in metin menüsü; seri sayısının 300'den 384.000'e çıkan bir sayaçla büyümesi.
  • Kavram: dört gösterge kartının ekrana sırayla gelmesi; son satırda üç hücrenin dolu, birinin boş kaldığı bir tablo ve düzensiz ucun bir çizgiyle belirginleşmesi.
  • Veri ve kanıt: farklı günlerde açıklanan verilerin bir takvim üzerinde birer nokta olarak düşmesi ve her noktada bir tahmin çizgisinin güncellenmesi.
  • Model: veri hattının kutular ve oklarla çizilmesi; yıl ekseninde 2007,5 etiketinin silinip 2007'ye dönüşmesi; enflasyon kartında 23,6 puan düşüşün yanında yüzde 3,8'lik iki karşılaştırma çubuğunun belirmesi.
  • Neden önemli: bir merkez bankası toplantı odasında, bir şirket ofisinde ve bir mutfak masasında aynı panonun farklı sorularla okunması.

Seslendirme, panoyu bir süsleme ya da bir gösteriş aracı olarak değil, okurun sorusuna dürüst bir cevap veren küçük bir veri hattının ürünü olarak anlatır; Türkiye'yi karşılaştırma ülkeleri karşısında küçümsemez ya da yüceltmez, yalnızca sayıların hangi döneme ait olduğunu ve neyi göstermediğini vurgular. FRED, Sarıkaya ve Giannone'ye dair bilgiler özgün metinlerinden aktarılmıştır; ekrandaki Türkiye, Polonya ve Meksika sayıları Dünya Bankası'nın 29 Eylül 2026'da çekilen verisinden gelir.

Kısa kesit

Dikey formatta, otuz saniyelik bir bölüm. Seslendirme: «Enflasyon 23,6 puan düştü.» Ekranda büyük bir yeşil ok. «Ve hâlâ komşularının dokuz katı.» Okun yanında iki küçük çubuk belirir. Kapanış: «Bir kart, bir hikâyenin yarısıdır. Kendi panonu kur.»