logblog

分析とかデータベースとかの関心ごと

GoogleAnalyticsでよく使う正規表現を理解しよう!

GoogleAnalyticsでよく使う正規表現を理解しよう!

分析しているとなにかと正規表現が必要になりますよね

GAでページのレポートでURLをまとめたり、参照元を指定したり、用途は様々だと思います。

 

今日はGoogleAnalyticsでよく使う正規表現を紹介します

まず覚えるのがこちらの方々

  1. ^
  2. $
  3. |
  4.  ( )
  5. *
  6. +
  7.  [ ]
  8. \

 

この9つだけ覚えればほとんどの表現できるはずです。
この6つを駆使してもなお表現できないものがあればコメント下さい。私がなんとかしましょう!

ではそれぞれの紹介をしましょう!

1.^

笑ってる目みたいなのやつは多分「ハット」って名前です。

先頭を指定する時に使います。例えば

/hatena/index.html

/blog/hatena

の上記2つみたいに同じディレクトを持つURLが複数ある時に

^/hatena/

と記述することで上の「/hatena/index.html」だけを表現することができます

2.$

ドルマークは最後を指定する時に使います。とても良く使います!

/sp/

/sp/hatena

みたいな感じで/sp/だけを指定したい時ってよくありますよね。

TOPページだけ指定したいんだって時ですよ。

そんなときは「$」で解決!

/sp/$

って書くだけです

3.|

この縦棒はorと同じ意味ですね

/sp/

/

上記みたいにスマホのTOPページとPCのTOPページが違う時ありますよね

^/$|^/sp/$

と書けば両方指定できちゃいます

4. ( )

 お次は()です。全角ダメですよ!半角ですよ!

()の中で括られているものは、正規表現をグループ化できます

^/$|^/sp/$

こういう重複表現がある時に便利。一括りにできちゃいます

^(/|/sp/)$

スッキリしましたね。

5・6・7.「.」と「*」と「+」

これは一度の覚えた方が楽ですね。

「.」は任意の1文字のことを表します。ほんとになんでもいいから1文字って意味

「*」は直前の文字が「0回以上」ある場合に使います。「0回以上」っていうのは注意です。直前の文字がないかもしれない時に使えます。

「+」は直前の文字が「1回以上」ある場合に使います。直前の文字が絶対に1回はあるよってときはこっちを使いましょう

 

なぜ一度で覚えたほうがいいかというと

.*

という風に使うことが多いからです。

/hatena/yugioh/blog

/hatena/yugi/blog

みたいに/hatena/のあとの何かがあってその後に/blog/があるURLを指定したい時は下記

/hatena/.*/blog

と記述すればいいわけですね。

 

8. [ ]

これは囲まれた文字が任意の文字列で含まれる場合に使います

/hatena/111

/hatena/112

/hatena/113

 みたいな感じで詳細ページとかがいっぱいある時

/hatena/[0-9]++

と書けば、3文字の数字が続くURLをまとめることができますね

9つの中には入れなかったですがこれ「-」も正規表現です。
数字とかアルファベットの範囲を決まるときしか使いません。したがって

[0-9]

[3-8]

[a-z]

[d-k]

みたいなやつしか使いみちないっすね。優先度低めっす。

 

9.\

最後はバックスペースです。これが厄介でエクセルとかだと¥マークになっちゃうのよ
¥マークでも機械は同じものと認識してくれるので安心してください

直後の文字は正規表現じゃありませんって意味です

よくutmパラメータとかをエスケープする時に使いますね。

\?utm~~~~

みたいな感じです。

「?」自体が正規表現であるってことを認識してくれるので置きましょう。

 

GA上ではどんな文字が正規表現なのって言うのは下記リンクに書いてあります!

https://support.google.com/analytics/answer/1034324?hl=ja

 

今回は以上ですが、実際に正規表現書いてて困ったらコメントしてみてください。

答えちゃいますよw

 

【基本】ユーザー、セッション、ヒットの定義を理解しよう

前回のおさらい

前回は、セッションの定義がテーマでした。

セッションとは、サイトに流入してから離脱するまでの一連の流れのことでした

その中でも、離脱にも大きく3種類ありましたね。

・一定時間操作をしなかったとき
・日付が変わったとき
参照元が変わったとき

詳しくは、過去記事を参照してください!

 

bigfirst.hatenablog.com

 

今回のテーマはユーザー、セッション、ヒットの定義です。

これらの3つは「スコープ」と呼ばれ、GA上でのデータ粒度だという認識でOKです。

ユーザー

「ユーザー」が一番大きな粒度で、まさにユーザー一人ひとりのことを指します。

一人のユーザーが何回サイトに訪問したとしても、ユーザーの数値は「1」です。

