R ile bir talep eğrisi kullanarak fiyatları analiz etmek
R kullanarak bir talep eğrisi oluşturalım ve analiz edelim. Bir veri kümesini simüle etmek için, etrafına saçılmış gürültü eklenmiş bir üstel azalma türü eğri oluşturdum. Buradaki fikir, her veri noktasının bir araba bayisi için bir haftalık satışları temsil etmesidir; bayi, satışları artırma girişimi olarak aynı tip araba için farklı kampanyalar sunmakta ve farklı fiyat seviyelerini denemektedir.
# Load necessary library
library(tidyverse)
# Define parameters for the exponential decay
a <- 100 # Initial value
b <- 0.5 # Decay rate
# Define a realistic price range
price <- seq(10000, 40000, length.out = 200) # Price from $10,000 to $40,000
# Calculate the exponential decay
y <- a * exp(-b * (price / 10000)) # Adjust decay rate to match price scaling
# Add mixed noise (additive + slight proportional)
set.seed(42) # For reproducibility
additive_noise <- rnorm(length(y), mean = 0, sd = 1) # Constant additive noise
proportional_noise <- rnorm(length(y), mean = 0, sd = 0.05 * y) # Small proportional noise
y_noisy <- y + additive_noise + proportional_noise
# Ensure no negative values (optional, as sales can't be negative)
y_noisy[y_noisy < 0] <- 0.01
# Combine price and noisy y into a data frame
demand_curve_data <- data.frame(
price = price,
quantity_sold = y_noisy
)
# Clean and prepare the data
demand_curve_data <- demand_curve_data %>%
mutate(quantity_sold = round(quantity_sold, 0)) %>%
filter(quantity_sold != 0)
# Plot the noisy exponential decay
ggplot(demand_curve_data, aes(x = price, y = quantity_sold)) +
geom_point(color = '#203147', alpha = 0.6) +
geom_line(
aes(y = a * exp(-b * (price / 10000))),
color = '#01ef63',
size = 1.2,
linetype = "dashed"
) +
labs(
title = "Cars Sold",
subtitle = "Demand Curve (Cars Sold)",
x = "Price ($)",
y = "Quantity Sold"
) +
scale_x_continuous(labels = scales::dollar_format()) # Format x-axis as dollars
Gürültülü talep eğrisi. Görsel: Yazar
Burada, fiyat ile satılan miktar arasında bir ilişkiyi grafiğe döktüm ve doğal varyasyonu temsil etmek için dağılım grafiği noktalarını kullandım; bunun birçok farklı nedeni olabilir.
Bu grafiği okurken, fiyat arttıkça satışların azaldığını ve bu ilişkinin bazı fiyat aralıklarında diğerlerine göre daha duyarlı olduğunu görüyoruz. Ancak verilerle ne yaptığınıza bağlı olarak, bu genel içgörü pratik bir iş kararını bilgilendirmek için yeterli olmayabilir. Deneyimlerime göre yöneticiler, daha acil bir iş sorusuna somut bir yanıt sağlayan normatif bir içgörü görmek ister. Bu sorulardan biri şudur: Genel geliri gerçekte maksimize eden araba fiyatı nedir?
Grafiğe bakarak tahmin yürütmeye başlayabiliriz.
- Alt uçta, yeşil çizgiyi izlediğimizde, fiyatın x değeri 10.000 $ iken satılan miktarın 60 olduğunu görüyoruz. Bu, toplam 600.000 $ gelire karşılık gelir.
- Üst uçta, x değerleri 40.000 $ iken yeşil çizginin yaklaşık 10’a geldiğini görüyoruz; bu da 400.000 $ gelire eşittir.
- Tam ortada, fiyat 25.000 $ iken yeşil çizginin 30’a geldiğini görüyoruz. Bu 750.000 $ eder.
Şimdi geliri maksimize eden fiyatın ortalarda bir yerde olduğu hissine kapılıyor olabilirsiniz. Kavramsal olarak bu mantıklıdır: Çok düşük fiyatların yüksek satış hacmi ancak nispeten küçük gelir sağlamasını, çok yüksek fiyatların ise çok daha az satış ve yine nispeten küçük gelir getirmesini bekleriz. Ancak ortalarda bir yerde geliri maksimize eden optimal bir fiyat olmalı.
Artık grafiği göz kararı okumak yerine, genel geliri maksimize etmenin daha iyi, daha verimli ve sağlam bir yolunu öğrenelim. Basit bir optimizasyon problemini çözerek optimal fiyatı bulabiliriz. Önce doğrusal bir model oluşturur, sonra bu modeli bir parabol haline getirir ve en yüksek noktayı buluruz.
Buradaki ilk adımımız ilişkiyi doğrusal hale getirmektir. Tüm bunları bir üstel azalma fonksiyonuyla kurduğum için, satılan miktarın logaritmasını almanın doğrusal hale getirme için iyi sonuç vereceğini biliyorum. Basitlik adına, herhangi bir heteroskedastisiteyi göz ardı edelim.
# Create a linearized version of the data
demand_curve_data$log_quantity_sold <- log(demand_curve_data$quantity_sold)
# Plot the linearized relationship
ggplot(demand_curve_data, aes(x = price, y = log_quantity_sold)) +
geom_point(color = '#203147', alpha = 0.6) +
geom_smooth(method = "lm", color = '#01ef63', se = FALSE) +
labs(
title = "Cars Sold",
subtitle = "Demand Curve (Log Quantity Sold)",
x = "Price ($)",
y = "Log of Quantity Sold"
) +
scale_x_continuous(labels = scales::dollar_format()) # Format x-axis as dollars

