Power BI ile What-If (Senaryo) Analizi: Değişen Dünyada Değişmeyen Yaklaşım

Koşullar ya da öngörüler değişirse sonuç nasıl etkilenir? Senaryo analizi ya da orijinal adıyla What-If analizi bu sorunun cevabını arayanlar için ideal bir bakış açısı sunuyor. Örneğin belirli bir dönemde  %3 ile %10 arasında parite değişimi öngörünüz mü var ve her bir % değişimde oluşacak sonucu mu gözlemlemek istiyorsunuz? Ya da yeni pazarlama kampanyasının tahmini farklı getiri sonuçlarına ilişkin strateji mi oluşturuyorsunuz? Senaryo analizine biraz daha yakından bakmanız faydalı olabilir.

Power BI, iş zekası dünyasında senaryo analizleri yapmak için oldukça güçlü bir araçtır. “What-If” analizi olarak da bilinen bu özellik, belirli parametreler üzerinde yapılan değişikliklerin çıktılar üzerindeki etkisini görselleştirerek daha iyi kararlar vermeye yardımcı olur.

Senaryo Analizinin Kullanım Alanları

Satış, pazarlama, üretim, finans ve diğer birçok iş sürecinde farklı olasılıkların simülasyonu için oldukça faydalı bir yöntemdir ve karar verenlere daha somut bir bakış açısı oluşturmak için idealdir. Birkaç örneğe göz atalım:

  • Bir ürünün fiyatındaki yüzdelik bir düşüşün, toplam gelir ve kar marjı üzerindeki etkisi, senaryo analizi ile kolayca incelenebilir;
  • Pazarlama analizinde, farklı kampanyaların satışlara olan etkisi tahmin edilebilir.
  • Satın almada, kur ya da parite öngörüleri üzerinden risk değerlendirme senaryoları oluşturulabilir.
  • Üretimde kapasite, ürün miktarı ve verimlilik arasındaki ilişki modellenerek geleceğe yönelik projeksiyonlar oluşturulabilir.
  • Bütçe yönetimi, risk analizi ve proje yönetimi gibi alanlarda da senaryo analizi yaygın olarak kullanılır.
  • Ya da gelişmiş analizlerde, farklı disiplinlerden parametreler kullanılarak  daha detaylı tahminler yapılabilir.

Bu yazıda, Power BI’da basit bir örneği üzerinde durarak ve hayali bir şirketin satış verilerini kullanarak, farklı fiyatlandırma senaryolarının karlılığa olan etkisini inceliyoruz.

Senaryomuzda Contoso Power BI örnek dosyasında, belirli firmaların yıllara göre satışlarına odaklanıyoruz. Örneği tek parametre ile basit tutarak bazı firmaların satış gelirlerinde değişim olursa toplam kardaki değişimi gözlemleyelim.

Senaryo öncesinde tablonun görünümü:

İlk olarak Satış Tutarı, Satılan Malın Maliyeti ve Brüt Kar ölçüleri oluşturalım. 

Satışlar = 
VAR Satislar =
    SUMX(
        'Product',
        'Product'[UnitPrice] * CALCULATE(SUM(Sales[SalesQuantity]))
    )
RETURN Satislar

Satılan Malın Maliyetini şöyle tanımlayalım:

Satılan Malın Maliyeti = 
VAR SMM =    
    SUMX(
        'Product',
        'Product'[UnitCost] * CALCULATE(SUM(Sales[SalesQuantity]))
    )
RETURN SMM

Son olarak da kar:

Kar = [Satışlar] - [Satılan Malın Maliyeti]

Tablo oluşturarak senaryomuzda ne istediğimize yakından bakalım

Senaryo

Senaryoda rastgele birkaç firma seçiyoruz ve seçilen firmaların satış gelirlerinde %3 ile %8 arasında bir gerileme olursa, seçtiğimiz değere göre, yeni kar ne olur sorusuna cevap arıyoruz. Bu firmalar Adventure Works, Contoso, Fabrikam, Prosware olsun.

