シリコンバレーのマーケター日記

東京、シンガポールを経てシリコンバレーで働く、マーケター。英語、プログラミング、データ分析は次世代マーケターの必須スキルだと信じて進む。

jqueryでcookieを扱う

明けましておめでとうございます。

2週間の帰省からシンガポールに戻ってきました。外資系は、クリスマス前からがっつり休暇を取る分、年始はすぐに仕事モードとなり1月はとても慌ただしいです。忙しくなる要因は、1)予算配分と2)成績評価です。

1)予算配分

2016年のアジア地域のプライオリティと各国のマーケティングプランを基に予算を配分していきます。各チームが予算を取り合うのでしっかりとしたロジックが必要になります。私もデジタルマーケティング予算の配分をしていますが、TVなどのトラディショナルメディアと異なり、キャンペーンのパフォーマンスを見ながらいつでも予算再配分ができてしまうので、あまりガチガチに分配すると全体最適ができなくなります。

基本的なロジックは、昨年の国別、用途別の割合を基に、ざっくり配分しています。

2)成績評価

2015年の成績評価を360度で行うのですが、360度評価のデメリットとして、部下だけでなく、上司、同僚と沢山の人の評価をしなくてはいけません。またマーケティングの場合、KPIが明確でない場合もあるので、ひたすら英作文でした。

 

11月は統計の復習をしていましたが、12月は日本出張、正月帰省と、日本にいる期間が長かったので、勉強から遠ざかってしまいました。習慣を戻さなければ。

先輩、同僚、大学の親友、日本にいる嫁、家族など沢山の人とcatch upできて、みんな頑張りながらも踠いているんだなぁ。と、しっかり自分を見失わないで一歩一歩前進しなければーと改めて思いました。

 

さて、今日は仕事でcookieの扱いについて少し議論があったので、cookieについて。

 

やりたいこと:cookieをブラウザに付与して、付与したcookieを引っ張って表示する

Step.0:cookieを理解する

以下は、私の使っているChromeブラウザの詳細設定から、自分のブラウザに記録されているクッキーを確認しています。例えば、500startups.comというサイトに1月8日に訪問しており、そのときに、"_ga"というNameのcookieが記録されました。ちなみに"_ga"はgoogle analyticsのタグです。"GA1.2.1324036804.1451751625"が僕のブラウザに付与されたユニークなID(Content)になるわけです。そしてそのクッキーは2年後の2018年1月まで残るように設定されています。

f:id:yuyutata:20160115015927p:plain

つまり、cookieを付与するときは、Name(タグの名前), Content(ID), Expires(有効期限)の情報が最低必要となります。Pathの"/"は、そのドメインのページならどこからでもこのcookieにアクセスできます。

というわけで、早速cookieを付与していきましょう。

 

Step.1:jqueryから操作できるcookie用のプラグインを入手する

JavaScriptで自分で書くこともできると思いますが、JSのライブラリであるjqueryが便利過ぎたので、そのGithubからダウンロードする。ページ右上のzipをポチる。

Step.2: ダウンロードしたJSファイル、”jquery.cookie.js”をページと同じフォルダーに入れる

f:id:yuyutata:20160115020741p:plain

Step.3: htmlファイルに記述する

オブジェクト指向チックに書いてみます。

<script src="jquery.cookie.js"></script>   

<script>

function cookie() {
 $.cookie('NAME','VALUE', {expires:1,path:'/'});
}

function view() {
 $.cookie('NAME');
 var value = $.cookie('NAME');

 $("div").text(""+value+"");
}

$(function(){
 cookie();
 view();
});

</script>

説明していきます。

$.cookie('NAME','VALUE', {expires:1,path:'/'});

NAMEというタグ、VALUEというIDを、有効期限1日で、ドメインならどのページからでもアクセスできる設定でクッキーを付与する。

 $.cookie('NAME');

 var value = $.cookie('NAME');

NAMEという名のタグのついたcookie情報を取り出して、そのcookie情報をvalueという名の変数に格納する。

 $("div").text(""+value+"");

