BigQueryがむンタヌネットマヌケタヌにどのように圹立぀かSQLずGoogle DataStudioでのレポヌトの芖芚化に関するいく぀かのトリック

Axmorのモバむル開発責任者であるIgorGalichinは、SQLの知識を持぀たたは他の゚ンゞニアの助けを借りおマヌケティング担圓者がAndroidアプリケヌションでナヌザヌの動䜜を提䟛する問題を回避する方法に぀いおNetologyブログに語りたした。



この蚘事は、Androidアプリケヌションを操䜜し、そのアプリケヌションで広告キャンペヌンを開始し、結果を分析し、GoogleAnalyticsをこれに䜿甚できなくなったこずに腹を立おおいる人に圹立ちたす。この蚘事には、BigQueryをFirebaseに接続し、DataStudioで矎しくレンダリングする方法に぀いおの説明が含たれおいたす。



Axmorは2010幎からモバむルアプリケヌションを開発しおいたす。 2016幎、ロシア最倧の航空䌚瀟の1぀が、チケット販売甚のAndroidクラむアントアプリケヌションの改蚂ずその埌の開発を泚文したした。特に、私たちのタスクには、アプリケヌション内で定期的に行われるプロモヌションの分析を収集するためのツヌルの開発、および芖芚的な圢匏でのデヌタの提䟛が含たれおいたした。 



2020幎たで、私たちはこれらの目的のために、そしお他のアプリケヌションでGoogleAnalyticsを䜿甚しおいたした。しかし、2月4日、䌁業はこの機胜をオフにし、FirebaseAnalyticsぞの切り替えを掚奚したした。このSDK英語の゜フトりェア開発キットからは、前のSDKが提䟛したすべおの可胜性を提䟛するわけではなく、特に、非暙準のレポヌトを䜜成するこずはできたせん。   



Firebase Analyticsの制限ずその察凊方法は䜕ですか



この問題を解決した私たちの経隓を説明するために、航空刞を販売するためのアプリケヌションに目を向けたしょう。Google Analyticsが切断され、Firebase Analyticsが眮き換えられるようになったずき、顧客のナヌザヌ行動分析を同じ深さで維持し、新しい非暙準レポヌトをすばやく蚭定するず同時に、矎しくアクセス可胜な芖芚化を提䟛するずいう課題に盎面したした。 



Google Analyticsでは、ナヌザヌがアクセスする画面、チケットを探しおいる目的地、出身地、アプリケヌションで蚱可されおいる画面の数、匿名の画面の数を確認できたす。さらに、各方向で賌入されたチケットの量、プロモヌション埌に特定の方向の売䞊がどのように増加したかなどを垞に確認しおいたした。Firebase Analyticsでは、倉換を詳现に分析できる統蚈のこの2番目の郚分は、生の圢匏でのみ利甚可胜でした。぀たり、それを匷化する方法が必芁です。 



FirebaseAnalyticsでできるこずは次のずおりです。 



  • 賌入むベントを蚭定したす。
  • パラメヌタでは、補品の名前方向たたはその識別子ず䟡栌を瀺したす。
  • 次に、Webサむトのレポヌトで、どのフラむトで販売されたチケットの数、平均賌入䟡栌、合蚈賌入数を確認できたす。 


むラストの情報は実際のものずは䞀臎しおいたせん。すべおの数字は䌁業秘密のために倉曎されおいたす。これは、䟋の意味ず明確さに圱響を䞎えたせん。基本的に、Firebaseの機胜のみを瀺したす。






ここでは、䜕人のナヌザヌが䜕枚のチケットを賌入したかを確認したす。顧客は、たずえば、Yekaterinburg-Moscowルヌトのチケットをいくら賌入したかを知りたいず考えおいたす。FirebaseAnalyticsはそのような答えを提䟛したせん。 







レポヌトの情報内容は、暙準のパラメヌタセットによっお制限されたす。党䜓像のみが衚瀺されたす。 



この堎合、Firebase Analyticsで完党に実装できなかったデヌタ分析の別の䟋アプリケヌションは、フラむトずルヌトの内郚広告を衚瀺したす。顧客は、広告を芋た埌にチケットを賌入したナヌザヌの数を知りたがっおいたした。そしおもちろん、商品や圚庫などによる収入の内蚳もありたす。繰り返したすが、暙準ツヌルではこの機䌚は埗られたせんでした。 



BigQueryを䜿甚しおAndroidアプリ内の売䞊を分析する方法



さたざたなセクションですばやく芖芚的なレポヌトを取埗する方法を探し始めたした。より詳现なデヌタ分析が必芁な堎合、GoogleはBigQueryWebサヌビスに接続するこずをお勧めしたす。しかし、私たちの理解では、ツヌルはビッグデヌタで動䜜するず䞻匵されおいるため、スズメの倧砲のようでした。ただし、ツヌルを詳现に調査したずころ、比范的少量のデヌタの分析が必芁であるず同時に非暙準であるタスクにも適しおいるこずがわかりたした。確かに、過去2幎間で、ビッグデヌタの抂念は倉化したした。今では、Excelで凊理するのが䞍䟿なだけです。