ただし、ユーザーにも注意事項があります。

今どきの人だったら、パソコンとスマホを使い分けていますよね。

例え、同一人物だったとしても、別々のデバイスからのアクセスは、別々に集計されてしまいます。なぜならば、デバイスが違うけど、同一人物であるとGAなどの解析ツールは判別できないからです。

よくよく考えれば当たり前のことですが、ユーザーという言葉だからと言って、複数のデバイスを使い分けるユーザーは別々のユーザーになってしまうのですよ。

また、同じデバイスを使っていてChromeを使っている時とインターネットエクスプローラを使ってる時は別のユーザーとして判断してしまいます。

なので「ユーザー」というには正確には「ユニークブラウザ数」な訳です。

 

クロスデバイス分析

少し話は脱線しますが、最近では、本当にユーザー単位で分析しようという流れが強まってきています。カスタマーエクスペリエンス(CX)だったり、カスタマーアナリティクスという言葉が生まれているようにアクセス解析も時代と共に進化してます。

カスタムディメンションを使ってクライアントIDベースで分析したり、GAでもGoogleアカウントをデバイス間で紐づけたり(ベータ版ですが)分析の潮流はそういった流れに向かってます。

 

セッション

前回の記事でまさに説明したところですね。

繰り返しになりますが、サイトに訪問してから離脱するまでの一連の流れのことです。

例えば、Aさんが同じデバイスで、昨日と今日、1回ずつあなたのサイトに訪問したとします。

この場合だと、ユーザーは「1」、セッションは「2」になります。

 

ヒット

「ヒット」というのは最小単位の粒度になります。
例えば、ページビューが「ヒット」に定義される概念に当たります。

ヒットの場合は、イベント、PV、トランザクション様々な概念があって、それぞれをヒットとして考えます。

「セッション」が一連の流れであるのならば、「ヒット」は「セッション」を構成する要素になります。

 

デュエリストにしか分からない例えかもしれませんが、「セッション」がデッキならば、それを構成するカードが「ヒット」です。カードの中にもモンスターカード、マジック、トラップいろんな種類がありますよね。「ヒット」にもいろんな種類があるのです。(じゃあユーザーは、デュエリスト?)

 

今回のテーマはここまでです。

最後の例えが意味不明の例えかもしれませんが、ご了承ください。
あまりにも、わかりづらい!デュエリスト以外にもわかりやすい例えをしろ!と苦情が入りましたら書き直そうかなと思います。

 

次回以降にこれらのスコープと指標とディメンションの話を書こうと思います。

ご精読ありがとうございました。

 

データベースの種類とは?リレーショナルデータベースとは何か?

前回データベースの基本機能についての説明をしたかと思います

bigfirst.hatenablog.com

今回のテーマはデータベースの種類についてです。

データベースは5つに分類されます。

  • 階層型データベース
  • リレーショナルデータベース
  • オブジェクト指向データベース
  • XMLデータベース
  • NoSQLデータベース
階層型データベース

簡単に説明すると組織図とか樹形図みたいな階層ごとにデータを分類しているもの

リレーショナルデータベース

行と列があるエクセルの表みたいなデータベース
広く使われているデータベースって言葉は、大体リレーショナルデータベースのことだと思います。

オブジェクト指向データベースとXMLデータベース

オブジェクトとかXMLという形式のデータを活用したもの

NoSQLデータベース

最近比較的話題なやつですね。
SQLっていうデータベースを操作する言語を使わないものですね。
Webサービスとの親和性も高くて今後もっと活用の幅が増えてきそうですね

 

やはり、主流はリレーショナルデータベース

データベースを管理するソフトウェアのことをDBMS(データベース管理システム)というのですが、基本的にはリレーショナルデータベースを前提に作られてます。

MySQLpostgreSQLなんかが代表的なDBMSです


リレーショナルデータベースの大きな利点として、プログラミング言語が不要であることです。プログラムなんて全然できないって人でも扱えちゃいます。
まあ、SQLは必要ですが、シンプルな言語なので誰でも比較的すぐに扱えるようになると思います。

リレーショナルデータベースを扱える製品はたくさんありますが、SQLさえ覚えればどの製品でも基本的には同じSQLで操作ができちゃうわけです。

リレーショナルデータベースの基礎

リレーショナルデータベースとは、エクセルの表みたいなものです。
なおかつ、大体の用語がエクセルと同じです。

「列(カラム)」「行(ロー)」「セル」といったものはエクセルと同じです。

すこしだけ、聞き覚えがないものが「テーブル」です。表そのもののことを「テーブル」と呼びます。

 

次回書くときはSQLについて書くと思います。

ご精読いただきありがとうございます。