KAP bildirimlerini yorumdan arındırmak
Borsa İstanbul'da her gün “yeni iş ilişkisi” bildirimleri düşer. KAP·RADAR her birini şirketin kendi satışına (cirosuna) göre ölçen bir veri hattı olarak başladı: tutarı metinden çıkarır, her sayıyı kaynak cümlesine bağlar, emin olmadığında susar. Bugün aynı hat bir şirketi üç soruyla okuyor. Aşağıda nasıl kurulduğu, neyi doğru ölçtüğü, nerede yanıldığı ve bunun nasıl yakalandığı var.
- Arşiv
- 1.335 iş bildirimi · 153 şirket · 26 ay
- Büyüklüğü ölçülen
- 989 bildirim
- Güncelleme
- Her iş günü 19:30
Bugün ne yapıyor
Şirket sayfası bir şirketi üç soruyla okuyor: büyüyor mu, verimli mi, önünde ne var. Cevapları program finansal raporlardan ve KAP bildirimlerinden sabit şablonlarla kuruyor; her rakamın altında geldiği rapor satırı ve KAP bildirimi açılıyor. Her yeni iş bildiriminin de kendi kanıt sayfası var: tutarın bildirimdeki alıntısı, kur ve hesap tek sayfada.
- Şirket sayfası: ASELS
- Kanıt sayfası: ASELS'in bir iş bildirimi
- Her akşam gelen yeni işler: Akış
- Her rakamın nasıl hesaplandığı ve denetlendiği: Yöntem
Aynı haber, iki şirkette bambaşka anlama geliyor
500 milyon TL'lik bir sözleşme, yıllık satışı 200 milyar TL olan bir holding için gürültü; satışı 2 milyar TL olan bir taahhüt şirketi için yılın olayıdır. KAP metinleri bu bağlamı vermez: tutar bazen açıklanır bazen açıklanmaz, karşı taraf bazen “ticari sır”dır, ihale ile sözleşme aynı işi iki kez duyurur. Bu farkı elle çıkarmak her bildirim için dakikalar alır; hat bunu her iş günü bütün bildirimler için yapıyor.
Dil modeli okur, kod ölçer, kapı arada durur
Serbest metinden tutarı bir dil modeli çıkarıyor; hattın tamamı bu yüzden deterministik değil. Önemli olan modelin nereye karışmadığı: aritmetik, kur çevrimi, satış ve büyüklük düz kod.
- Toplama. KAP bildirimi ham hâliyle arşivleniyor. Karşı taraf, tarih ve güncelleme bayrağı KAP'ın yapılandırılmış alanlarından okunuyor; serbest metinden yalnız tutar alınıyor.
- Çıkarım. Model her tutarı, para birimini ve kalem tipini birebir alıntısıyla veriyor. Alıntı ham metinde yoksa çıkarım reddediliyor: model bir sayıyı “hatırlayamaz”.
- Kapı. 13 deterministik kural çıkarımı metne, aritmetiğe ve anlamına karşı sınıyor. Geçemeyen çıkarım daha güçlü bir modele gidiyor; o da geçemezse bildirim elle incelemeye düşüyor ve kararı gerekçesiyle kayda geçiyor.
- Payda. Bildirim anında kamuya açık son raporlardan son 12 aylık satış, enflasyon düzeltmeli (TMS 29). Sonradan yayınlanan rapor geçmişe yazılmıyor. Tutar, bildirim gününün TCMB kuruyla TL'ye çevriliyor.
- Bağ. Aynı işin ihale ve sözleşme aşamasındaki iki duyurusu birbirine bağlanıyor, bir kez sayılıyor; aynı işin sonradan duyurulan yeni toplamında yalnız artış sayılıyor.
Tutar ya da satış yoksa büyüklük de yok: arşivin %26'sı bu durumda ve sayfa bunu açıkça söylüyor. Tahmini tutar üretmek, olmayan bir kesinlik satmak olurdu.
Enflasyon muhasebesi oranı sessizce %7–25 büyütüyordu
Oranın paydası şirketin son 12 aylık satışı ve tek bir ara dönem raporundan kuruluyor: geçen yılın satışı, artı bu yılın ilk aylarının satışı, eksi geçen yılın aynı aylarının satışı. Yüksek enflasyon muhasebesinden (TMS 29) beri her rapor geçen yılın rakamlarını bugünün satın alma gücüyle yeniden yazıyor. DCTTR'nin 2024 satışı ilk raporunda 2,51, bir yıl sonraki raporda 3,28 milyar TL. Formülün iki terimi bugünün TL'siyle, biri geçen yılın TL'siyle geliyordu. Payda küçük, oran %7–25 büyük çıkıyordu; arşivdeki rapor çiftlerinin yaklaşık %91'i yeniden ifade edilmişti.
Düzeltme dış veri kullanmıyor. Eski terim, şirketin kendi raporlarından okunan katsayıyla bugünün birimine taşınıyor: aynı dönemin ilk yayını ile yeniden ifadesinin oranı. Bildirim anında yayınlanmamış hiçbir rapor kullanılmıyor. TMS 29'a geçiş yılında bu katsayı enflasyonu değil muhasebe geçişini ölçtüğü için o dönemde resmî TÜFE kullanılıyor. İki düzeltme önce 51, sonra 13 bildirimin kademesini değiştirdi, hiçbir bildirimin yayın kararını değiştirmedi. Aynı yeniden ifade, şirket sayfasındaki satış büyümesini dış veri olmadan reel ölçmeyi de sağlıyor.
İşin büyüklüğü sınamada 50 bildirimin 49'unda doğru okundu
Bildirimden tutarı ve karşı tarafı bir dil modeli okuyor. Ölçüm betiği her çıkarımı, doğru cevapları önceden kurulmuş 50 bildirimlik bir sınama kümesiyle karşılaştırıyor. Hangi modelin hangi dönemde neyi doğru bulduğu ve kümenin nasıl kurulduğu Yöntem'de. Ölçüm betiği açık depoda; saklı çıkarımlar üzerinden, dil modeli çağırmadan yeniden koşuyor.
Kapı sayının metinde geçtiğini denetliyordu, neyin sayısı olduğunu değil
Eylül 2026'da bir okur ARDYZ kartını sordu: iş “cirosunun %5,5'i” görünüyordu. KAP metnindeki 430 milyon TL, bir belediye ihalesinin muhammen bedeliydi: idarenin tahmini, gelir paylaşımlı 10 yıllık bir kiralama. Şirketin geliri değildi ve alıntı kapısı onu geçirmişti, çünkü sayı metinde gerçekten geçiyordu.
Soru tek bir kartın değil, hata sınıfının ne kadar yaygın olduğuydu. Yayındaki 1.272 bildirimin tamamı kural tabanlı bir tarayıcıdan geçti, işaretlenen 453 bildirimin yaklaşık 150'i elle okundu. Sonuç: 10 kesin yanlış büyüklük, büyüklüğü ölçülen bildirimlerin %1'i. Ama hepsi sitenin öne çıkardığı “önemli” ve “mega” kademedeydi: bu hata tipi tutarı hep büyütüyor.
Kapıya dört kural eklendi (anlam denetimi: tedarikçi, muhammen ve yatırım bedeli, artış ile yeni toplamın birlikte sayılması; özette metinde olmayan yıl). 23 bildirim için elle karar verildi, gerekçeleri sitede görünüyor. Denetim artık her akşamki koşunun sonunda yeniden çalışıyor; karar bekleyen bildirim varsa koşu kırmızıya dönüyor. Denetim raporu açık depoda.
Çok iş duyuranlar gerçekten büyüdü mü?
Çok duyuranlar daha çok büyüdü; ama fark tek döneme dayanıyor, güçlü bir kural değil.
Sitenin ölçtüğü şey bir söz: duyurulan iş. Burada gerçekleşenle yan yana duruyor. 2025'te duyurulan işlerin toplamını şirketin 2025 satışına böldük ve şirketleri bu orana göre üç eşit gruba ayırdık. Sonra her şirketin 2026 ilk yarı satış büyümesine, enflasyondan arındırılmış olarak baktık. Sonuç değişirse bu cümleler de kendiliğinden değişiyor.
- Az duyuran
- +%2,5 ortanca · 22 şirket
- Orta
- −%1,7 ortanca · 22 şirket
- Çok duyuran
- +%20,8 ortanca · 22 şirket
Ayrıntı
- 66 şirkette sıra korelasyonu 0,22 (t = 1,82); %5 düzeyinde anlamlı değil.
- Büyüme şirketin kendi raporundaki “geçen yılın aynı dönemi” sütunundan: TMS 29 gereği iki dönem aynı satın alma gücüyle raporlanıyor, ayrıca TÜFE gerekmiyor. Raporunu yeniden ifade etmeyen 7 şirketin büyümesi nominal olduğu için dışarıda.
- Tek dönem; sözleşmeler çok yıllık, satışa yansıması gecikebilir. Bu bir neden-sonuç iddiası değil.
Eylül 2024'e uzanan 690 bildirimin çıkarımı 0,49 dolar
Dil modeli katmanlı çalışıyor: işlerin çoğu küçük modelde bitiyor, kapıdan geçemeyenler daha güçlü modele yükseliyor. Geçmişi o dönemin modeliyle (Gemini 3.1 Flash-Lite) okuyan geri doldurmanın faturası 0,487 dolar. 10 Ekim 2026'dan beri yeni bildirimleri Claude Haiku 5.5 okuyor. Kur (TCMB) ve finansal tablolar (KAP) herkese açık kaynaklardan.
İddia dar tutuldu
Ürünün iddiası dar: bir işin şirketin kendi ölçeğine göre büyüklüğü ve şirketin raporlarının söyledikleri. Bilerek yapılmayanlar:
- Arşivi 2024 Eylül'ünden geriye uzatmak. Yaklaşık 4.400 KAP isteği, KAP'ın izin verdiği hızla 17 saat kadar süren bir çekim. Bugünkü bir bildirimi okumaya bir şey eklemiyor.
- Tahmin. Site alım-satım sinyali ya da fiyat tahmini üretmez. Bir işin şirket için büyüklüğü hissenin ne yapacağını söylemez.
Nasıl yapıldı
Kodu Claude Code ile yazıyorum; neyin yapılacağına karar vermek ve sonucun doğru olduğunu kanıtlamak bana düşüyor. Her denetim açık depoda.
Kapının katı kalması, enflasyon düzeltmesinin hangi durumda resmî TÜFE'ye geçeceği, sitenin tahmin üretmemesi bu kararlardan birkaçı. Her büyük değişiklik önce yazılı bir tasarım ve plan, sonra testli küçük adımlar, en sonda tarayıcıda doğrulama olarak ilerliyor; tasarım belgeleri ve planlar da depoda.
Projeyi 34 saniyede anlatan kısa film: KAP·RADAR filmi.