BigQuery接続



BigQueryをFirebaseAnalyticsに接続するのは簡単です。ほがすべおのFirebaseAnalyticsペヌゞで、これを行うこずをお勧めしたす。これに぀いおの詳现な説明がありたす。



唯䞀の泚意点は、BigQueryをむベントデヌタに接続するには、FirebaseのBlaze支払いプランに切り替える必芁があるずいうこずです。これは、Firebaseサヌビスを䜿甚するずきに料金が発生するこずを意味したす。私たちの経隓では、BigQueryサヌビスは、小さなプロゞェクトで泚意深く䜿甚するず安䟡です。 



BigQueryを介した無料プランでは、Crashlytics、Predictions、Cloud Messaging、およびPerformanceMonitoringのデヌタにのみアクセスできたす。 



BigQueryはFirebaseAnalyticsの䞀郚ではないこずを理解する必芁がありたす。これは、倧量のデヌタを凊理するように蚭蚈された別個のGoogleサヌビスです。この堎合、Firebase Analytics forBigQueryは可胜なデヌタ゜ヌスの1぀です。BigQueryを接続するず、盞関関係やより倚くの掞察を芋぀けるこずができたす。 



接続埌はどうなりたすか 



BigQueryをFirebaseAnalyticsに接続するず、生の圢匏で収集されたデヌタを確認できたす。 BigQueryをプロゞェクトに接続した埌に収集されたデヌタにのみアクセスできたす。今日BigQueryに接続するず、今日から受信したデヌタを凊理できたすが、昚日のデヌタは凊理されたせん。



それで、すべおを接続し、サヌビスのメむンペヌゞに移動したす。私たちのプロゞェクトはリ゜ヌスにありたす。デヌタには1぀のテヌブルがありたす- events。 FirebaseAnalyticsからのすべおのデヌタはここに収集されたす。 







実際、これは1぀のテヌブルではありたせん。毎日のデヌタはevents_<>、たずえば、ずいう名前のテヌブルに配眮されたすevents_20200308。 



デヌタ自䜓を芋おみたしょう。Firebase Analyticsからのすべおのむベントは、テヌブルに蚘録されevents_*たす。テヌブルの各行は個別のむベントです。日付、デバむス情報、ナヌザヌ情報など、倚数の列がむベントパラメヌタを衚したす。デヌタは衚に衚瀺されたすが、それは完党に普通ではありたせん。これは、ツリヌ構造の衚圢匏の衚珟です。以䞋は、テヌブル行のJSON構造の䟋です。簡朔にするために、すべおのデヌタが構造に含たれおいるわけではありたせんが、党䜓像はそれから理解できたす。







デヌタ構造を芋るず、次のものが含たれおいるこずがわかりたす。



  • . , - . : event_date, event_timestamp, event_name.
  • -. , , event_params user_properties. — . . — --. ,
  • -. — device. . — device.category, device.operating_system device.operating_system_version.


最初はデヌタ構造が耇雑に芋える堎合は、詳しく調べるず簡単になりたす。最終的に、FirebaseAnalyticsからのすべおのむベントに関する情報を手に入れるこずができたす。そしお、そこから必芁なデヌタを匕き出す必芁がありたす。 

いく぀かのリク゚ストをしおみたしょう。たずえば、むベントのすべおの日付を衚瀺したしょう。

    

SELECT event_date

FROM `project_name.data_set.events_20200202`


結果が衚瀺されたす。







project_name.data_set.events_20200202この堎合、特定のテヌブルの名前。これは、プロゞェクトの名前、デヌタセットの名前、およびFirebaseAnalyticsからのむベントを含む日次テヌブルで構成されたす。぀たり、このク゚リでは、2月2日のむベントがあったテヌブルからむベントの日付を取埗したした:)あたり圹に立ちたせんが、ク゚リの䟋ずしおは機胜したす。実際には、利甚可胜なすべおのデヌタからサンプリングする方が䟿利です。この堎合、特定のテヌブルの代わりに指定できたすproject_name.data_set.events_*。リク゚ストに有甚性を远加しお、たずえば、次の名前のむベントの日付ず郜垂を芋぀けたしょう"booking_purchase"。

    

SELECT geo.city, event_date

FROM `project_name.data_set.events_*`

WHERE event_name = "booking_purchase" and geo.city != ""


我々が埗る







興味深いのは、テヌブル内の特別なフィヌルドである配列だけです。䟋えばevent_params。このようなフィヌルドを操䜜するには、UNNEST挔算子を䜿甚するこずをお勧めしたす。この挔算子は、配列フィヌルドを取埗しおテヌブルに倉換したす。 

ク゚リを改善しお、パラメヌタ倀を衚瀺したしょう"direction"

    

SELECT 
geo.city, 
event_date,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = "direction") AS direction,
    	
FROM
`project_name.data_set.events_*`
    	
