【備忘録】Google Analyticsの定時レポート_Spreadsheetを使う
Google Analyticsのレポートを毎週、毎日出してくれ!とオーダーされる機会は多いかと思います。 RやPythonでAPI経由で取得する、という方法もありますが、何故か日本の企業はセキュリティは厳しいので手元のアプリケーションからAPIを読み込むとエラーになってしまうことも。 (*私がそうだ、ということです。。。)
基本的なやり方は各リンク先に譲り、その先の微妙なポイントだけまとめておきます。
GoogleのSpreadsheetを使う
調べていくとGoogleのスプレッドシートのアドオンを使う方法がありました。
最初の設定及びピボットテーブルなどを使う方法はコチラを参照下さい
定時レポートにする
アドオンの中に毎週だとか毎日だとか何時に集計だとかありますので、 これで定時レポートは完成です
日付の入力など
デフォルトでは7日分が期間設定となっていますが、開始日・終了日を指定することも可能です
特定のページに絞る
ある意味ここが一番知りたいところです。
Google Analytics APIで日付×ページ別にPVを集計する方法 http://www.plusmb.jp/2010/10/26/5467.html
例えば、Flitersの欄に以下のように記述します
- あるディレクトリ(hogehoge)以下のみを集計対象にする
ga:pagePath=~/hogehoge/
- あるページ(/hogehoge_1.html及び/hogehoge_1.html)のみを集計対象にする
ga:pagePath=~/hogehoge/hogehoge_1.html,ga:pagePath=~/hogehoge/hogehoge_2.html
この時、「”http://~"」などの記述は不要です
おまけ
Google Analyticsについて説明した本はあまた書店に並んでいるのですが、「ページ別に出したい!」「GDNとgoogle/cpcの違いがわからない!」などといった実務をやっていればすぐにでも課題になるところのアドバイスが全然ないものが多くて、この手の情報に関しては個人のありがたいブログに頼りっきりです。
dot言語がフロー図に便利
最近dot言語を知りました。 今までPowerPointやIllustratorでチマチマ作図していたフロー図が簡単に描ける便利ツールです。
導入
こちらのブログの通りに、公式サイトに行ってダウンロードしてインストール
Graphvizメモ(Hishidama's Graphviz Memo)
起動
スタートメニューからgvedit.exeを起動するだけ
保存・実行
新規作成して「.dot」ファイルとして保存します。
記述方法
「->」を使って、矢印の関係性だけを記述していけば、勝手にそれらしい図になります。 文法はこちらのサイトがとても分かりやすくまとまっていました。
日本語を使う場合フォント指定が必要
普通にやると文字化けするのでフォント指定が必要
WindowsでGraphvizを使う | You Look Too Cool
※その他、文字コードの指定も必要っぽいのですが、ここはまだ何が正解かわかりません
例
例えば、以下のように記述すると
digraph zu01 {
node[fontname="meiryo"];
edge[fontname="meiryo"];
時間が足りない -> 他人に振れない
他人に振れない -> 自分でやる
自分でやる -> 時間が足りない
自分でやる -> 精度が下がる
精度が下がる -> 出し直しが増える
出し直しが増える -> 時間が足りない
}
こうなります
必要な関係性を記述していくだけで勝手に図にしてくれるので、作業効率が上がると思います。 綺麗に清書したければ、この画像をベースに描けばよいでしょう。
【備忘録】Jupyterで日本語をグラフに表示する
デフォルトでは”豆腐”になる
Jupyterのグラフに日本語のラベルを入れるとデフォルトでは所謂”豆腐’になる。
自分の環境では
Jupyterではpylabとseabornを使っているので、以下のサイトを参考に設定をしました。
設定周りの変更
pythonのフォントの設定が入っているフォルダを探す
フォントのデータをそのフォルダに入れる
設定ファイルをこのサイトの通りに変更する 【Seaborn】日本語を表示する (フォントを変更する) - Qiita
コードを書く時の注意
- フォントを都度都度呼ぶ
sns.set(font=['IPAexGothic'])
※snsはseabornをそういう名称で読み込んだためです。
- Unicodeであることを明示する
pylab.ylabel(u"投資額")
Windowsなのでデフォルトがアスキーコードです。「u」をクォーテーションマークの前につける必要があります
そもそもで幾つかの注意
そもそもJupyter でグラフを表示するまでに必要なコードがある。
冒頭に「# -- coding: utf-8 --」
import seaborn as sns import pylab %matplotlib inline
できました!
今回のコード全文
冒頭に「# -- coding: utf-8 --」
import seaborn as sns import pylab %matplotlib inline pylab.figure(1) principal = 10000 interestRate = 0.05 years = 20 values =[] for i in range(years + 1): values.append(principal) principal += principal*interestRate pylab.plot(values) sns.set(font=['IPAexGothic']) pylab.title("5% Growth,Compounded Annually") pylab.xlabel("Years of Compounding") pylab.ylabel(u"投資額") pylab.show()
壁紙
壁紙のツイート
Twitterで面白い壁紙のツイートを見ました
「お前デスクトップおかしくないか?」と父にツッコまれたけど、おかしくないと思うんですがそれは。
— Halcyon@printemps (@UV_Yukiha) 2016年7月28日
実際こうしてから能率があがったし。 pic.twitter.com/BFreauRlbM
三次元空間に拡張するとは!
調べてみた
調べてみると色々壁紙がある。
懐かしき上田先生
というわけで作ってみました
Windowsのデフォルトの背景色にGOTHAMフォントで入れています。
IoTの理解のキーワードはモジュール化と中小企業
ちょっと前と最近とに読んだIoT関連本で共通のキーワードとして「 モジュール化 」が出てきました。
IoTには様々な側面がありますが、余りインターネット上の記事では指摘されていないこの視座について、まとめておきたいと思います。
読んだ本とは?
少し前に読んだ本。製造業がモジュール化したことにより、個人や中小企業でも簡単にIoTメーカーになれる、ということが指摘されていました。
最近読んだ本。ドイツのインダストリー4.0では、モジュール化と同時に、産業内での仕様を標準化させることによって、中小企業の製造する部品類が一つの取引先相手ではなく様々な相手に売りこむことができるようになることを目論んでいる、という指摘がありました。
モジュール化とは?
家電の例がよく上げられますが、例えば真空管全盛期であれば、真空管の独自技術こそが競争優位性のポイントでした。しかし近年では、センサーや集積回路などパーツ単位で外部の企業から部品を買い、自社では組み立てるだけで競合と差のない製品を作れる時代になりました。この”パーツ単位で組み合わせればいい”というのがモジュール化のポイントです。
シャープが亀山工場で液晶モニターを売りにしていましたが、サムスンやLGがあっという間に追いついて抜いてしまいましたし、PC事業も顕著な例でしょう。 モジュール化が進んだ断行ではその気になれば誰もが参入できるのです。
モジュール化時代のマーケティングの重要性
Appleの画面を納入しているのは日本のメーカーだ!今度は日本が外される!等々、話題になっている通りAppleでは設計・デザイン・マーケティング・販売は行いますが製造は世界中の工場に委託して組み立てています。
モジュール化が進むと、最終生産財を作っている企業は、「売れる商品を考える」「売れる宣伝方法を知っている」「売れるルートを知っている」「顧客のデータを持っている」といった”マーケティング”部分が重要になってきます。
例えば、日本が独自技術を無理に機能に突っ込んで価格を上げたりして海外市場に苦労している隙に、サムスンは世界各地に自社の社員を生活させ行動観察をさせました。インドならインド人が好むモニターの色の傾向、インド人が好む扇風機の色、等々をリサーチし、必要な機能を望まれる値段で提供することでシェアを拡大しました。
※地域専門家制度について
プロダクトアウトではなくマーケットインだ、というのは既にマーケティング2.0の時代の話ですが、まだそこに追いついていないのが日本の現状です。
日本の企業にはまともなマーケティング部門がないということは森岡毅さんも強く指摘しています。
USJを劇的に変えた、たった1つの考え方 成功を引き寄せるマーケティング入門 [ 森岡毅 ]
- ジャンル: 本・雑誌・コミック > ビジネス・経済・就職 > 産業 > 商業
- ショップ: 楽天ブックス
- 価格: 1,540円
中小メーカーの可能性
裏を返せばマーケティング能力があれば誰でもメーカーになれる時代ということです。
そんなリスクも投資もできないと思うかもしれませんが、クラウドファンディングによってコアなユーザー向けの商品であっても需要が事前に確認できるような時代になりました。
部品メーカーの逆襲
これまで日本のメーカーは系列に縛られ、親会社でもないのに発注業者に「この技術は他で使うな!」「在庫リスクを抱えたくないから俺たちが必要な時に必要な分を納品しろ」「工場を撤退するからここはもう終わりだ」といった弱い立場であったことに加え、「すり合わせ」と呼ばれる独自仕様を発注時に課され、それに応えてきました。
この「すり合わせ」は、発注先にとって都合の良いものですが、中小企業にとっては他所の企業にはそのままではその製品が売れない面倒な特注品となります。
しかし、ドイツが国を上げて進める標準化がグローバルスタンダード化すれば、すり合わせの必要はなくグローバルに取引先候補が広がります。取引先相手が増えることでポートフォリオを分散できれば、特定の企業の為にすり合わせに応じる必要はありません。更に、独自技術が売り物になるようであれば価格交渉はもっと有利になります。
IoTやインダストリー4.0に期待するパラダイムシフト
IoTはモノとモノとが情報を交換するようになりより効率的に報連相されることです。インダストリー4.0はそのIoTの流れを受けて、工場がより効率的に稼働するようになることです。
これらはどちらも一見すると最終生産財を作っている大企業側の話のように写りますが、これらの事象の裏側で進む「モジュール化」や「標準化」によって、部品を作っている中小企業、最終生産財を作る中小企業、或いは究極的には個人が、活動をしやすくなる環境が整い始めています。
マーケティングとプレゼン力
上記のような時代で生き残るには、マーケティング力が第一に必要ですが、それ以外にも「自社や自社の製品をアピールする」ということが重要になります。
最近読んだ自己啓発系の本ですが、分かり易い企画書の重要性、特に近年は動画でプレゼンするなら動画でのプレゼン能力が重要になってきているという指摘があります。
アイデアを「カタチ」にする技術 思いが伝わる!心を動かす! [ 長澤宏樹 ]
- ジャンル: 本・雑誌・コミック > ビジネス・経済・就職 > 経営 > 経営戦略・管理
- ショップ: 楽天ブックス
- 価格: 1,430円
僕たちは知恵を身につけるべきだと思う IQよりも、知識よりも、 [ もりたまさやす ]
- ジャンル: 本・雑誌・コミック > 人文・地歴・哲学・社会 > 宗教・倫理 > 倫理学
- ショップ: 楽天ブックス
- 価格: 1,738円
最近の若い社員であれば、ニコニコ動画で配信した経験もあるでしょうし、もうすぐ社会人になる人はもっと手軽にスマフォでツイキャスをしていたりします。
気が付けば進化してお求めやすいAdobe製品
月5000円はなかなか貼るお値段ですが、仕事上AIデータの受け取り、Photoshopでの加工、動画のファイル変換、ちょっとした動画の繋ぎ、などをしている身としては、Illustrator、Photoshop、InDesign、Premiere、After Effectsなどが使い放題なのはとてもお得です。
中でもびっくりしたのがこの切り抜き機能。
昔はGIMPで1セル1セル、境界で消したりしていたのですが、ちょっとした企画書に貼る程度の画像ならデフォルトの機能にお任せで充分です。
使い方がわからない~と言って逃げているうちにツールを使いこなす若い世代に追い抜かれないようにしたいものです。
RでGoogleAdWordsのCSVを読み込む時_文字コード_区切り文字_を指定してファイル読込
近年は誰でも安価にデータ分析ができるツールを手にする時代となりましたが、実務に使ってみようと思っても教科書通りにいかない、、ということはよくある現象かと思います。
リテラシーが高い人にとっては呼吸をするように無意識的に対応できるところが、私のような初心者にとっては躓きとなります。
今回は、AdWordsのレポートをCSVファイルで取得した時に文字化けで困ったので、その対応方法についてまとめてみました。
先ずは普通に読み込んでみた
コード
hogehoge <- read.csv("hogehoge.csv") head(hogehoge)
結果
Error in make.names(col.names, unique = TRUE) : invalid multibyte string at '<ff><fe><83>^JT<ec>0ン0<fc>0ネ0' In addition: Warning messages: 1: In read.table(file = file, header = header, sep = sep, quote = quote, : line 1 appears to contain embedded nulls
エラーです
文字コードを確認する
Rではデフォルトの文字コード以外の文字コードのファイルを読み込む際には文字コードを指定して読み込む必要があります。
文字コードの確認には、nkfが便利です。 使い方やインストールはここでは詳解しませんので各自ご準備下さい。
コマンドプロンプトでファイルのある箇所まで行き、nkfで確認
結果
文字コードを指定して読込
read.tableでもread.csvでも文字コードを指定して読込ができます。「fileEncoding = "UTF-16"」を追加します。
コード
hogehoge <- read.csv("hogehoge.csv",fileEncoding = "UTF-16") head(hogehoge)
結果
広告レポート..2016.06.15.2016.07.14. 1 日\t広告の状態\t広告\t広告文 1\t広告文 2\t表示URL\tリンク先URL\t最終ページ URL\tモバイルの最終ページ URL\tトラッキング テンプレート\tカスタム パラメータ\tHeadline 1\tHeadline 2\t説明\tPath 1\tPath 2\tキャンペーン\t広告グループ\tステータス\tラベル\tキャンペーン タイプ\tキャンペーンのサブタイプ\tクリック数\t表示回数\tクリック率\t平均クリック単価\t費用\t平均掲載順位
文字化は解消されましたが、なんか変なデータになってしまいました。
先ずは、どうやら一行目にデータ以外の余分な行が入っているようです。人は何故データ以外の情報をCSVファイルに書いてしまうのでしょうか!!
冒頭のn行をスキップして読込
冒頭の何行かに余分な情報を入れていることはよくある話なので、スキップして読み込むという便利なオプション「skip=(行数)」があります。
コード
hogehoge <- read.csv("hogehoge.csv",fileEncoding = "UTF-16",skip=1) head(hogehoge)
結果*1
日.広告の状態.広告.広告文.1.広告文.2.表示URL.リンク先URL.最終ページ.URL.モバイルの最終ページ.URL.トラッキング.テンプレート.カスタム.パラメータ.Headline.1.Headline.2.説明.Path.1.Path.2.キャンペーン.広告グループ.ステータス.ラベル.キャンペーン.タイプ.キャンペーンのサブタイプ.クリック数.表示回数.クリック率.平均クリック単価.費用.平均掲載順位 ... 1 2016-07-13\tアクティブ\t広告名: 320x100_hogehoge.png; 320 x 100\t\t\t\t\t\t\t\t\t\t\t\t承認済み\t --\tディスプレイ ネットワークのみ\tすべての機能
まだなんだかよくわからない長い行として認識されています。
区切り文字を指定して読込
よく見ると「\t」という文字があります。正規表現でよく見る「タブ」のことだと推測されます。 CSVってカンマ区切りって意味じゃなかったっけ?と思いながら 区切り文字をタブに指定して 読込ます。
コード
hogehoge <- read.csv("hogehoge.csv",fileEncoding = "UTF-16",skip=1,sep="\t") head(hogehoge)
結果の前の方*2
日 広告の状態 広告 広告文.1 広告文.2 表示URL 1 2016-07-13 アクティブ 広告名: 320x100_hogehoge.png; 320 x 100 URL 2 2016-07-06 アクティブ 広告名: 468x60_hogehogec.png; 468 x 60 URL
後ろのほう*3
キャンペーン.タイプ キャンペーンのサブタイプ クリック数 表示回数 クリック率 1 ディスプレイ ネットワークのみ すべての機能 10 10000 __% 2 ディスプレイ ネットワークのみ すべての機能 300 100000 __%
どうやら1行目がヘッダー情報で、2行目からがデータのようです。
ヘッダーを指定する
既にread.csvが勝手にヘッダーを認識してくれているようですが、通常はヘッダーがあるよと指定して読込ます。
コード
hogehoge <- read.csv("hogehoge.csv",fileEncoding = "UTF-16",skip=1,sep="\t",header=T)
空白を空白として認識させておく
データを一部消したので公開した部分にはありませんが、何も書いていない列があったりします。そういう所は、欠損していると認識させておくほうが後で便利な場合があります。
コード
hogehoge <- read.csv("hogehoge.csv",fileEncoding = "UTF-16",skip=1,sep="\t",header=T,na.strings =c("","NULL")) heead(hogehoge)
結果の前の方*4
日 広告の状態 広告 広告文.1 広告文.2 表示URL リンク先URL 1 2016-07-13 アクティブ 広告名: 320x100_hogehoge.png; 320 x 100 <NA> <NA> URL <NA> 2 2016-07-06 アクティブ 広告名: 468x60_hogehoge.png; 468 x 60 <NA> <NA> URL <NA>
もっとちゃんとした情報は
その他にも、文字列が「factro」として認識されて「character」と認識されずに困ることがあります。
自分も苦労した経験があります。もっと早く知っておけばよかったと思います。
今回は必要としなかったその他の読み込み時のトラップはまだまだあります。読み込み時のオプションの指定方法についてはこちらのサイトがよくまとまっていました。
MarkdownのWordにもPowerPointにもなる汎用性の高さに感動
※2019/10/22 記事を更新しました。Pandocから直接PowerPointが作成可能です
先般、Pandocを導入した話をしました。
その後、暫くMarkdownを練習がてら使ってみたのですが、これがなかなかに素晴らしいことがわかってきました。その中でも自分的にこれは良いと思ったところをまとめておきます。
Markdownはテキストファイルで書けるので軽い
Wordの欠点は、とても重いこと。
途中で画面が真っ白になってフリーズしてしまったり、文字の入力や変換に画面表示がついていかなかったり、オート機能をオンにしている人は、Wordが余計な補足をしてくれたり。。。
メモ帳の欠点は、装飾が出来ないこと。
動作は快適なものの、太字やら見出しやら、箇条書きやらは設定できない。
※余談ですが、メモ帳はデフォルトの表示から「書式」 > 「フォント」で、表示するフォントを変えるだけでも快適さは変わります。
Markdownはその両方を兼ね備えている
Sublime Text を使えば、Markdown記法をすぐにプレビューしてくれるし、動作もWordに比べると圧倒的に軽い。
MarkdownはWordにできる
先般の記事の通りWordにするのは簡単で、
先ず、「Windowsキー」+「R」で”ファイル名を指定して実行”を起動し、「cmd」と打てば、コマンドプロンプトが起動します。
そこでカレントディレクトリまで移動し、元のファイル名、変換するフォーマット、変換してアウトプットするファイル名を記載するだけでWordファイルの出来上がりです。
pandoc 20160708.md -t docx -o 20160708.docx
先日の記事ではスタイルを別のWordファイルで参照させましたが、どちらかというと、pandocで変換した後は、Wordの方で整形した方が早いように思います。フォントにしたって自分がよく使うフォントのスタイルを記憶させておけばそれでいいのです。。
MarkdownはPowerPointにもなる
Markdownは、LaTeXを使ってPDFにすることが出来ますが、PDFは更にPowerPointにすることが出来ます。結果的に、MarkdownはPowerPointになるということです。
MarkdownをPDFにする
pandocでbeamerに変換。XeLaTeXを使う。
Tex Live! 等でLaTeXを入れていれば、beamerが使える筈。
pandoc 20160708.md -t beamer -o 20160708.pdf --latex-engine=xelatex -H font.tex
latexのエンジンを指定する必要があります。各種サイトではLuaLaTeXが推奨されていますが、フォントの自由度でXeLaTeXが良いと思います。
日本語を表示させる時の注意
キモは、「-H font.tex」とその中身。
このサイトを参考にしました。
TeXに変換した際にヘッダーとして使うべきLaTeXの記述をTeXファイルにしておいて、それを読み込ませながらpandocは変換をしてくれます。
font.texの中身
ここで日本語フォントになるように設定します。Noto Sans CJKを使いたいのでxltxtraのパッケージを使っています。
\usepackage[size=a4,scale=3.5]{beamerposter} \usepackage{xltxtra} \setmainfont{Noto Sans CJK JP} \setsansfont{Noto Sans CJK JP} \setmonofont{Noto Sans CJK JP} \XeTeXlinebreaklocale ``ja''] \hypersetup{unicode=true}
font.texの置き場所
pandocで変換する時に同じディレクトリに置いておかないといけません。pandocを使う時の作業ディレクトリを決めておいて、そこに置いておけばよいでしょう。
ヘッダーを遊べばもっと面白いことも。
beamerは既存のギャラリーも豊富ですが、
ユーザーが独自に作っているものも美しいものがいっぱいあります。
例えば、ここのKeynote風のものからヘッダーを頂いて、
\usepackage[size=a4,scale=3.5]{beamerposter} \usepackage{xltxtra} \setmainfont{Noto Sans CJK JP} \setsansfont{Noto Sans CJK JP} \setmonofont{Noto Sans CJK JP} \XeTeXlinebreaklocale ``ja''] \hypersetup{unicode=true} \usetheme{default} \usepackage{color} \useoutertheme{default} %\usepackage{texnansi} \usepackage{marvosym} \definecolor{bottomcolour}{rgb}{0.32,0.3,0.38} \definecolor{middlecolour}{rgb}{0.08,0.08,0.16} \setbeamerfont{title}{size=\Huge} %\setbeamercolor{structure}{fg=gray} \setbeamercolor{structure}{fg=white} \setbeamertemplate{frametitle}[default]%[center] \setbeamercolor{normal text}{bg=black, fg=white} \setbeamertemplate{background canvas}[vertical shading][bottom=bottomcolour, middle=middlecolour, top=black] \setbeamertemplate{items}[circle] \setbeamerfont{frametitle}{size=\huge} \setbeamertemplate{navigation symbols}{} %no nav symbols
をfont.texとすれば、
とKeynote風になります。
改ページに注意
通常のMarkdownでは「---」が改ページですが、beamerに限っては、第2段階の見出し「##」で改ページされます。その点だけ注意が必要です。
また、第1段階の見出し「#」は、beamerのセクション扱いとなります。
デカイ文字も可能
これはLaTeXにすることが前提となりますが、LaTeXコマンドを使ってbeamerで大きい文字にすることも可能です。
例えば、
\Huge 大きい文字Huge \normalsize 普通の文字normalsize \fontsize{120pt}{0cm}\selectfont 大きい文字120pt \fontsize{80pt}{0cm}\selectfont 大きい文字90pt \fontsize{22pt}{0cm}\selectfont 普通の文字22pt
とした結果は、
となります。
PDFをPowerPointにする
Adobe CC のススメ
PDFをPowerPointにするには、大きく2つ
Google Driveを使う
がありますが、レイアウトの崩れ等を考えると、Acrobatの方が優秀です。
折角なのでこの機会にAdobe CC に登録してしまいましょう。IllustratorもPhotoshopも最新になりますし、After EffectsもPremiereもあれば、動画のファイル変換もできます。Adobeはいつからこんなに神になったのでしょうか?
AcrobatでPowerPointへ
書き出しでMicrosoft PowerPointが選べます。これで、Microsoftユーザーから「パワポで欲しい」と言われた時も対応できます。
ということで無事にPowerPointでも開けます。
結びにかえて
勿論、▷を入れるだとか、⇒を入れるだとか、PowerPointならではのことは、Markdownはできません。 しかし、企画書の箱書き段階までは、テキストエディタで書けるのは作業効率が上がりますし、元のファイルをMarkdownにしておくことで、何時でもWordにもPowerPointにも変換できる、というのは、とても便利だと思います。