セグメント化されたファネルをどのように視覚化しますか?(そして、Pythonでそれを行うことができますか?)


9

セグメント化されたマーケティング目標到達プロセスを提示するMozのこの投稿を見ました。ここに画像の説明を入力してください

この種のことは私の仕事にかなりの価値があるでしょう。このようなセグメント化された目標到達プロセスを表示するために、生データを視覚化する方法はわかりません。考えは、セールスリードはさまざまなソース(データの分割に使用)から来ており、取引に変換するまでにいくつかの段階を経ることです。各ステージから別のステージへのドロップオフ。各スライスの幅は、それぞれのリードの絶対数によって決まります。[ 編集:参照用にここで使用されている画像は、各スライスの右側に指定されている数値に関して誤解を招くものであることに注意してください。スライスの幅と数の間に関係はないようです。画像は、セグメント化されたファネルのデザインへの参照としてのみ取られるべきです。

とにかく、それを視覚化する方法はありますか?可能であれば、Pythonでこれを行う方法が欲しいです。

これは、誰かが必要な場合のダミーデータを含むGoogleドキュメントです...

あなたの洞察を楽しみにしています。ありがとう!


5
巨大なライファクターが組み込まれているため、イラストが混乱しているように見えます。「ファンネル」の連続するレベルは、不規則に変化するさまざまなスケールを使用しています。したがって、バンドの幅はそれぞれの絶対数によっては決定されません -少なくとも簡単に理解したり視覚化したりする方法ではありません。それで、あなたは何を求めていますか:そのようなデータを視覚化するより良い方法があるかどうか、またはこのグラフィックをPythonで作成する方法はありますか?
whuber

どのソフトウェアで作業する場合でも、通常、積み上げ棒のオフセットカテゴリを組み込んで、非表示にすることができます。これは、同じGoogleスプレッドシートのです。あなたはそれが効果のないVizであることがわかります。その例では何も縮小されていないカテゴリーの場合。
アンディW

1
@whuberこんにちは。わかりません。各レベルは絶対数です...各レベルは前のレベルのサブグループです。そのとき、目盛りが不規則に変化する理由を説明してください。ありがとう!
Optimesh 2014年

3
上部のセグメントは150万回の訪問を表し、画面上の約500ピクセルにまたがっています。1ピクセル= 3000回の訪問です。下部のセグメントは5000の訪問を表し、2未満ではなく、画面上の約150ピクセルに広がります(@Andyが彼の例で指摘したように)。これは約100対1の誇張です。この質問のグラフィックはそのような誇張を気にしていないように見えるので、セグメントを再スケーリングしても意味がないようです。欺瞞的ではないでしょう。
whuber

1
@whuberああ、私はあなたが今何を言っているのか分かります。ええ、私は視覚的に私が見たいと思っていることの例としてそのイメージを持ってきました 数字自体は間違いない、間違いない。
Optimesh 2014年

回答:


3

このプロットは、データがほぼ次のよう双方向の分割表を表示します。

                      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

このプロットを構築する方法は無数にあります。 たとえば、色の各長方形パッチの位置を計算し、各パッチを個別にメッキすることができます。ただし、一般的には、プロットがデータをどのように表すかについての簡潔な説明を見つけるのに役立ちます。

出発点として、これを積み上げ棒グラフのバリエーションとして見ることができます

図1:積み上げ棒グラフ。

このプロットには説明はほとんど必要ありません。四角形の各行は、分割表の各行に対応していることをよく知っています。長方形の長さはそれらの数に正比例します。それらが重複しないこと。色が表の列に対応していること。

このテーブルを「データフレーム」または「データテーブル」に変換すると、行名、列名、およびカウントを示すフィールドを持つカウントごとに1行を持ち、それをプロットすると、通常、適切な関数が呼び出され、検索場所が規定されます。行名、列名、およびカウント。Grammar of Graphics実装(のパッケージ)を使用すると、次のようになります。Xggplot2R

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

バーの行の幅や使用する色などのグラフィックの詳細は、通常、明示的に規定する必要があります。それがどのように行われるかは、プロット環境に依存します(したがって、それほど関心がありません:調べるだけです)。

Grammar of Graphicsのこの特定の実装では、バーの配​​置に柔軟性がほとんどありません。 最小限の労力で目的の外観を作成する1つの方法は、各バーの下部に非表示のカテゴリを挿入して、バーが中央に配置されるようにすることです。 少し考えてみると、各バーを中央に配置するために必要な偽の数は、バーの全長と最も長いバーの全長の平均でなければならないことを示唆しています。この例の場合、これは値を持つ初期列になります

 254478.0       0.0  301115.0  897955.0  993610.5 1019817.0 

以下は、薄い灰色で偽のデータを示す結果の積み上げ棒グラフです。

図2

目的の図は、偽の列のグラフィックスを非表示にすることによって作成されます。

図3

グラフのGrammar of Graphicsの説明を変更する必要はありません。同じ説明に従ってレンダリングされる別の分割表を提供しただけです(そして、偽の列のデフォルトの色割り当てを上書きしました)。

コメント

これらのグラフィックスは正直です。各カラーパッチの水平方向の範囲は、歪みなく、基になるデータに直接比例しています。それらを元の(問題の)と比較すると、その歪みがどれほど極端であるかがわかります(TufteのLie Factor)。

「目標到達プロセス」の下部に詳細を表示する必要がある場合は、長さではなく面積でカウントを表すことを検討してください。棒の長さを全長の平方根に比例させ、それらの幅(垂直方向)も平方根に比例させることができます。これで、「目標到達プロセス」の下部は、最長の100分の1ではなく、約20分の1になり、詳細を示すことができます。残念ながら、このggplot2実装では、変数をバーの幅にマップできません。そのため、より複雑な回避策が必要です(実際には、各長方形を個別に記述します)。おそらく、より柔軟なPython実装があります。

参考文献

Edward Tufte、定量的情報の視覚的表示。チェシャープレス1984。

Leland Wilkinson、グラフィックの文法。 スプリンガー2005。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.