WHERE
event_name = "booking_purchase" and geo.city != ""


結果







では、䜕を远加したしたか。UNNEST挔算子をフィヌルドに適甚したしたevent_params。その結果、行がむベントのパラメヌタヌであり、列がこれらのパラメヌタヌのプロパティであるテヌブルが埗られたした。パラメヌタには、キヌず倀の2぀のプロパティがありたす。倀- 4぀のフィヌルドを持぀オブゞェクトstring_value、int_value、float_valueおよびdouble_value。パラメヌタ倀はstring、int、float、doubleにするこずができるため、これらのフィヌルドはさたざたなデヌタタむプに必芁です。次に、サブク゚リを䜿甚しお、フィヌルドがkey等しいパラメヌタの文字列倀を匕き出したしたdirection。これは、テヌブル内の配列フィヌルドを操䜜する方法です。



Firebase Analyticsが提䟛できなかったもの、぀たりアプリで販売された各補品の収益の内蚳を取埗したしょう。



  1. Firebase Analyticsでは、賌入むベントを枡し"booking_purchase"たす。 
  2. その䞭で、2぀のパラメヌタを枡したす"direction"ず"price"。方向-補品識別子、䟡栌-その䟡栌。


販売された商品の数ず金額を知りたいのですが。調べるためのリク゚ストは次のようになりたす。



SELECT
  	
direction,
  	
count(direction) as count,
  	
sum(price) as total_sum
FROM
(
    	
SELECT
      	
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = "direction") AS direction,
      	
(SELECT value.double_value FROM UNNEST(event_params) WHERE key = "price") AS price
    	
FROM
        	
`project_name.data_set.events_*`
    	
WHERE
      	
event_name = "booking_purchase"
      	
)
group by direction
order by total_sum desc


結果







必芁なデヌタを取埗したした。 



DataStudioでレポヌトをレンダリングする方法



顧客がい぀でも来お販売統蚈を芋たいず思っおいるずしたしょう。ク゚リを保存しお、BigQueryコン゜ヌルに移動し、ク゚リを実行しお結果を確認できるこずを顧客に䌝えるこずができたす。しかし、Googleはより良い゜リュヌションを提䟛したす。 



ク゚リ結果は、DataStudioサヌビスで芖芚化できたす。このサヌビスを䜿甚するず、Firebase Analyticsのデヌタに劣らない衚、グラフ、図、矎しさ、機胜の圢匏でデヌタを衚瀺できたす。これを行う方法を芋おみたしょう。



レポヌトを䜜成するには、サヌビスのメむンペヌゞに移動しお、新しいドキュメントを䜜成する必芁がありたす。デヌタ゜ヌスずしおBigQueryを遞択したす。







レポヌトは、テヌブル、保存されたビュヌから、たたはク゚リによっお盎接䜜成できたす。埌者のオプションでは、日付パラメヌタヌを䜿甚できたす。これらのパラメヌタを䜿甚しお、日付によるデヌタ遞択を制限し、凊理されるデヌタの量を最適化できたす。結果は、Google AnalyticsずFirebaseのむンタヌフェヌスに䌌おいたす-ほが同じフォヌムず機胜です。同瀟は芖芚化の芳点からベストプラクティスを採甚し、それらを公開したようです。 







パラメヌタDS_START_DATEずの間で発生したむベントのみが遞択されるように条件を远加したしたDS_END_DATE。これらのパラメヌタは、レポヌトフォヌムから盎接リク゚ストに枡されたす。レポヌトを䜜成するず、すぐに次のようなものが衚瀺されたす。







次に、日付範囲の遞択を远加できたす。これを行うには、適切な

コンポヌネントをフォヌムに远加したす。







このコンポヌネントで遞択された日付は、パラメヌタヌDS_START_DATEおよびずしおク゚リに盎接送信されたすDS_END_DATE。その結果、衚瀺モヌドでは、レポヌトは次のようになりたす。







同様に、フォヌム䞊の他のコンポヌネントグラフ、チャヌト、画像、テキストなどを远加およびカスタマむズできたす。その埌、リンク共有を介しお、たたは必芁なアカりントぞのアクセスを提䟛するこずにより、レポヌトを共有できたす。  



BiqQueryは恐れるこずのない効果的なツヌルです



モバむルアプリは、特にデヌタ駆動型のアプロヌチを採甚しおいる堎合、匷力な販売およびマヌケティングツヌルです。BiqQueryを恐れおはいけたせん。たた、このツヌルは耇雑であり、䞀般的に、ビッグデヌタはあたりにもクヌルだず考えおください。BigQueryは、分析郚門をSpotify、Delivery Food、その他のデヌタゞャむアントのレベルにたで高め、マヌケティングでも、補品で。 



BigQueryの利点



  • すばやく構成され、数秒でデヌタを凊理できたす。サヌバヌも、高䟡なむンフラストラクチャも、管理者もいたせん。 
  • , , , : , , -, CRM.
  • , — .  
  • SQL — . 
  • Data Studio, .







All Articles