Bölümlenmiş bir huniyi nasıl görselleştirirsiniz? (Python ile yapabilir misiniz?)


9

Bölünmüş bir pazarlama hunisi sunan Moz'taki bu yayını gördüm :resim açıklamasını buraya girin

Bu tür şeyler benim işimde oldukça değerli olurdu. Hiçbir fikrim yok böyle bir segmentli huni göstermek için ham verileri nasıl görselleştirmek olduğunu. Fikir, satış olası satışlarının (verileri segmentlere ayırmak için kullandığımız) farklı kaynaklardan gelmesi ve bir anlaşmaya dönüştükleri sırada birkaç aşamadan geçmesidir. Her aşamadan diğerine biraz düşer. Her dilimin genişliği, her birindeki mutlak lead sayısı ile belirlenir. [ DÜZENLE : Her bir dilimin sağında belirtilen sayılar söz konusu olduğunda, burada referans olarak kullanılan görüntünün yanıltıcı olduğuna dikkat edin. Dilimin genişliği ile sayı arasında bir ilişki olmadığı görülmektedir. Görüntü yalnızca bölümlenmiş huninin tasarımına referans olarak alınmalıdır].

Her neyse, nasıl görselleştirileceği hakkında bir fikrin var mı? Mümkünse, Python'da bunu yapmanın bir yoluna sahip olmak isterim.

İşte herhangi birine ihtiyacı varsa bazı kukla veriler içeren bir Google Dokümanı ...

Görüşlerinizi dört gözle bekliyorum. Teşekkürler!


5
İçindeki büyük Lie Faktörü nedeniyle illüstrasyonu kafa karıştırıcı buluyorum: "huni" nin ardışık seviyeleri düzensiz değişen farklı ölçekler kullanıyor. Böylece bant genişlikleri vardır olup her biri mutlak sayıları belirlenir - en azından herhangi bir kolay anlaşılır veya görüntülenmiştir şekilde. Öyleyse ne soruyorsunuz: Bu verileri görselleştirmenin daha iyi yolları olup olmadığı veya bu grafiği Python'da nasıl oluşturacağınız?
whuber

Hangi yazılımda olursa olsun, genellikle yığın çubuklar için bir ofset kategorisi ekleyebilir ve sonra onu görünmez yapabilirsiniz. Aynı google e-tablosuna sahip bir örnek . Etkisiz bir viz olduğunu görebilirsiniz. bu örnekte hiçbir şeye küçülmeyen kategoriler için.
Andy W

1
@whuber Merhaba. Takip ettiğimden emin değilim. Her seviye mutlak sayılar ... ve her seviye bir öncekinin bir alt grubudur. Lütfen ölçeğin neden düzensiz değiştiğini açıklayınız. Teşekkürler!
Optimesh

3
Üst segment 1,5 milyon ziyareti temsil ediyor ve ekranımda yaklaşık 500 piksel içeriyor: bir piksel = 3000 ziyaret. Alt segment 5000 ziyareti temsil eder ve ekranımda 2'den az yerine yaklaşık 150 pikseli kapsar (@Andy'nin örneğiyle işaret ettiği gibi). Bu 100 ila 1 arasında bir abartı. Bu sorudaki grafik bu kadar abartmayı umursamıyor gibi göründüğü için, segmentleri yeniden ölçeklendirmenin bir anlamı yok: hepsini aynı uzunlukta ve grafiği yaparak daha iyi bilgi elde edersiniz. daha az aldatıcı olurdu.
whuber

1
@whuber Oh, şimdi ne demek istediğini anlıyorum. Evet, bu görüntüyü görsel olarak yapmak istediğim şeye örnek olarak getirdim. Şüphesiz rakamların kendileri yanıltıcı.
Optimesh

Yanıtlar:


3

Bu grafik , verileri yaklaşık olarak şu şekilde olan iki yönlü bir olasılık tablosu görüntüler :

                      Branded Unbranded Social Referring Direct   RSS
First-time...          177276    472737  88638    265915 472737 59092
Return Visits...       236002    629339 118001    354003 629339 78667
4+ Visits in ...       166514    444037  83257    249771 444037 55505
10+ Visit in ...        28782     76751  14391     43172  76751  9594
At Least One Visit...    6707     17886   3354     10061  17886  2236
Last Touch...             660      1759    330       989   1759   220