valueに格納されたcookie情報を、htmlに表示する。

 

Step.4:確認する

Chromeの詳細設定から、localhostという私のローカルのドメインから付与されたcookieを確認します。以下のように、確認できました。ページにもちゃんと表示されました。

f:id:yuyutata:20160115015619p:plain

 

今後やりたいこと

  • cookieがすでに付与されているか、されていなければ新しいcookieを付与する
  • 新しいcookieはランダムで生成されたユニークなID

週末にやってみようと思います。

おやすみなさい。

機械学習の学習を開始する:尤度比検定

11月、12月は機械学習(machine learning)の学習に費やそうと思い、早速、統計の復習から開始しています。

学部時代はオペレーションズリサーチの研究室に所属し、確率と統計に時間を費やしていたのですが、大学院、サラリーマン生活でだいぶ遠くなってしまっていました。

というわけで、以下の本を読み進めています。

統計ソフトRで実際に手を使いながら、読み進められるこの本は本当にオススメです。

学生時代にこの本に出会えてたら良かったなぁ。。

第五章の尤度比検定をまとめます。統計モデルを比較してモデル選択をする。

帰無仮説(null hypothesis)とは「棄却されるための仮説」であり、「無に帰される」ときにのみ、その役目をはたす特殊な統計モデル

 P値( P Value)は、第一種の過誤をおかす確率であり、その扱いは、

  • P値が大きい:これくらいの逸脱度の差(尤度比の対数)はよくあること ー> 帰無仮説棄却できない
  • P値が小さい:この差は珍しい! ー> 帰無仮説を棄却して残ったモデルを正しい!と主張しよう

 ここで、

逸脱度:あてはまりの悪さ

逸脱度の差:ΔD1,2 = -2 * (log L1 - Log L2) 

L1:帰無仮説

L2:対立仮説

逸脱度の差の解釈:対立仮説による改善度。その差が意味のある差か。

第一種の過誤(type 1 error):帰無仮説が真であるにもかかわらず、逸脱度の差が大きいから帰無仮説は正しくないとして、棄却してしまう過誤

 

逸脱度の差が”めったにない差” (=第一種の過誤は起きない可能性大)ー> 意味がある差 ー> 対立モデルが正しい

 

P>=α:帰無仮説は棄却できる

P<α:帰無仮説は棄却できる

ここで、αは、自分で勝手に決める。たとえば、α=0.05ならば20回のうち1回より少ない発生件数だから、”めったにない差”なので”意味のある差”だから、対立モデルによって改善されていると言える。

 

9月10月総括 シンガポール支社からみたシリコンバレー本社

だいぶ時間が空いてしまいました。9月、10月で思い出に残っていること

  1. シリコンバレーにあるアメリカ本社への出張
  2. 部下が入社3ヶ月で辞表書いてきた
  3. 新婚生活がはじまった
  4. JavaScript, Jquery, Ajaxはひとまず理解できたかな感

1. シリコンバレーにあるアメリカ本社への出張

本社へは年に1度は必ず行くようにしていて、これまでだいたい一人出張なのでアウェーで心細かった。嬉しいことに今回は、はじめて本社に自分の居場所があった感じがする出張だった。外部的要因として弊社の収益構造が、北米中心からグローバル、特にアジアに徐々にシフトしていること。内部的要因としては、徐々にグローバルGo to Market戦略に入れるようになってきて、本社に人脈ができてきたこと(特に友達と呼べる存在ができはじめている)、英語を使った対人コミュニケーションスキルが格段に伸びたこと。があるかなと。かつて東京オフィスにいたときは、アメリカ本社は天上界だと思っていたが、シンガポールオフィスからだとまた違ってみえる。

前提:あくまでビジネス部門での話

日本オフィスからみたアメリカ本社への先入観

  • アメリカ本社は、常にクリアなビジョンと戦略を持っている
  • アメリカ本社は、豊富なリソースがある
  • アメリカ本社は、みんなくっそ優秀
  • アメリカ本社は、グローバルという文脈をアメリカ/英語という文脈で読む