Dönüştürülmüş talep eğrisi. Görsel: Yazar
Şimdi, revenue adlı, price ile log_quantity_sold çarpımı olarak tanımlanan yeni bir değişken oluşturabiliriz. Not olarak, model katsayılarıyla ilişkili değerlere erişmek istediğimiz için lm() fonksiyonunu kullanarak bir doğrusal model nesnesi oluşturuyoruz.
Bir sonraki adımda doğrusal model denklemini formülümüze yerleştiriyoruz. Eğer log dönüşümü olmasaydı:
-
Bu,
revenue = price * quantity_solddenkleminin artıkrevenue = price * (b0 + b1 * price)şeklinde yazılabileceği anlamına gelirdi. -
Sonra terimleri dağıtırdık. x(1-x) ifadesini x - x2 yapmak için terimleri dağıttığımız gibi, denklemi
revenue = b0 * Price + b1 * price2olarak yeniden yazardık.
Artık revenue’nun, price’ın karesinin yer aldığı bir denklemle tanımlandığına dikkat edin. Asıl kilit nokta bu; çünkü price’ı kare terimiyle grafiğe dökerek bir maksimuma ulaşan fonksiyon oluşturmuş olduk.
Ancak log dönüşümümüz olduğundan, log-doğrusal modelin üstel geri dönüşümünü yapmamız gerekir.
-
Bu,
revenue = price * log_quantity_solddenkleminin artıkrevenue = price * eb0 + b1 * priceolarak yazılacağı anlamına gelir. -
İstersek bu denklemi yeni bir forma da ayırabiliriz:
revenue=price * eb0 * eb1⋅price. Ancak bu özel denklem, üstel fonksiyon standart cebirsel terimler gibi ayrılamadığından veya dağıtılamadığından, doğrusal veya polinom bir denklemle aynı şekilde dağılmaz.
Her neyse, devam edelim:
# Fit a linear model to the log-transformed quantity sold
model <- lm(log_quantity_sold ~ price, data = demand_curve_data)
# Create a revenue model based on the linear model coefficients
revenue_model_data <- demand_curve_data %>%
mutate(
revenue_model = price * exp(coef(model)[1] + coef(model)[2] * price) # Modeled revenue
)
# Plot the revenue model
ggplot(revenue_model_data, aes(x = price, y = revenue_model)) +
geom_point(color = '#203147', alpha = 0.6) + # Actual revenue points
geom_line(color = '#01ef63', size = 1.2) + # Revenue model line
labs(
title = "Car Sales",
subtitle = "Revenue Model",
x = "Price ($)",
y = "Revenue ($)"
) +
scale_y_continuous(labels = scales::dollar_format()) + # Format y-axis as dollars
theme_minimal() + # Apply a minimal theme for aesthetics
theme(
text = element_text(family = "Arial", size = 12),
plot.title = element_text(face = "bold", size = 16),
plot.subtitle = element_text(size = 14)
)