Bu komployu oluşturmanın sayısız yolu var. Örneğin, her dikdörtgen renkli yamanın konumlarını hesaplayabilir ve her yamayı ayrı ayrı yaslayabilirsiniz. Bununla birlikte, genel olarak, bir arsanın verileri nasıl temsil ettiğine dair kısa ve öz bir tanım bulmaya yardımcı olur.

Bir çıkış noktası olarak, bunu yığılmış bir çubuk grafiğin bir varyasyonu olarak görebiliriz .

Şekil 1: Yığılmış çubuk grafik.

Bu grafik neredeyse bir açıklamaya ihtiyaç duymaktadır: aşina olduğumuzdan, her dikdörtgen sırasının beklenmedik durum tablosunun her satırına karşılık geldiğini biliyoruz; dikdörtgenlerin uzunluklarının sayılarıyla doğru orantılı olduğu; üst üste gelmediklerini; ve renklerin tablonun sütunlarına karşılık gelmesi.

Bu tabloyu bir "veri çerçevesi" veya "veri tablosu" na dönüştürürsek Xsatır adını, sütun adını ve sayısını gösteren alanlarla sayı başına bir satıra sahip olmak, daha sonra onu çizmek, genellikle uygun bir işlevi çağırmak ve satır adlarını, sütun adlarını ve sayıları nerede bulacağınızı belirlemek anlamına gelir. Bir Grafik Gramer uygulaması ( ggplot2paketi R) kullanmak,

ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col() 

Grafiğin ayrıntılarının, örneğin bir sıra çubuğunun ne kadar geniş olduğu ve hangi renklerin kullanılacağı, tipik olarak açık bir şekilde belirtilmelidir. Bunun nasıl yapıldığı çizim ortamına bağlıdır (ve nispeten az ilgi çekicidir: sadece bakmanız gerekir).

Grafik Grameri'nin bu özel uygulaması, çubukların konumlandırılmasında çok az esneklik sağlar. İstenen görünümü en az çabayla üretmenin bir yolu, çubukların ortalanması için her çubuğun tabanına görünmez bir kategori eklemektir. Küçük bir düşünce, her bir çubuğu ortalamak için gereken sahte sayının, çubuğun toplam uzunluğunun ve en uzun çubuğun ortalaması olması gerektiğini gösterir. Bu örnek için bu, değerleri içeren bir başlangıç ​​sütunu olabilir

 254478.0       0.0  301115.0  897955.0  993610.5 1019817.0 

Sonuçta sahte verileri açık gri renkte gösteren yığılmış çubuk grafik:

şekil 2

İstenen şekil, sahte sütun grafiklerini görünmez yaparak oluşturulur:

Figür 3

Çizimin Grafik Gramer açıklamasının değişmesi gerekmez: aynı açıklamaya göre oluşturulması için farklı bir olasılık tablosu sağladık (ve sahte sütun için varsayılan renk atamasını geçersiz kıldık).

Yorumlar

Bu grafikler dürüst: her bir renkli yamanın yatay boyutu, bozulma olmadan temel verilerle doğru orantılıdır. Bunları orijinalle karşılaştırmak (soruda), bozulmasının ne kadar aşırı olduğunu ortaya çıkarır (Tufte'nin Lie Faktörü ).

"Dönüşüm hunisinin" altında ayrıntıların gösterilmesi isteniyorsa, sayıları uzunluk yerine alana göre göstermeyi düşünün . Çubukların uzunluklarını, toplam uzunlukların kare kökleriyle orantılı ve genişliklerini (dikey yönde) kare köklerle orantılı yapabilirsiniz. Şimdi, "huninin" dibi, dört yüzüncüsünden ziyade en uzun uzunluğunun yirmide biri olacak ve bazı ayrıntıların gösterilmesine izin verecekti. Ne yazık ki, ggplot2uygulama, bir değişkenin çubuk genişliğine eşlenmesine izin vermez ve bu nedenle daha kapsamlı bir çözüm gerektirir (aslında her bir dikdörtgeni ayrı ayrı tanımlayan). Belki de daha esnek bir Python uygulaması vardır.

Referanslar

Edward Tufte, Nicel Bilgilerin Görsel Gösterimi . Cheshire Yayınları 1984.

Leland Wilkinson, Grafik Grameri. Springer 2005.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.