💡 Key Takeaways
- Understanding Your Data's Natural Story Structure
- Cleaning Your Data: The Unglamorous Foundation
- Choosing the Right Chart Type for Your Message
- Design Principles That Make Charts Readable
三年前、私は営業の副社長が18か月分の地域パフォーマンスデータを含むスプレッドシートを見つめながら、「で、私たちは勝っているのか負けているのか?」と尋ねるのを見ました。その瞬間、私たちがデータを扱う方法のすべての問題が凝縮されました。答えはそのセルの中にあったのですが、それは目には見えませんでした。物語は膨大な数字の山の中に埋もれていました。
💡 重要なポイント
- データの自然な物語の構造を理解する
- データのクリーニング:地味な基盤
- メッセージに適したチャートタイプを選ぶ
- チャートを読みやすくするデザイン原則
私はマーカス・チェンで、過去12年間、データビジュアライゼーションのコンサルタントとしてフォーチュン500企業から新興企業までさまざまなクライアントと仕事をしてきました。私はカウントできないほど多くのCSVファイルを魅力的なビジュアルストーリーに変換してきました—顧客行動ログから製造品質指標に至るまで、数千のデータセットがあります。私が学んだことはこれです:データは問題ではありません。あなたのプレゼンテーションが問題です。
平均的なビジネスプロフェッショナルは、最近の企業ソフトウェア調査によると、毎日2.5ギガバイトのデータに直面しています。そのほとんどはCSVファイルとして届きます—無害に見えるが複雑さを隠している、見かけ上シンプルなカンマ区切り値の文書です。典型的な営業報告のCSVには200の列と50,000の行が含まれることがあります。つまり、1,000万のデータポイントです。人間の脳はそのままでは処理できません。翻訳が必要です。ストーリーが必要です。
この記事では、私がデスクに届いたすべてのCSVファイルに対してどのようにアプローチするかを正確に示します。理論ではなく、実践的で戦闘実績のあるテクニックです。エグゼクティブにプレゼンテーションする場合でも、レポートを書く場合でも、自分のビジネスをよりよく理解しようとする場合でも機能します。最後まで読み終えると、どのデータセットを見てもその中に待っている物語を見出す方法がわかります。
データの自然な物語の構造を理解する
すべてのデータセットには物語がありますが、すべての物語が明らかではありません。ほとんどの人が犯す最初の間違いは、自分のデータが実際に何を言おうとしているのかを理解せずに、チャートを作成し始めることです。私はどんなプロジェクトでもデータを理解することに40%の時間を費やします—それは無駄な時間ではなく、その後のすべての基礎なのです。
新しいCSVファイルを開くとき、私は5つの特定のストーリー要素を探しています。まず、主人公:主要なテーマは何か?営業データでは収益かもしれません。顧客データではリテンション率かもしれません。次に、対立:何が変わっている、苦しんでいる、または競っているのか?三つ目、タイムライン:これは時間とともにどのように展開するのか?四つ目、サポートキャラクター:どの二次指標がコンテキストを提供しているのか?五つ目、解決:私たちはどのような結果や洞察を目指しているのか?
具体的な例を示しましょう。昨年、私は24か月間にわたり14の製品カテゴリーにまたがる89,000件の取引を含むCSVを持つeコマース企業と仕事をしました。生のデータは圧倒的でした。しかし、「ここでのストーリーは何ですか?」と尋ねたとき、答えが浮かび上がりました。彼らの最も成長が著しいカテゴリー(アウトドア用品、前年比340%上昇)は、彼らの伝統的なベストセラー(ホーム用品、同期間で23%減少)の売上を食い尽くしていました。これがストーリーです。これはチャートで劇的に表現できる何かです。
重要なのは、どのチャートツールにも手を触れる前に正しい質問をすることです。何が変わったのか?何が驚きなのか?重要な比較は何か?私は文字通りのチェックリストを持っています:時間の経過による傾向、グループ間の比較、全体に対する部分の関係、変数間の相関、分布と外れ値、地理的パターン、ランク/階層。すべてのCSVストーリーはこれらのカテゴリーの一つまたは複数に該当します。
実際にこれがどのように見えるかを示します。スプレッドシートツールでCSVを開きます—私はExcelを使用していますが、Google SheetsやLibreOfficeも問題ありません。まだチャートを作成し始めないでください。代わりに、要約シートを作成します。基本統計を計算します:合計、平均、成長率、パーセンテージ。データをいろいろな方法でソートします。何がトップに上がってきますか?どのようなパターンが浮かび上がりますか?一度、私は単一のチャートを作成する前に顧客データベースを3時間もソートしてフィルターしました。その3時間は、7つの無関係なビジュアライゼーションを作成するのを防ぎ、実際に重要な2つのチャートを作成するのに役立ちました。
ストーリー構造は、チャートタイプを決定する要因でもあります。時間に基づくストーリーには折れ線グラフや面グラフが必要です。比較のストーリーには棒グラフが必要です。部分と全体のストーリーには円グラフやツリーマップが必要です。相関のストーリーには散布図が必要です。分布のストーリーにはヒストグラムが必要です。最初にストーリーを理解することは、直感的に正しいビジュアライゼーションを選ぶことを意味します。無作為に選ぶのではありません。
データのクリーニング:地味な基盤
誰もデータクリーニングについて話したがりません。それは退屈です。面倒です。しかし、それは絶対に重要です。私は、60%の失敗したビジュアライゼーションは、チャートの選択やデザインの悪さのためではなく、基礎となるデータが混乱しているために失敗するのだと推定しています。ゴミを入れればゴミが出る—それは本当だからこそ、クリシェのように言われるのです。
"あなたのデータが問題ではありません。あなたのプレゼンテーションが問題です。物語はすでにそこにあります—ただ見えるようにする必要があるだけです。"
実際のCSVファイルは災害です。同じファイルに異なる6つの形式の日時列を見たことがあります。テキストノートが混入した数値列を見たことがあります。重複行、欠損値、一貫性のないカテゴリ名(「New York」、「NY」、「new york」、あるいは「New York City」とは?)、およびアポストロフィが奇妙な記号に変わるエンコーディングの問題も見たことがあります。あるクライアントのCSVは、データベースのエクスポートエラーのために14%の行が完全に重複していました。別のクライアントでは、「収益」列が実際の収益と予測収益を混ぜており、区別する方法がありませんでした。
私のクリーニングプロセスは体系的です。まず、元のCSVのコピーを作成します—唯一のバージョンで作業することはありません。次に、明らかな問題をスキャンします:空白の行、繰り返されるヘッダー行、計算を歪める合計を持つフッター行。三つ目に、形式を標準化します。すべての日付をYYYY-MM-DDにします。すべての通貨は記号を取り除き、数値に変換します。すべてのカテゴリ名は一貫した大文字と小文字のつづりにします。
四つ目、そしてこれは重要です—欠損データを処理します。あなたには三つの選択肢があります:欠損値がある行を削除する(そのデータを失うことが許される場合のみ)、欠損値を平均または中央値で埋める(数値データの場合に有効)、または「不明」という別のカテゴリを作成する(カテゴリーデータの場合に有効)。私はかつて顧客満足度データセットに取り組んでおり、18%の回答で年齢データが欠落していました。その行を削除する代わりに、「年齢が提供されていない」というカテゴリを作成し、このグループが異なる満足度パターンを持っていることを発見しました。彼らは実際には意味のあるセグメントだったのです。
五つ目に、データを検証します。数値は意味がありますか?あなたのCSVに小売店が1日に4700万ドルの収益を示しているなら、何かおかしいです—小数点がずれている可能性があります。あなたの顧客年齢データに247歳の人が含まれているなら、それはエラーです。私はシンプルな検証チェックを作成します:最小値と最大値、既知の数値と一致すべき合計、他のソースと一致すべきカウント。
この作業に使うツールはプロセスよりも重要ではありません。Excelの「テキストを列に」機能、「検索と置換」、および「重複の削除」でクリーニングタスクの80%を処理できます。より大きなデータセット(100,000行以上)には、私はpandasライブラリを使ったPythonを使用します—それはより速く、より信頼性があります。しかし、原則は同じです:クリーンなデータは正直なビジュアライゼーションの基盤です。
メッセージに適したチャートタイプを選ぶ
チャートの選択は、多くの人が間違えるところです。彼らは通常、バーチャートや円グラフのように自分が快適に思えるチャートタイプにデフォルト設定しますが、それが適切かどうかは関係ありません。私は、時系列データを円グラフに強制的に適用させるのを見たことがあります。相関データがバーチャートに無理やり押し込まれることもありました。すべての仕事にハンマーを使ってしまうようなものです。
| チャートタイプ | 最適な用途 | データ構造 | 語る物語 |
|---|---|---|---|
| 折れ線グラフ | 時間の経過に伴う傾向 | 連続データの時間系列 | 成長、減少、パターン、季節性 |
| 棒グラフ | カテゴリの比較 | 離散値を持つカテゴリデータ | ランキング、比較、違い |
| 散布図 | 変数間の関係 | 二つの連続変数 | 相関、外れ値、クラスタ |
| 円グラフ | 部分と全体の関係 | 合計が100%になるカテゴリデータ | 構成、市場シェア、分布 |
| ヒートマップ | 大規模データセットのパターン | 二次元の値のマトリックス | 強度、濃度、異常値 |
私の決定フレームワークは、数百のプロジェクトを通じて洗練されてきました。時間の経過による変化を示す場合は、折れ線グラフを使用します。終わりです。折れ線グラフは、時間的な傾向を示す最も効率的な方法です。人間の目は線を追い、パターンを検出するのが得意です。私は、月ごとの売上、日ごとのウェブサイトトラフィック、年ごとの気温のように、時間次元を持つものに折れ線グラフを使用します。比較のために複数の時間系列がある場合は、同じチャートに複数の線を使用しますが、5本以下に留めておかないとスパゲッティになってしまいます。
離散的なカテゴリを比較する場合は、棒グラフを使用します。長いカテゴリ名や多数のカテゴリ(8以上)がある場合は、水平のバーが最適です。縦のバーは、名目上の順序を受ける場合に有用です。