Değerleme Rehberi
Kendi İNA (DCF) modelini kurarken kullanabileceğin formül diline, veri tarayıcısına, özel girdilere, hata mesajlarına, paylaşıma ve yaygın kullanım örneklerine dair detaylı dokümantasyon.
Hızlı Başlangıç
Üç adımda ilk değerlemeni oluşturursun. Hiçbir varsayımı tek tek doldurmana gerek yok — şirketin son 3 yılına ait verilerden otomatik dolu başlar, sonra istediğin yerleri kendi görüşlerinle değiştirirsin.
- 1Şirket sayfasında “Değerlemeler” sekmesine girÖrn. KCHOL → Değerlemeler. “Yeni Değerleme”ye tıkla, senaryo adı ver (
Base Case,KCHOL bear, vb.) ve para birimi seç:₺ Nominal— TL nominal₺ Reel (TFRS 29)— enflasyon-ayarlı$ USD— dolar bazlı
- 2Varsayımları gözden geçir16 input 4 grupta sunulur (Nakit akışı sürücüleri, Büyüme, İskonto oranı, Terminal değer, Özsermaye köprüsü, Hisse + zaman). Her satırda solda otomatik değer (üzeri çizilirse override edildi anlamına gelir), sağda override input ve Veri Tarayıcı butonu var.
- 3Kaydet ve sonucu yorumlaSağ panelde fair value, EV, özsermaye değeri, sanity uyarıları, 1D sensitivity grafiği, Ters İNA (DCF) (büyüme çözücü) ve 10 yıllık projeksiyon tablosu otomatik hesaplanır. Senaryo karşılaştırmak için
Klonlaile yeni bir kopya oluşturup farklı varsayımlar deneyebilirsin.
Veri Tarayıcı
Her override input'un yanındaki Veri Tarayıcı butonuna basınca açılan modal, şirketin DB'deki 131 finansal kalemi × 7 görünümünü aratıp seçmeni sağlar.
soia_try— Yıllıklandırılmış ₺ kümülatif (son 12 ay)ceyreklik_try— 3-aylık ₺donemsel_try— YTD ₺ kümülatifsoia_usd— Yıllıklandırılmış USDsoia_try_enf— Yıllıklandırılmış reel ₺ (TFRS 29)
snapshot.<view>.Hasılat
snapshot.<view>."Maddi ve Maddi Olmayan ..."
Space içeren itemKey'ler "..." ile sarılır — parser bunları tek bir kalem ismi olarak görür (aksi halde boşluk operatör başlatır).
Veri tarayıcı seçim yaptığında mevcut formül silinmez — seçtiğin path mevcut formülün sonuna eklenir. Örnek:
Input boş iken kalem seçersen → snapshot.soia_try.Hasılat.
Input'ta snapshot.soia_try."Maddi..." / yazılı iken başka kalem seçersen → snapshot.soia_try."Maddi..." / snapshot.soia_try.Hasılat.
snapshot.soia_try.Hasılat * 1.1
snapshot.soia_try."Gelir Tablosu_KAR VEYA ZARAR KISMI_ESAS FAALİYET KARI (ZARARI)" / snapshot.soia_try.Hasılat
snapshot.soia_try.Kısa Vadeli Borçlanmalar + snapshot.soia_try.Uzun Vadeli Borçlanmalar - snapshot.soia_try.Nakit ve Nakit Benzerleri
Path'te full hierarchical key (Gelir Tablosu_KAR VEYA ZARAR KISMI_Hasılat) yerine sadece leaf adı (Hasılat) yazabilirsin — sistem otomatik bulur.
Bu sayede Field Browser'dan veya hızlı bellek için kısa leaf kullanabilirsin.
Snapshot'ın son periyodu için bir kalem null ise (KAP raporu gecikmesi, derived chain henüz hesaplamadı), resolver otomatik olarak en son non-null periyoda düşer (örn. 2025-Q4 null → 2024-Q3 yıllıklandırılmış). Yatırımcı bu durumda en yakın gerçek veriyi kullanmış olur.
Formül Dili
Override input'unda peggy DSL sözdizimini kullanırsın — Excel formüllerine benzer, daha temiz.
Sayısal sabitler
0.05 # 5% 1.5e6 # 1.5 milyon .25 # 0.25 (önündeki 0 opsiyonel) -0.001 # negatif
Operatörler
+ - * / # 4 işlem ( ... ) # gruplama [ a, b, c ] # vektör (10y projeksiyon için) arr[0] # indeks erişimi
Referanslar
wacc # mevcut input my_assumption # custom input adı snapshot.soia_try.Hasılat # DB veri yolu snapshot.soia_try."Uzun Hierarchical Key" metrics.roe # Plan 2.5 metric
Fonksiyon çağrısı
avg(0.10, 0.12, 0.14) min(growth_y1, 0.20) pow(1 + g, 5) repeat(0.05, 10)
Bir kalem adında boşluk veya tırnak dışı özel karakter varsa o segmenti çift tırnak içine al: snapshot.soia_try."Kısa Vadeli Borçlanmalar". Türkçe karakter (ı, ğ, ç, ş, ü, ö, İ vb.) ve underscore tırnaksız çalışır.
Skaler ⊕ vektör otomatik element-wise çalışır. Örn. 2 * [1, 2, 3] → [2, 4, 6]; pow(1 + g, [1, 2, 3]) → [(1+g)¹, (1+g)², (1+g)³].
Built-in Fonksiyonlar
9 hazır fonksiyon. Tüm sayısal hesaplar arbitrary-precision (decimal.js) — IEEE 754 yuvarlama hatası yok.
| İmza | Örnek | Notlar |
|---|---|---|
| if(cond, then, else) | if(growth_y1, 0.10, 0.05) | cond ≠ 0 ise then, aksi halde else. |
| avg(...) | avg(0.08, 0.10, 0.12) | Aritmetik ortalama. Null değerleri atlar. |
| sum(...) | sum([100, 110, 120]) | Toplam. Null atla. |
| min(...) | min(growth_y1, 0.25) | En küçük değer. |
| max(...) | max(wacc, 0.15) | En büyük değer. |
| abs(x) | abs(-7.5) | Mutlak değer. Vektör broadcast. |
| sqrt(x) | sqrt(volatility) | Karekök. Negatif → hata. |
| pow(taban, üs) | pow(1 + 0.05, 10) | Üs alma. Vektör broadcast. |
| repeat(değer, n) | repeat(0.05, 10) | n elemanlı vektör oluşturur. |
Özel Girdiler (Custom Inputs)
Template'in 16 default input'una ek olarak kendi değişkenlerini tanımla. Senaryo özelinde ayırmak istediğin ara hesapları (örn. ülke risk primi, beta tahmini) burada tutup sonra override formüllerinden referans verebilirsin.
Detail page'de input bloklarının altında Özel Girdiler bölümü var. + Ekle butonuyla yeni girdi tanımla.
my_beta = 1.2 country_premium = 0.08
Sayısal sabit. Scientific notation (1.5e6) destekli.
my_erp = my_beta * 0.1087 my_wacc = 0.05 + my_erp
Diğer Özel Girdilere veya 16 default input'a referans verebilir. Cycle önlemi: kendine veya sıralamada sonraki bir custom'a refer edemez.
base_revenue: snapshot.soia_try.Hasılat
DB'den otomatik çekilir. Override formüllerinde de aynı path'i doğrudan kullanabilirsin — binding sadece bookkeeping kolaylığı.
^[a-zA-Z_][a-zA-Z0-9_]*$ — harfle veya alt çizgi ile başla, sonrasında harf/rakam/alt-çizgi. Türkçe karakter, boşluk veya nokta kullanma (path syntax'ı ile çakışır).
Damodaran CAPM yaklaşımı: my_beta (sabit 1.2) + my_erp (formül: my_beta * 0.1087) tanımla, sonra wacc override'ına 0.05 + my_erp yaz. Bu sayede beta değiştirdiğinde tüm zincir otomatik güncellenir.
Hata Mesajları
Yazdığın formül geçersizse override input'un yanında kırmızı ! ikonu çıkar ve altında Türkçe bir açıklama + geçerli örnek görünür. Geçerli formül için ise yeşil ✓ ikonu. Validation hem syntax hem snapshot kalem adı (catalog-aware) hem de tanımsız referans için çalışır.
| Hatalı yazım | Türkçe mesaj |
|---|---|
| 1, 2 | Beklenmeyen virgül. Fonksiyon argümanlarını paranteze al, örn. avg(a, b, c). Aritmetik ifadede virgül kullanılmaz; ondalık için nokta kullan: 1.5. |
| (1 + 2 | Formül yarım kalmış. Eksik bir parça veya kapanmamış parantez var. Örn. tam: revenue * 0.15, wacc + 0.02. |
| 1 + 2) | Beklenmeyen kapanış parantezi. Açılış paranteziyle eşleşmiyor — örn. (revenue * 0.15) veya min(a, b). |
| + 2 | İfade + ile başlayamaz veya iki operatör arka arkaya gelemez. Örn. 1 + 2 (geçerli), + 2 (geçersiz). |
| a 2 | Beklenmeyen sayı: 2. Operatör eksik olabilir, örn. a * 2 veya a + 2 (yan yana a 2 değil). |
| my_beta2 * 0.05 | 'my_beta2' tanımsız. Önce 'Özel Girdiler' bölümünde tanımla veya bilinen bir input adı kullan. |
| snapshot.soia_try.Hasıla | Bilinmeyen kalem: 'Hasıla'. Yazımı kontrol et veya Veri Tarayıcı butonuna basıp doğru kalemi seç. |
| snapshot.bogus_view.Hasılat | Bilinmeyen view: 'bogus_view'. Geçerli view'lar: donemsel_try, ceyreklik_try, soia_try, ceyreklik_try_enf, soia_try_enf, ceyreklik_usd, soia_usd. |
| (boş) | Formül boş. Örnek: 0.05 veya revenue * 1.1. |
Override formula geçerli ama sonuç null dönerse (örn. snapshot path doğru ama o periyot için kalem boş ve fallback de bulamadı):
Override "capex_ratio" formülü 'snapshot.soia_try.Hasıla' null değer döndürdü. Olası sebep: snapshot path'inde kalem yok veya o dönem için veri yok. Veri Tarayıcı modal'ından seçmek kalemi tam adıyla girer; veya sayısal sabit kullan.
Çözüm: Veri Tarayıcı modal'ından kalemi seç veya sayısal sabit gir.
- Maks. formül uzunluğu: 2,048 karakter
- Maks. iç içe: 20 seviye
- Aşıldığında: "daha kısa yaz veya
custom inputkullan"
Yaygın Senaryolar
Gerçek kullanım örnekleri. Bunları kopyala-yapıştır olarak override input'una giriş yapabilirsin.
- Hasılat baz değerini güncelleSenaryo 1
Son yıllıklandırılmış hasılat değerine %5 büyüme uygula
snapshot.soia_try.Hasılat * 1.05
Veri tarayıcıdan Hasılat'ı seçtikten sonra çarp. Override otomatik DB değerini ezerek 1.05 ile çarpılmış değeri kullanır.
- Capex/sales oranı (doğru semantik)Senaryo 2
Cashflow capex / yıllıklandırılmış hasılat
snapshot.soia_try."Maddi ve Maddi Olmayan Duran Varlıkların Alımından Kaynaklanan Nakit Çıkışları" / snapshot.soia_try.Hasılat
Field Browser'dan doğru capex kalemini seç (Nakit Akış Tablosu altında). Hasılat leaf adıyla yeterli.
- 5 yıl ortalama operasyonel marjSenaryo 3
Son 5 yıllık EBIT/Hasılat ortalamasını al
avg(0.08, 0.09, 0.11, 0.12, 0.10)
Excel'inden manuel kopyalayabileceğin değerleri tek tek listele. Vektör için min/max ile kombinleyerek kapsayıcı sınırlar ekleyebilirsin.
- WACC formülü (CAPM)Senaryo 4
Damodaran formülü: rfr + β × erp
0.05 + 1.2 * 0.1087
Türkiye 10y RFR (~%5) + Beta (1.2) × Damodaran TR ERP (%10.87) = %18.04. Beta'yı kendi tahminine göre değiştir.
- Net borç (3 kalemden)Senaryo 5
Kısa+uzun vadeli borç eksi nakit
snapshot.soia_try.Kısa Vadeli Borçlanmalar + snapshot.soia_try.Uzun Vadeli Borçlanmalar - snapshot.soia_try.Nakit ve Nakit Benzerleri
Bilanço kalemlerini doğrudan birleştirerek net debt hesabını override yap.
- Makul üst sınırla büyümeSenaryo 6
Tarihsel büyüme >%30 ise %30'a sabitle
min(0.30, snapshot.soia_try.Hasılat / snapshot.donemsel_try.Hasılat - 1)
min() ile cap. Eğer büyüme %20 çıkarsa %20 kalır; %35 çıkarsa %30 ile sınırlanır.
- Koşullu vergi oranıSenaryo 7
Eğer faaliyet karı pozitif ise %22, değilse 0
if(snapshot.soia_try."ESAS FAALİYET KARI (ZARARI)", 0.22, 0)
if() Excel-style truthy: argüman 0 değilse then, 0 ise else. Negatif için else arg'a alternatif yazabilirsin.
- CAPM via Özel GirdilerSenaryo 8
Beta + ERP ayrı tutulup WACC tek formülde
// Özel Girdiler: // my_beta = 1.2 (sabit) // my_erp = my_beta * 0.1087 (formül) // wacc override: 0.05 + my_erp
Beta değiştirdiğinde tüm zincir otomatik güncel. Senaryo karşılaştırırken çok faydalı (bear case: my_beta=1.5, base: 1.2, bull: 0.9).
Paylaşım & Klonlama
Detail page'de action bar'da 3 mekanizma:
Paylaş butonu → email + yetki seçimi (Sadece görüntüle veya Görüntüle + klonla). Karşı tarafın platforma kayıtlı olması gerekiyor. Anlık iptal edilebilir.
Paylaş → Oluştur → 256-bit token-link. Linke sahip herkes okuma-amaçlı görür (/v/<token>). Search engine indexlemez (noindex). İstediğin an iptal et — anında 404 olur.
Klonla butonu → yeni isim → bağımsız kopya. Senaryo varyantı (KCHOL bear, KCHOL base, KCHOL bull) yaratmak için ideal.
Excel / Sheets'ten İçe Aktar
Mevcut Excel modelinden 2 sütun (etiket + değer) kopyalayıp paste ile otomatik input eşleştirme yap. /valuations/new sayfasında Excel'den İçe Aktar CTA.
Kabul edilen formatlar
Hasılat 1.234.567 EBIT marjı 12% WACC 18% Vergi oranı 22% Net borç 500.000.000
Hasılat: 1234567 WACC: 18% Growth Y1: 0.10
Hem TR (1.234.567,89) hem EN (1,234,567.89) locale formatları tanınır. Para sembolleri (₺ $ € £) ve currency prefix/suffix (USD/TRY/TL) otomatik strip edilir. Yüzde işareti (%18,5 veya 18.5%) → 0.185 olarak parse edilir.
Türkçe/İngilizce keyword'ler 16 template input'a otomatik eşleşir (Hasılat → revenue, EBIT marjı → operating_margin, WACC → wacc, Vergi → tax_rate, Capex → capex_ratio, Net borç → net_debt, vb.). Live preview tablosunda eşleşmeyen satırlar ✗ ile işaretlenir (manuel olarak override gir).
Mobile Kullanım
Detail page'de düzenleme grid'i mobile'de daraltılmış. Read-only özellikler görünür: sonuç kartı, uyarılar, sensitivity chart, 10-yıl projeksiyon. Düzenleme + Ters İNA (DCF) + Özel Girdiler için masaüstü kullanmalısın.
- List page (
/valuations), new page, public viewer ve yardım mobile'de tam çalışır. - Detail page'de banner: "Düzenleme masaüstünde".
- Projeksiyon tablosu yatay scroll ile gezilir.
Sınırlar & Best Practices
- •Decimal precision: Tüm hesaplar arbitrary-precision — büyük sayılarda IEEE 754 hatası yok. Ondalık nokta kullan, virgül değil:
1.5✓,1,5✗ (formül içinde; paste import locale-aware). - •Null propagation: Aritmetikte herhangi bir argüman null ise sonuç null olur.
avg/sum/min/maxnull'ları atlar (Excel-style). - •Override öncelik: Override input pre-override scope'a bakar. Yani
wacc'ı override ederkenwacc'ya referans verirsen orijinal default değer kullanılır (kendi-referans cycle değil). - •Sanity warnings: 16 kural × 5 kategori sonuca eklenen otomatik uyarılar.
terminal_growth ≥ waccgibi matematiksel geçersiz durumlar error seviyesinde işaretlenir. - •Methodology uyarısı: Holding (KCHOL, SAHOL...) veya banka/sigorta (AKBNK, AGESA...) seçtiğinde sayfa başında banner görünür. İNA (DCF) yine çalışır ama SOTP / DDM template'leri v1.1+ ile gelecek.
- •Compute-on-save: Değişiklik kaydet → server-side hesaplama otomatik. Yeniden hesaplamak için manuel
Yeniden hesaplabutonu (snapshot güncellenirse). - •Snapshot fallback: Path doğru ama son periyot null ise resolver otomatik olarak en son non-null periyoda düşer (KAP rapor gecikmesi için pratik). Explicit period override yok (v1.1+).
Daha Fazla
- Damodaran (NYU Stern) — İNA (DCF) metodolojisi, ülke risk primleri, ERP, beta tabloları.
- Değerlemelerim — listeye dön.