Talep eğrisinden oluşturulan gelir modeli. Görsel: Yazar.
İlginçtir ki, özgün model log_quantity_sold kullansa da, oluşturduğumuz grafik tamamen price ve revenue’nun orijinal ölçeklerindedir. Log dönüşümü yalnızca alttaki modeli etkiler ve e içeren geri dönüşümümüz grafiği orijinal ölçeğe geri getirir; böylece yorumlaması yine kolaydır.
Türev sıfıra eşit olduğunda yeri bulmak
Şimdi son kilit noktamız şu: Parabolün tepesindeki, yani türevin sıfıra eşit olduğu yer, geliri maksimize eden teorik fiyat olacaktır.
3x² + 2x gibi bir denklemin türevini, üssü çarparak 6x + 2 elde ettiğimizi hatırlayabiliriz. Aynı mantık burada da geçerlidir; ancak tekrar hatırlayın, bu örnekte gelir fonksiyonunu oluşturmadan önce loglanmış değerleri geri dönüştürmemiz gerekir. Gelir maksimumunu bulmadan önce orijinal ölçeğe geri çevirerek, dönüştürülmüş bir metrik yerine gerçek geliri maksimize eden fiyatı bulduğumuzu biliriz. Dolayısıyla türevini almamız gereken doğru gelir fonksiyonu: revenue = price * e(b0 + b1 * price).
Hadi çalışalım. Burada doğrusal model katsayılarını alıyorum. Ardından bir gelir fonksiyonu tanımlıyorum. Son olarak optimal fiyatı hesaplıyor ve buna ilişkin beklenen toplam geliri öğreniyorum.
# Model coefficients
b0 <- 4.596 # Intercept
b1 <- -4.974e-05 # Slope for price
# Define the revenue function
revenue <- function(P, b0, b1) {
P * exp(b0 + b1 * P)
}
# Calculate the optimal price (analytical solution from dR/dP = 0) - shortcut code here
(optimal_price <- -1 / b1)
# Calculate maximum revenue
(max_revenue <- revenue(optimal_price, b0, b1))
[1] 20104.54
[1] 732853.5
Bağlam içinde iyi açıklanmamış olan optimal fiyat için bir satır kod fark etmiş olabilirsiniz. Şu kod parçasından bahsediyorum: (optimal_price <- -1 / b1). Optimal fiyatın eğimin eksi birine eşit olduğunu nasıl bulduğumu size kısaca göstereyim.
Önce, kalkülüste çarpım kuralı denen şeyi hatırlamamız gerekir; x’in fonksiyonu "f of x" u(x) ile v(x) çarpımına eşitse, türev, yani f'(x), birincinin türevinin ikincisiyle çarpımının, sonra birincinin ikincinin türeviyle çarpımının toplamına eşittir şeklinde yazılabilir.
# the product rule in calculus
f(x) = u(x) * v(x)
f'(x) = u'(x) * v(x) + u(x) * v'(x)
İşte denklemi tekrar veriyor ve türevini de ekliyorum:
# our equation:
revenue = price * e^(b0 + b1 * price)
# the derivative of our equation
derivative = 1 * e^(b0 + b1 * price) + price * b1 * e^(b0 + b1 * price)
Burada fiyatın türevinin 1 olduğunu biliyorum; çünkü türevini aldığımız şey o. "Fiyat, fiyat değiştikçe ne kadar değişir?" Bir-bir ilişki söz konusu.
Diğer tarafta, e(b0 + b1 * price)’in türevi, örneğin 2x2 gibi basit bir fonksiyonun 4x türevi kadar sade değildir.
Burada çalıştığımız ifadede üs bir polinomdur. Püf noktası tüm terimlere yakından bakmaktır: Başlangıç olarak,
-
b0tek bir değerdir, dolayısıyla onun türevi sıfırdır -
price’ın türevi 1’dir; bunu zaten ele aldık. -
b1ölçekleme katsayısıdır; bu nedenle sayıyı başa yazar, kurala göre polinom üssü aynı bırakırız.
Dolayısıyla e(b0 + b1 * price)’in türevi b1 * e(b0 + b1 * price)’dir. Bu, burada göstereceğim üzere zincir kuralı olarak bilinir:
# the chain rule in calculus
f(x) = x^g(x)
f'(x) = g'(x) * x^g(x)
Son olarak biraz çarpanlara ayırma yapalım.
Cebir bize şunların aynı şey olduğunu söyler:
A + B * A = A(1+B)
Ve üzerinde çalıştığım türeve yakından baktığımda bir A ve B kısmı olduğunu fark ediyorum:
"A" e(b0 + b1 * price) ve "B" price * b1’dir. O halde bunu çarpanlara ayırabilirim
e^(b0 + b1 * price) + price * b1 * e^(b0 + b1 * price)
şuna:
e^(b0 + b1 * price)(1 + price * b1)
Son olarak bu türevi sıfıra eşitlemem gerekir; böylece eğimin yukarı gitmeyi bırakıp aşağı gitmeye başladığı, yani parabolün tepesindeki yeri bulurum.
e^(b0 + b1 * price)(1 + price * b1) = 0
Son bir püf noktası olarak biliyorum ki A * B sıfıra eşitse ya A ya B (ya da her ikisi) sıfır olmalıdır. Ancak uygun bir biçimde, bir üs olduğundan e(b0 + b1 * price)’in asla sıfıra eşit olamayacağını biliyorum. Üs pozitif olsaydı sonuç büyük bir sayı, 0 olsaydı 1, negatif olsaydı küçük bir kesir olurdu. Dolayısıyla sıfırı çözerken bu yarıyı devre dışı bırakabilirim.
Şimdi yapmam gereken tek şey terimleri yer değiştirip price için çözmektir.
(1 + b1 * price) = 0
b1 * price = -1
price = - 1 / b1
R kodumuzdaki özel yazılmış fonksiyona -1 / b1 koymayı bu şekilde buldum.
Şimdi kaldığımız yerden devam etmek için, optimal fiyatı grafiğe ekleyip buna ilişkin geliri görebiliriz.
Optimal fiyat 20.104,54 $ olup, toplamda yaklaşık 732.853,50 $ beklenen gelir sağlar. "Yaklaşık" diyorum; çünkü matematiği kontrol ederseniz 36,45 araba satışı varsayıyoruz; ancak bir arabanın yarısını satamayız.
ggplot(revenue_model_data, aes(x = price, y = revenue_model)) +
geom_point() + geom_line(color = '#01ef63') +
ggtitle("Car Sales") + labs(subtitle = "revenue model") +
ylab("Revenue") +
scale_y_continuous(labels = scales::dollar_format()) +
geom_vline(xintercept = optimal_price, linetype = "dashed", color = '#203147') +
geom_point(aes(x = optimal_price, y = max_revenue), color = '#203147', size = 3)
Geliri maksimize eden fiyatın bulunması. Görsel: Yazar.
Başka bir iş akışında bu fikirleri gelir yerine kâra göre de genişletebiliriz. Burada hepsini çalışmayacağım; ancak bunu yapmak için profit = revenue - cost ifadesini düşünebiliriz; burada cost, quantity * unit cost olarak ele alınır. Birim maliyet sabit ve miktar 1 - price gibi bir ifadeyle değiştirilebiliyorsa, yine ters U şeklinde bir parabol elde ederiz.
Türevlerin ve kalkülüsün makine öğrenmesinde nasıl yer aldığını daha fazla öğrenmek isterseniz, PyTorch ile Derin Öğrenmeye Giriş kursumuzu deneyin; burada gradyan inişini, hiperparametre optimizasyonu bağlamında ayrıntılı olarak inceliyoruz. Bağlam farklı olsa da benzer bir düşünce tarzını uygulayabilirsiniz. Gördüğünüz gibi, farklı biçimleriyle optimizasyon veri biliminde kilit bir beceridir ve pratik yapmak yardımcı olur.
Talep eğrisi ve Laffer eğrisi
Ekonomi çalıştıysanız, bu parabolü, vergi oranlarının kamu vergi gelirini nasıl etkilediğini gösteren ve bir ölçüde tartışmalı bir kavram olan Laffer eğrisine benzer bir şey olarak tanıyabilirsiniz.
Hem Laffer eğrisini hem de talep eğrisi üzerindeki bu dönüşümü “maksimizasyon vs. oran” türü problemler olarak değerlendirirdim; Laffer eğrisi ise vergilendirmeye özgüdür: x ekseni vergi oranını (%%0’dan %%100’e), y ekseni ise toplanan toplam vergi gelirini temsil eder. Kavramsal olarak Laffer eğrisi de ters-U şeklindedir; çünkü üst uçta vergi oranının çok yüksek olmasının, bireyler veya işletmeler için vergilendirilebilir faaliyetlerde bulunma teşviğini ortadan kaldıracağı ve geliri sıfıra düşüreceği varsayılır. Ekonomistler bu ‘teşvik’ kısmında anlaşmayabilir.