シンガポールから見た本社

  • アメリカ本社は、というか、全社的にかなり試行錯誤
  • アメリカ本社は、豊富なリソースはある反面、完全なる縦割り構造と社員数の増加により、硬直しがち
  • アメリカ本社は、うん、優秀である。自分のスペシャリティを持っており、意識して磨いている。とくに、自分の考えていることを恐れずにチームに共有するところは、本当にすごい。マネージャのマネジメントの質もとても高い。意思決定に透明性があり非常に公平
  • アメリカ本社は、とくにビジネス部門はコミュニケーションが重要だからか、アメリカ人が中心。そのためアメリカ=グローバルになりがち

最近自分の感じるシンガポールオフィス(Regional HQ)で働くことの醍醐味は、

  • アメリカ本社では目の届かないローカルマーケットへのGoToMarket戦略を考えて実際にエグゼキューションまで見れること
  • 言語と国の組み合わせが最も複雑なリージョンで、オペレーションモデル、プロセスをゼロからつくって試せる楽しさ
  • 各国へ出張へ行って各マーケットの社員と一緒に働ける経験

逆に、自分が成長して行く中で感じる不満は

  • プロセス、オペレーションモデルはゼロからつくれるが、プロダクトには関われない
  • グローバルの意思決定には逆らえない
  • 長期的には組織構造の壁は、超えられない

自分の強み、興味もわかってきた。

課題を見つけて、定性的/定量的アプローチで解決すること。そして、それを人と分かち合う。組織デザイン、オペレーションモデル構築は、本当に大事で本当に難しいなと最近自分の興味をかき立てられます。

2016年、自分の新たな動きが楽しみです。そろそろ、溜まっている学び/成長とフラストレーションを爆発させたい。

 

2. 部下が入社3ヶ月で辞表書いてきた

全然できないんだけど、負けん気が強くて、伸びるなとおもったのですが、3週間前に急に辞表を渡されました。

理由は、

  1. 求人に書いてあった職務と異なる
  2. 僕とスタイルが合わない
  3. 他に良いオファーが来た

ということだった。なんだよ、ミレニアル世代の自己顕示欲がーと思ったが、上司に、マネージャートレーニングに放り込まれて外資系リーダーシップを学びました。これが本当に良いトレーニングだった。とにかく、真のリーダーシップはスケールする。言語と地理的距離を超える。それはまた次回。

 

3. 新婚生活がはじまった

奥さんが、日本からシンガポールに一ヶ月だけ来ています。毎日一緒にいると辛いかなと思ったけど、一緒に料理したり、お酒飲んだり、悩みを聞いてくれたり、とても楽しい。

ただ、自分の勉強する時間もちゃんと確保していかないとな。と思ったりです。

 

4. JavaScript, Jquery, Ajaxはひとまず理解できたかな感

コツコツこちらの勉強も続けてました。ひとまず、ウェブは理解できたかなといった感じです。社内用のツールも80%完成しました。

アプリ、ウェブの基本的なプログラミングはわかって、仕様書、行程管理なんかはできる感じ。

ただ、これ以上は、とくにつくりたいものもないので、次の分野にすすもうと思っています。こちらもまた次回。

タージマハールとAjaxとjQuery

今週日曜日にムンバイに入り、月曜日夜からデリーの隣町、グルガオンにいます。月曜からずっと下痢です。出張中の時間を見つけて200キロ離れたタージマハールまで行ってきたのですが、圧巻でした。

イスラム王朝の王様が、死んでしまった3番目の妻のために20年弱かけて作られたお墓なのだそうですが、人間の執着とコミットメントは凄いです。すべての模様は、世界中から集められた色の異なる石を削って組み合わせて描かれています。

ここで、ヒンズー教が多くを占めるインドにあるタージマハールですが、イスラム教の建物なんですね。最終的に、イスラム教はパキスタンに、ヒンズー教はインドに分かれましたが、年々インドでイスラム教が数を増しているようです。なぜなら、イスラム教は4人まで嫁をとることが許されており、子供をたくさん産むからだそうです。

