多くの場合、データ分析は次のように編成されます。ここにはリポジトリの開発者がいますが、ここにはアナリストがいます。 DWH(データウェアハウス、ストレージ)ではSQLが可能で、アナリストはExcelで作業できます。 何かを分析する必要がある場合は、アナリストに行き、データを求めてDWHに行きます。 論理的なようです。 そして、これは通常の分業であると多くの人が感じています。 この記事では、この分業は誤りであり、データ分析のプロセス全体の効率と生産性を劇的に低下させるという考えを伝えたいと思います。
分析問題の典型的な作業サイクルは次のようになります。
- ビジネスは問題を思いつき、答えを求めます。
- アナリストは、何をする必要があるかをビジネスと話し合っています。
- アナリストは、彼らが彼らからビジネスを望んでいることに気づき、データについて必要なものを理解しています。
- アナリストは、DWHでクエリを作成してデータを取得します。
- DWHは要求を受け取り、読み取り、要求、明確化、データの取得、提供を行います。
- アナリストは、自分がすべてを手に入れたり、誤解したりしていないことを理解し、データを取得するためにDWHで再度リクエストを作成します。
- DWHは要求を受け取り、読み取り、要求、明確化、データの取得、提供を行います。
- アナリストは、自分がすべてを手に入れたり、誤解したりしていないことを理解し、データを取得するためにDWHで再度リクエストを作成します。
- 手順7と8を繰り返します
一度、DWHの担当者は、データを提供できないか、アナリストからの非常に多くのリクエストを処理する準備ができていないと言います。 これに応じて、アナリストは、何らかの種類の優れたデータをDWHから収集し始めます。 そこで、彼らはDWHから「戦いなし」で得られるものに基づいて、可能な限りETLプロセスを収集し始めます。
結果として私たちには何がありますか:
- DWHは消費者のニーズを十分にカバーしていません(DWHの一部では、ユーザーは自分が何を望んでいるかわからないようです)。
- アナリストは、不良ETLプロセスの記述を開始し、データ量に応じて擬似DWHを作成しますが、予約、アクセス制御、低パフォーマンスなどは必要ありません。
- DWHとアナリストの相互作用が苦しむのは、 1つはビジネスについて気にせず、2つ目は「鳥の言語」を理解していません。
- 現在、データ処理プロセスはDWH以外の多くの手作業であるため、ビジネス上の質問に対する回答を取得するプロセスが遅れています。 そして、単一のリポジトリを除いて、なぜDWHを構築したのですか?
- ビジネスからの問題のステートメントの小さな変更により、データ分析サイクルがほぼゼロから開始されます。 DWHは再び柔軟性を示さず、アナリストは新しいコンテキストのデータを持ちません。
解決策は何ですか? DWHとアナリスト間の相互作用の問題を取り除きたい場合は、DWHとアナリストの能力を近づける必要があります。 これらの能力を組み合わせた人は、データアナリストと呼ばれます。
このようなフルスタックデータアナリストは何ができるはずですか?
- 生データソースを操作し、データストレージの仕組みを理解します。
- データコンテンツの観点からリポジトリで変更する必要があるもの、追加するデータ、および方法論的にデータを処理する方法を策定して、筋金入りのDWH開発者が実装できるようにします。
- ビジネスのニーズを理解し、要件について話し合い、社内または社外の顧客が問題とその解決策を策定するのを支援します。
- 分析ソリューションを設計できる、つまり 問題の解決方法、必要なデータ、「発明」する必要があるもの、想定する必要があるものを理解する
- 結果を視覚化し、顧客(内部または外部)に報告できるようにする
- 「再現可能な」スタディを作成できるようにするために、これは同じデータで常に繰り返され、同じ結果を得ることができる分析です。 これを行うには、R / pythonまたは分析プロセスを形式化できるシステムで作業できる必要があります。
1つの分析で技術的能力と分析的能力を組み合わせると、エンドツーエンドの問題を解決できる真に不可欠な従業員が得られます。 そして、これは分析タスクにとって非常に重要です。 このアナリストのみが、彼が何をしているか、そしてその理由を理解しています。 「分析」する人と「データを処理する」人に分かれると、これらの各従業員は無効になります。アナリストは手がありません。 大規模なものを取得して処理することはできません。データエンジニアは、いわば「頭脳なし」です。 彼はそれがどのように使われるのか、そして仮説は何であるのか考えていない
分業は非常に重要ですが、わずかに異なる面で行わなければなりません。 アナリストは分析に必要なすべてのものを入手できる必要があり、データエンジニアのタスクは、アナリストが関心を持つ可能性のあるあらゆるセクションのデータを効果的に提供するシステムを構築することです。 データエンジニアにとって、これは、データをかなり柔軟な形式で格納する必要があることを意味しますが、同時に使いやすく、部分的に非正規化され、部分的にキューブを介してアクセスし、部分的に事前集計および計算されます。
また、自分でフルスタックアナリストが見つからない場合は、少なくとも分析チームにData Engeneerを含めて、データを操作する能力が分析から外部サービスに移らないようにします。
google adwords APIからのデータの取得をサポートするのはデータアナリストの仕事ではありませんが、Data Engeneerが先月の収益に関するデータを取得するための選択を記述することは仕事ではありません。