Formülleri bu bilgiye göre revize etmeden önce%3 ve %8 değişime ilişkin parametre oluşturmaya başlayalım.

Örneğimizde %3 ve %8 değişimi gözlemek istediğimizi belirtmiştik. Oluşturduğumuz parametrede, sayısal aralıkta minimum 0,03 maximum 0,08 değerleri arasında 0,01 artarak değişebilmesini istedik. Karşılığında Power BI, veriler bölümünde belirtilen aralıktaki değerleri içeren bir tablo, SELECTEDVALUE() formülü içeren aynı adlı bir ölçü ve aralıktaki bilgilerin yer aldığı bir dilimleyici oluşturdu.

Power BI tablo oluşturmak için GENERATESERIES(0.03, 0.08, 0.01) formülünü kullandı ve bu tablodan seçilecek değeri döndüren bir ölçü oluşturdu. Aralığı veya artışı (increment) değiştirmek isterseniz tablo formülünü güncellemeniz yeterli. Ölçüye biraz yakından bakalım.

Satışlar Yüzde Negatif Değişim Değeri = 
SELECTEDVALUE('Satışlar Yüzde Negatif Değişim'[Satışlar Yüzde Negatif Değişim])

SELECTEDVALUE() ile otomatik olarak oluşan bu ölçü, Satışlar Yüzde Negatif Değişim dilimleyicisinde seçtiğimiz değeri getirir. Örneğin dilimleyicide %4 seçtiğimizde bize %4’ü değer olarak getirir. Senaryo analizinin devamı işte bu bilgiye dayanarak ilerleyecek.. Öncesinde son duruma bir göz atalım:

Dilimleyicide bilgi değiştikçe sonuçları güncelleyen yeni ölçüyü tanımlamadan önce, kullanılan fonksiyonlara aşina değilseniz, öncesinde aşağıdaki yazıları okumanızı tavsiye ediyoruz.

DAX’ta KEEPFILTERS() Fonksiyonu

DAX’ta Değişkenler (VAR) ve Sık Görülen Hataların Nedenleri

Yeni ölçümüz:

Senaryo Sonucu Revize Kar = 

VAR _DegisimYuzde = 
    'Satışlar Yüzde Negatif Değişim'[Satışlar Yüzde Negatif Değişim Değeri] * (-1)
VAR _Maliyet = [Satılan Malın Maliyeti]
VAR _Satislar = [Satışlar]
VAR _DegisecekMarkalarSatisTutar = 
    CALCULATE(
        [Satışlar],
        KEEPFILTERS('Product'[BrandName] IN {"Adventure Works", "Contoso", "Fabrikam", "Prosware"})
    )
VAR _SatisTutarindakiDegisim = _DegisimYuzde * _DegisecekMarkalarSatisTutar
VAR _YeniKar = _Satislar + _SatisTutarindakiDegisim - _Maliyet

RETURN _YeniKar

Dilimleyiciden istediğimiz değeri seçebilir ve değişimi gözlemleyebiliriz.  

Bugün oldukça geniş bir kullanım alanına sahip olan çok önemli bir özelliğe, Power BI’da senaryo analizine yer verdik. İş hayatında her alanda değişkenler oldukça fazla. Ve değişkenler arası ilişkiler kombine bir şekilde düşünüldüğünde, senaryo analizinin bu denli geniş bir kullanımı olması oldukça doğal. Çünkü bu etkileşimi iyi anlamak, var olan durumu doğru değerlendirmek ve gelecekte neler olabileceğine dair isabetli olasılıklar hesaplayabilmek için yüksek öneme sahip. Senaryo analizi yapmak, bu ihtiyacı karşılamak için ideal bir çözüm sunuyor. Farklı senaryoları doğru modelleyerek geleceğe ilişkin öngörüler oluşturmak ve olası riskleri doğru değerlendirmek, işletmelerin rekabet avantajı elde etmesi ve hatta bazı durumlarda hayatta kalması için çok kritik ip uçları verir. Bir sonraki yazıda görüşmek üzere..