それにしても、果たして、自分はここまで人生をかけてのめり込めるのか、そして世になにかを残せるのか。世界で一番綺麗な建築物は?と聞かれたらタージマハールと答えます。それくらい本当に病的に緻密でidentical(左右対称)な建築でした。

f:id:yuyutata:20150904024024p:plain

さて、今週からがっつりAjaxとjQueryの学習を開始しました。

  • Ajax: ページの一部だけを更新する記述。グーグル検索で、検索ワードを入れてくとどんどん、検索結果が出てくるやつ。
  • jQuery: JavaScriptを使いやすくするためのライブラリー。自分で一から書くと大変なので、先人が定石パターンをあらかじめ用意してくれているものです。ソースコードをみるとJavaScriptで書いてあります。

この技術を使うと、ホームページ上で、条件検索をかけると、サーバーから答えをとってきて表示させる。ということができるようになります。

  • フロントエンド:HTML, JavaScript(jQuery), Ajax
  • サーバーサイド:PHP, MySQL

以下、はまったこと。オギヤス先生、まじでありがとう。インドで泣きました。

1)ローカルサーバーでAjaxを動かすときは、Google Chromeではエラーが出るので、firefoxでやるべし。

2)ローカルサーバーにすべてのファイルを置くべし。静的なhtmlファイルであれば、どこに保存してもブラウザを使って動かせますが、PHPファイルは、ローカルサーバーに保存し、"//localhost/"とホスト名でブラウザからアクセスします。

3)jQueryは、ダウンロードしてローカルに保存したほうが良い。jQuery

 

というわけで、引き続き進めて、週末くらいに簡単なページをお見せできればです。明日の朝、バンガロールに飛び、土曜日の朝にシンガポールへ帰国します。

ナマステ!

 

JavaScript雑感。

習慣化してたプログラミング学習が、2週間の日本帰国のあとから崩れてしまっているので、ちょっとペースを戻したい。

会社では、嬉しいことに昇進しました。もともと仕事に関係なく始めたプログラミング学習ですが、マーケティングに身を置く者として、顧客データベースの構築、デジタル広告の効果測定の仕組みと限界、ホームページ作成でデザイナーへの指示など、めちゃめちゃ役に立っている。Jobs的には、"Connect dots"ってやつですね。

さて、JavaScript、さわりはじめて2週間。思ったことをまとめる。

 

1) JavaScriptはブラウザ向けのスクリプト言語

コンパイラ言語のSwiftに比べて、入りやすいです。同じスクリプト言語であるPHPとHTMLを知っていると、尚入りやすい。

スクリプト言語とは|軽量言語|LL - 意味/解説/説明/定義 : IT用語辞典

”スクリプト言語とは、プログラミング言語の一種で、OSやアプリケーションソフトの動作や機能などをプログラムの形で記述できるもの。また、転じて、実行可能形式への変換作業などを省略・自動化したり、少ない記述量でも実行できるなど、仕様や開発手順が簡略化されたプログラミング言語のこと。”

”コンパイラ言語はコンピュータの使うマシン語や、マシン語と1対1に対応するアセンブリ言語に比べ抽象度が高く、人間の普段使う自然言語に近い感覚で記述することができる高水準言語(高級言語)である。人間の記述したプログラム(ソースコード)はそのままではコンピュータが解釈できないものであるため、コンパイラによってマシン語に翻訳され、実行可能なプログラム(オブジェクトコード)に変換され、実行される。”

 

2) HTMLと組み合わせてホームページをつくる

HTMLによって骨(全体の構造)をつくり、JavaScriptによって筋肉(動き)をつくる。って感じでしょうか。二つの言語を組み合わせて使うので、ファイルの拡張子は、.htmlですが、以下のように、JavaScriptでの記述を挟むようにコードを書きます。

 

<script type="text/javascript">

//ここにJapaScript言語で記述

</script>)

 

3) ホームページで見たことあるあの挙動、なるほどーっていう感覚。