Ferris Bueller's Day Off filminde Laffer eğrisi. Kaynak: YouTube
SQL ile bir talep eğrisi kullanarak fiyatları analiz etmek
Fikri ele aldığımıza göre, aynı işi yapacak bir SQL betiğini de paylaşmak istiyorum. Bu fonksiyon, quantity_sold ile price arasında bir regresyon gerçekleştirecektir. Ardından regresyon katsayılarına dayalı olarak geliri maksimize eden optimal fiyatı bulmanızı ve buna karşılık gelen maksimum geliri belirlemenizi sağlar.
Aşağıdaki betiğin, Power BI veya Tableau’da dinamik panolar oluştururken özellikle yararlı olacağını düşünüyorum; böylece herhangi bir şeyi çevrimdışı almaya gerek kalmadan gerçek zamanlı veri güncellemelerine sahip olursunuz.
Çoğu SQL lehçesinde kullanılabilecek özel regresyon fonksiyonları bulunmadığından, regresyon katsayılarını SQL toplama fonksiyonlarını kullanarak manuel yolla bulduğumu da göreceksiniz. Basit doğrusal regresyonun SQL’de iyi çalıştığını bilmek sizi şaşırtabilir; çünkü basit doğrusal regresyon için model katsayıları, x ve y arasındaki korelasyon, standart sapma ve ortalama değerler cinsinden ifade edilebilir.
-- SQL script to perform linear regression on log(quantity_sold) vs price,
-- calculate the optimal price to maximize revenue, and determine the maximum revenue.
WITH regression_data AS (
SELECT
COUNT(*) AS N,
SUM(price) AS sum_x,
SUM(LOG(quantity_sold)) AS sum_y,
SUM(price * LOG(quantity_sold)) AS sum_xy,
SUM(price * price) AS sum_x2,
SUM(LOG(quantity_sold) * LOG(quantity_sold)) AS sum_y2
FROM sales_data
),
regression_coefficients AS (
SELECT
N,
sum_x,
sum_y,
sum_xy,
sum_x2,
sum_y2,
(N * sum_xy - sum_x * sum_y) / (N * sum_x2 - sum_x * sum_x) AS slope,
(sum_y - ((N * sum_xy - sum_x * sum_y) / (N * sum_x2 - sum_x * sum_x)) * sum_x) / N AS intercept
FROM regression_data
),
optimal_price AS (
SELECT
slope,
intercept,
(-1 / slope) AS optimal_P
FROM regression_coefficients
),
max_revenue AS (
SELECT
optimal_P,
slope,
intercept,
optimal_P * EXP(intercept + slope * optimal_P) AS max_R
FROM optimal_price
)
SELECT
optimal_P AS Optimal_Price,
max_R AS Maximum_Revenue
FROM max_revenue;
Optimal_Price | Maximum_Revenue
------------- | ----------------
20104.32 | 402082.58
Lütfen verilen SQL betiğinin, kullanılan SQL lehçesine bağlı olarak ayarlamalara ihtiyaç duyabileceğini unutmayın; çünkü sözdizimi değişebilir. Ayrıca sorun gidermek amacıyla, satış verileri tablonuzda hem price hem de quantity_sold için geçerli ve pozitif değerler bulunduğundan emin olurdum; çünkü negatif veya sıfır değerler hatalara yol açabilir.
Ayrıca, R bölümünde yaptığımız gibi bir log dönüşümü dahil etmek isterseniz bunu yapabilirsiniz; ancak lehçenize bağlı olarak doğal logaritma fonksiyonu farklı adlandırılmış olabilir: LN veya LOG. DuckDB’de LN ve LOG aslında farklıdır: LN doğal logaritma e’dir, LOG ise taban 10’dur. Fiyat ile satış arasındaki ilişkiyi analiz etmek için bir talep eğrisi oluşturmakla ilgileniyorsanız, SQL ile Ürün Talebi Analizi canlı kodlama oturumuma göz atın. Son olarak, bir analist olarak SQL yetkinliğinizi artırmak için, tam bir araç seti geliştirmenize yardımcı olacak SQL ile Yardımcı Veri Analisti kariyer yolunu keşfetmenizi öneririm.
Talep Eğrisinin İstisnaları
Tüketici davranışının talep eğrisinin standart örüntüsüne meydan okuyabildiği dikkat çekici istisnalar vardır:
Giffen malları
Giffen malları, talep yasasının geçerli olmadığı nadir bir aşağı gelir (inferior) mal türüdür. Bir Giffen malının fiyatı yükseldiğinde, tüketiciler paradoksal biçimde bu maldan daha az değil daha çok satın alabilir. Bunun nedeni, bu malın tüketicinin bütçesinde o kadar büyük bir paya sahip olmasıdır ki, fiyatı yükseldiğinde tüketici artık daha arzu edilen ikame malları karşılayamaz ve Giffen malını daha fazla almak zorunda kalır. Klasik (her ne kadar tartışmalı olsa da) tarihsel bir örnek, 19. yüzyılda bazı yerlerde (belki İngiltere) ekmek fiyatlarındaki artıştır; insanlar diğer, daha pahalı yiyecekleri karşılayamadıkları için daha fazla ekmek tüketmişlerdir.
Veblen malları
Veblen malları, fiyat arttıkça talebi artan lüks veya statü sembolü ürünlerdir — örneğin tasarımcı çantalar, kaliteli şaraplar veya üst düzey saatler. Çekiciliklerinin bir kısmı, daha yüksek bir fiyatın ayrıcalıklılık veya daha yüksek sosyal statü sinyali verdiği algısından gelir; böylece ürün, fiyat arttıkça daha arzu edilir hale gelir. Bunu “gösterişçi tüketim” olarak düşünebilirsiniz.
Diğer özel durumlar
- Bandwagon veya ağ etkileri: Bazı mallar, daha fazla kişi kullandıkça her bir tüketici için daha değerli hale gelir (ör. sosyal medya platformları, belirli yazılım ekosistemleri). Talep yalnızca fiyattan değil, ürünün artan popülaritesi veya ağ büyüklüğünden ötürü de yükselebilir.
- Snop etkisi: Bazı tüketiciler malları, özellikle az kişi sahip olduğu için satın alır. Bu durumlarda daha düşük fiyatlar, ürünü “daha az ayrıcalıklı” göstererek çekiciliğini azaltabilir.
- Spekülatif veya yatırım varlıkları: Belirli kripto paralar veya emtialar gibi varlıklar için, piyasa fiyatların artmaya devam edeceğine inanırsa, talep düşmek yerine fiyat artışlarına tepki olarak yükselebilir.
Bu örneklerin tümünde, psikolojik, kültürel veya durumsal etkenler, tüketicilerin basitçe “daha düşük fiyata daha çok” istediği yönündeki klasik varsayımı geçersiz kılarak, alışılmış fiyat–miktar ilişkisini tersine çevirir veya daha karmaşık hale getirir.
Talep Eğrisi Sık Kullanılan Terimler
Bu yazıda birkaç farklı terimi ele aldık. Hepsini net tutmak için bir tablo oluşturalım.
| Kavram | Açıklama |
|---|---|
| Talep Eğrisi | Bir malın fiyatı ile tüketicilerin talep ettiği miktar arasındaki ilişkiyi gösteren grafiksel bir gösterim. |
| Talep Yasası | Diğer her şey sabitken, bir ürünün fiyatı düştükçe talep edilen miktarın arttığını belirtir. |
| Fiyat-Miktar İlişkisi | Bir ürünün fiyatının, tüketicilerin satın almaya istekli olduğu miktarı doğrudan etkilediğini ifade eder. |
| Esneklik | Talep edilen miktarın fiyattaki bir değişime ne kadar duyarlı olduğunu ölçer. |
| Azalan Marjinal Fayda | Bir ürünün ek her biriminden elde edilen memnuniyet veya faydanın azalmasına atıfta bulunur. |
Son Düşünceler
Pek çok konuya değindik: Talep eğrileri ve talep modellerinden, log ve üstel dönüşümlere, kuadratik regresyon teknikleri ve optimizasyona kadar her şeyi uyguladık.
DataCamp ile iş analizi öğrenmeye devam edin. Daha önce bahsettiğim kurslara kaydolmayı düşünün: R ile Ürün Talebi Tahmini ve İş Dünyası için Veri Odaklı Karar Verme; her ikisi de iş ve finansta kararlarınızı verilerle güçlendirmeyi öğretir. Teknik becerilere sahip olmanın ve doğru teknikleri bilmenin yerini hiçbir şey tutamaz.
Ayrıca veri biliminin temel konularını pratiğe dökmeye devam edin. Temel regresyon kurslarına (Python ile statsmodels kullanarak Regresyona Giriş ve R ile Regresyona Giriş) ek olarak, R ile Genelleştirilmiş Toplamsal Modeller (GAM) ile Doğrusal Olmayan Modelle veya Python ile İstatistik Temellerini öğrenin. Ayrıca tam Python ile Makine Öğrenimi Bilimcisi kariyer yolumuzu da öneririm. En zayıf olduğunuz alanı seçin ki en çok şeyi öğrenin.