例えば、マウス乗せたらポップアップでてくる、会員登録ページで、入力項目にエラーがあるとポップアップで知らせてくるやつ、送信する前に再度確認用のポップアップが立ち上がるやつ、などなど、JavaScriptだったんだー。ってなりました。

 

4) Cookieの取り扱いなど、アドテク必須言語。

JavaScriptは、ブラウザにCookieをセットしたり、ブラウザにセットされたCookieを参照したりするために必要な言語。ブラウザからアプリへ、iOSの新OSは Safariに広告ブロック機能搭載など、Cookieはだんだん力を失っていくのかなとか言われてはいますが、勉強になります。

 

5) Ajaxとか、jQueryとかとか世界が広がっていく感覚。

学生時代、プログラミング得意な友達が、Ajax(アジャックス)って連発してて、なんのことかわからなかったんですが、JavaScriptの先にある言語でそういうことね、とかjQueryってAjaxのライブラリーかぁみたいな、腑に落ちていく感覚。

 

今後

- サーバーサイド言語のPHPと絡めるところを勉強する

- 簡単なホームページをつくってみる

 

明日から、ムンバイ、デリー、バンガロールへ出張です。一週間行ってきます。

いくぜ、Java Script。

昨晩、半月の日本滞在からシンガポールへ帰って参りました。

幸運なことに人生初のアップグレードでANAのプレミアムエコノミーに乗りました。red eye (深夜便) のときは、これ良いなーと思ったのですが、成田ーシンガポール間しかないようです。移動を考えたらやっぱり、羽田を使いたい。。参考までに以下貼っておきます。

f:id:yuyutata:20150818003127p:plain

さて、Swiftは一段落したので、ブラウザベースのユーザーインターフェースをつくるべく、今日からJava Scriptの学習を開始します。

名前はよく聞くのですが、なんとこっちゃ。2010年発売とちょっと古いですが、こちらの本を日本で購入したので、ひとまず一週間すすめてみます。

では、Have a nice week!

一時帰国。

今朝、羽田に到着しました。これから2週間東京に滞在します。

しかし、羽田空港さえもアジアの他の空港に比べるとアクセスが悪いですね。。羽田から六本木のオフィスまで今朝のラッシュの中、京急線、JR、南北線を乗り換え、死にました。

では、今年出張で訪れた国の空港アクセスランキング。

 

No.1: 香港

香港国際空港から香港駅(東京駅てきな立ち位置)までエアポートエクスプレスという快速電車で15分くらいで到着します。価格は1000円くらい。

 

No.2: シンガポール

チャンギ空港からオフィスエリアのラッフルズプレイスまで、タクシーで空いていれば約20分、1500円くらい。電車だと約40分。

 

No.3:シドニー

シドニー空港からビジネス地区のあるダーリンハーバーまで、タクシーで約20分、価格は3000円くらいだったはず。

 

No.4:韓国

金浦(ぎんぽー)国際空港(日本でいう羽田空港)と仁川国際空港(日本でいう成田空港)の2つがあります。

  • 仁川は都心のガンナム地区までタクシーで約60分、6000円くらい。
  • 金浦から都心のガンナム地区までタクシーで約30分、3000円くらいでした。

 

No.5:東京

成田は論外でしょう。私は実家が千葉のため、たまに使いますが、そうじゃない場合、外国人が、京成上野駅からスカイラインに乗るのは、なかなか難しいのではないか。

羽田もバスの頻度も少なく、モノレールで浜松町、電車で、品川まで出てから地下鉄に乗り換えて。。。と。

理想は、羽田空港から六本木駅・東京駅まで簡単に出れる快速電車てきなものができると嬉しいです。

  • 羽田から六本木まで、タクシーで30分、9000円くらい。
  • 成田から六本木まで、成田エクスプレスを使って90分くらい。スカイライン使って80分くらい。タクシーは未体験。

JR東日本の羽田空港アクセス線、難しい五輪前開業 冨田社長「多くの課題ある」 - 産経ニュース