Yazar
Josef Waples
Bilimsel dergilerde yayımlanan araştırma makalelerine katkıları olan bir veri bilimi yazarı ve editörüyüm. Özellikle lineer cebir, istatistik, R ve benzeri konularla ilgileniyorum. Aynı zamanda epey satranç da oynarım!

Talep eğrisi, tüketici davranışını ve fiyatlandırma stratejilerini anlamak için en ilginç ve faydalı araçlardan biridir. Genellikle bir mal veya hizmetin fiyatı ile satılan miktar arasındaki ilişkiyi analiz etmek için kullanılır; ancak farklı bağlamlarda piyasa dinamiklerini analiz etmek veya gelir sonuçlarını tahmin etmek için de kullanılabilir.
Bu yazıda talep eğrisi hakkında her şeyi öğreneceğiz. Hem tanımlayıcı özellikleri hem de ilgili terimleri inceleyeceğiz. İlerleyen kısımda, talep eğrisinin kârı maksimize eden optimal fiyatı bulacak şekilde nasıl genişletilebileceğini de göstereceğim — kendi çalışmamda faydasını gördüğüm, temel bir optimizasyon tekniği oluşturmak için yararlı bir uygulamalı cebir parçası.
Bu yöntemleri izleyerek yalnızca fiyatlandırma stratejileri konusunda karar verebilmekle kalmayıp, aynı zamanda yöntemleri gelecekteki projeler için bir çerçeve sağlayacak şekilde açıkça ifade edebileceğinizi garanti ediyorum. Bu yazıda R ve SQL kullanacağım; ancak Excel, Python, Tableau ve Power BI gibi diğer yaygın araçlarla da aynı yöntemleri kullanabileceğinizi bilin. Son olarak, gerçekten bir fiyatlandırma uzmanı olmak istiyorsanız, R ile Ürün Talebi Tahmini kursumuzu şiddetle tavsiye ederim.
Talep Eğrisi Nedir?
Talep eğrisi, fiyatlandırma stratejisinde ve genel olarak ekonomide temel bir kavramdır. Bir mal veya hizmetin fiyatı ile tüketicilerin talep ettiği miktar arasındaki ilişkiyi görsel olarak etkileyici bir şekilde temsil eder. Talep eğrisinin temel bileşenleri, bir eksende fiyat ve diğer eksende talep edilen miktardır. İşte bir örnek:
Temel bir talep eğrisi şekli. Görsel: Yazar.
Bir talep eğrisinin bileşenleri
Yukarıdaki grafikte, ilk bakışta bir ölçüde bariz olan bir şeyi fark edeceksiniz: fiyat ile satılan miktar ters bir ilişkiye sahiptir. Daha resmi biçimde söylemek gerekirse, talep eğrisi, talep yasası olarak bilinen şeye yakından bağlıdır; bu yasa, diğer her şey sabitken bir ürünün fiyatı düştükçe talep edilen miktarın arttığını söyler. Bazen aynı fikir fiyat ve miktar ilişkisi olarak da anılır; yani bir ürünün fiyatı, tüketicilerin ne kadar satın almaya istekli olduğunu doğrudan etkiler.
Ancak bu grafikte ilk bakışta o kadar açık olmayan bir başka şey daha vardır: fiyat düşükken satılan miktar daha keskin şekilde düşer, fiyat yükseldikçe eğri yataya yakınsar. Buradaki eğrilik, değişen esneklik ve azalan marjinal fayda gibi diğer kavramlarla ilişkilidir; bunları bir sonraki bölümde ele alacağım.
Talebin fiyat esnekliği
Fiyat ile talep edilen miktar arasındaki ters ilişkiden ortaya çıkan kilit kavramlardan biri, talep edilen miktarın fiyattaki bir değişime ne kadar duyarlı olduğunu ölçen talebin fiyat esnekliğidir. Resmi olarak esneklik sıklıkla şu şekilde hesaplanır:
Bir ürün, fiyattaki nispeten küçük bir değişiklik talep edilen miktarda büyük bir değişikliğe yol açıyorsa elastik talebe sahiptir denir. Üst düzey elektronik ürünler veya tasarımcı çantaları, tüketiciler ikame ürünler bulabildiği için fiyatları biraz artsa bile talepte keskin bir düşüş görebilir.
Bir ürün, fiyattaki büyük değişiklikler talep edilen miktarda nispeten küçük değişikliklere yol açıyorsa inelastik talebe sahiptir. Benzin veya ilaç gibi zorunlu mallar klasik örneklerdir. Fiyat artsa bile, alternatif olmadığı için tüketiciler neredeyse aynı miktarı almaya devam eder.
Talep eğrisi türleri
Bir talep eğrisinin bir örneğini göstermiş olsam da, bilin ki piyasanın, ürünün ve tüketici tercihlerinın temel özelliklerine bağlı olarak birçok farklı biçim alabilir. Her zaman aşağı eğimli olsa da bu ilişki tek bir matematiksel şekli izlemek zorunda değildir.
Doğrusal talep eğrileri
Doğrusal talep eğrileri fiyat ve miktar arasında sabit bir değişim oranına sahiptir. Basit piyasa senaryolarında yaygındır. Düz bir çizgiyle gösterilirler.
Doğrusal olmayan talep eğrileri
Gördüğümüz gibi, talep eğrileri her zaman mükemmel düz çizgiler olarak çizilmez; çünkü fiyat ile miktar arasındaki ilişki her zaman basit bire bir doğrusal bir fonksiyonla iyi temsil edilemez. Bunun birkaç nedeni vardır; bir kısmına az önce değinmiştim:
Uygulamada, değişken değişim oranını daha iyi resmettikleri için doğrusal olmayan talep eğrileri daha gerçekçi olabilir. Sonuçta gerçek dünya verileri dağınıktır ve tüketici davranışı karmaşıktır. Bununla birlikte, ileride göstereceğim gibi, doğrusal olmayan bir eğriyi doğrusal hale getirmenin yolları sıkça vardır.
Bireysel talep eğrisi ve piyasa talep eğrisi
Talebi tüketici ve piyasa düzeyinde de karşılaştırabiliriz. Bir bireysel talep eğrisi, bir ürünün fiyatı ile tek bir tüketicinin talep ettiği miktar arasındaki ilişkiyi temsil eder. Kişisel tercihleri ve ödeme istekliliğini yansıtır.
Bir piyasa talep eğrisi, bir piyasadaki tüm tüketicilerin talebini bir araya getirir. Bireysel talep eğrilerini toplar ve her fiyat noktasındaki toplam talep edilen miktarı gösterir. Oluşturulma biçimleri nedeniyle, piyasa talep eğrileri, işletmeler tarafından pazar potansiyelini ölçmek için kullanılır.
Talep eğrisi ve arz eğrisi
Talep eğrilerini inceliyorsanız, arz eğrisi olarak adlandırılan şeyi de duymuş olabilirsiniz. Özünde arz eğrisi ile talep eğrisi aynı madalyonun iki yüzüdür. Talep eğrisi tüketicilerin farklı fiyatlarda ne kadar ürün satın almaya istekli olduğunu gösterirken, arz eğrisi üreticilerin aynı fiyatlarda ne kadar satmaya istekli olduğunu gösterir.
Şimdi, aynı grafikte hem talep hem de arz eğrisini çizerseniz, kesiştikleri bir nokta görürsünüz. Denge noktası olarak bilinen bu kesişim, piyasa fiyatı ve miktarını belirler şeklinde düşünülür. Dolayısıyla talep arzı aştığında fiyatlar yükselme eğilimindedir; bu da üreticileri daha fazla üretmeye teşvik eder. Ancak arz talebi aştığında fiyatlar düşer; bu da daha fazla satın almayı teşvik eder.
Talep eğrisi ve arz eğrisi. Görsel: Yazar.
Veri Biliminde Talep Eğrisini Kullanmak
Talep eğrilerinden iş kararları almak için yararlanmanın birçok yolu vardır. Burada talep eğrilerini faydalı kılmanın özel bir yolunu adım adım göstereceğim: Verilerimizi kullanarak hem bir talep eğrisi hem de kuadratik regresyon tekniğiyle bir talep modeli oluşturacağız. Bu tekniği hem R hem de SQL’de nasıl kullanabileceğinizi göstereceğim; böylece etkileşimli Power BI veya Tableau panolarında kullanılabilir.
Devam etmeden önce şunu söylemek isterim: Bunu okuyor ve bir departmandaki iş analistleri veya veri bilimcileri gibi bir ekibi topluca beceri kazandırmak isteyebileceğinizi düşünüyorsanız, DataCamp for Business yardımcı olmak için burada. Ekibinizin, sizin özgül iş bağlamınızda yararlı beceri ve teknikler geliştirmesine yardımcı olacağız. Birçok ağır veri analizi projesi birden çok katılımcı gerektirir — daha fazlasını öğrenmek için DataCamp ekibimizle iletişime geçin.