| @労働

雷山千如寺 五百羅漢

今年はよくユーザーアンケートをとった。アンケート、最初は手探りだったけど最近は知見が貯まっていい感じにできるようになってきたのでノウハウをまとめたいと思う。ポイントは以下。

  1. 問いの設定
  2. Google Form の機能を駆使して誰が回答しているのかをわかるようにする
  3. Big Query と Looker を使った集計・ビジュアライズ

正しくアンケートをやってユーザーの声を聞けば、イチロー並みかそれ以上の打率で機能をリリースすることができるという気がしている。

問いの設定

アンケートで聞くべきは何か。いつも課題を聞くようにしている。やってはいけないのは「欲しい機能は何ですか?」と聞くことだ。良く言われることだがユーザーは自分が欲しい機能をわかっていない。だから課題に感じていることを聞く。

「課題と言っても何を聞けばいいのかわからない」と思う人もいるだろう。自分はいまある程度規模が大きくなってきたプロダクトの PM をやっているので、ユーザーの課題は何となくわかる。問い合わせやユーザー要望、ユーザーの利用データなどから何となくこの辺が課題だろうなというのは見えてくる。課題はこれらを確認することでわかってくるので課題リストにストックしておく。

次にどんな機能を開発すか検討するときに課題リストの中から「これを解決すると良いのでは(ビジネスインパクトが大きいのでは)」というのを見繕って、「〇×にどのくらい課題を感じますか?」という形でアンケートを送るようにしている。回答選択肢は三択で「とてもそう思う」「そう思う」「そう思わない」くらいにする。いくつかの課題を並べて聞き、「とてもそう思う」という回答の割合が一番高いものがペインが大きいと認定し、その課題を解決する機能の開発に取り組むようにしている。

Google Form の機能を駆使して誰が回答しているのかをわかるようにする

アンケートのシステムには Google Form を使っている。一時期は自前でアンケートシステムを作ろうかと考えたが、 Google Form ほどの柔軟性を持ったアンケートシステムを作るのは工数がかかるし、マーケティングチームの人もアンケートを多用していて Google Form に慣れているので Google Form で行くことにした。

ただ、ちょっと使い方を工夫していて、ペライチのページを作って iframe で Google Form を自ドメイン内のページに埋め込むようにしている( Google Form は iframe での埋め込みをサポートしている)。こうすることで以下のメリットがある。

  • アンケートページの URL がサービスと同じドメインになり怪しさがない
  • ログイン後のページに配置することで自ドメインで作成されたクッキーにアクセスできるようになり、ユーザー ID を取得できるようになる

Google Form はクエリパラメーター付きで https://docs.google.com/forms/d/e/XXX/viewform?entry.0000=value とすることでフォームに値を埋め込むことができる。アンケート依頼はアプリへのプッシュ通知で送ることが多いので、その場合には value の部分にユーザー ID が入るようにしていた。しかし一括送信するメールやアプリ内のバナーへリンクを設置する際にこのやり方は使えなかった。サービスのドメイン内にログイン必須のペライチページを作ってフォームを埋め込むようにしたことで、どんな導線からアンケートページに辿りついてもほぼほぼ確実にユーザー ID を取得できるようになった。

ユーザーアンケートは誰が回答しているのかを知るのが超重要だ。プロダクトのヘビーユーザーの回答なのか、ライトユーザーの回答なのかわからないと、次に作るべき機能を検討するときに判断材料として使えない。ライトユーザーの課題を解決する機能を開発しようとしているときに、誰が回答したのかわからないアンケートデータをもとに意思決定をするのは困難だ。

アンケートでユーザー ID を取得する際のデメリットとして、匿名回答ができないことでアンケートの回答率が下がることが懸念されるが、上述の通りどんな属性の人が回答したのかわからないアンケートはデータとしてあまり価値がないのでその部分は割り切ることにしている。また匿名の回答はサービスへのネガティブ感情が強い人からの回答が集まりがちで、自由入力欄の罵詈雑言で集計時に精神的にダメージを受けることもあるのでそれらを避けるという意味でもユーザー ID 必須のアンケートにしてしまって良いと思う。

BigQuery と Looker を使った集計・ビジュアライズ

集まったアンケートの回答は一旦 Google Spreadsheet 形式に変換する( Google Form の機能を使うだけで簡単にできる)。スプレッドシートの機能を駆使すればクロス集計したりグラフを作ったりできるが、折角取得したユーザー ID との掛け合わせができない。なので Google Spreadsheet のデータを BigQuery に取り込んでいる(詳しいやり方は Google スプレッドシートを BigQuery のテーブルとして扱う - べにやまぶろぐ 参照)。勤務先では BigQuery にデータウェアハウスが構築されているので、 Production DB のレプリカとアンケート回答を JOIN することで、どんな属性の人がアンケートにどんな風に回答しているかがわかるようになる。さらに幸運なことに勤務先では Looker を使えているのでこの辺の分析がとてもしやすい。こんな感じでアンケート結果をビジュアライズしている。

アンケートの集計

このやり方をとるようになって、リリース後に「大きく外した」ということがなくなった。少なくとも機能をリリースするときにユーザーに受け入れられるかどうか不安に思うことがなくなった。イチローになったような気分でプロダクト開発することができるのでおすすめです。


この記事は YAMAP エンジニアのカレンダー | Advent Calendar 2021 9 日目の記事でした。明日は @t-yng さんの「僕がフロントエンドのコードレビューをする時に意識していること」です。

| @WWW

自民党総裁選前に政治のことが気になり始めてよくニュースを読むようになった。しかし最近はどこの新聞社も記事を有料化していて、ネットでニュースを読むためにはどこかでお金を払う必要があった。学生の頃は日経新聞の記者になりたくて日経新聞を好んで読んでいた(最終面接で落ちた)。数年前に一時期日経新聞を宅配で取っていたこともあるので日経電子版を検討したが、やはりちょっと高い。新聞に書いてあるニュースが仕事に直結するような職種であれば元が取れるのかもしれないが、一日に 20 分から 30 分程度、かるーく記事を流し読みする自分には 4000 円は払えない。もうちょっと手軽に始められないものか。調べてみたところ毎日新聞が出てきた。毎日新聞も好きな新聞で、入社試験を受けたことがある(二次面接で落ちた)。初月 99 円キャンペーンをやっている上に月の購読料もスタンダードプランであれば 1000 円程度で財布に優しい。

自分が新聞社の入社試験を受けていた 15 年以上前も新聞記事はネットで配信されていた。しかし数字や英文字は全角アルファベットだった。記事内の URL は http://www.example.com のような記載でコピペしても該当 URL にアクセスできないという厳しい状態だった。いまの新聞社のサイトも似たような感じだろうと思っていたが予想に反してだいぶモダンだった。記事の英数字は基本半角で、 URL はコピペ可能になっている。有料プランの LP はわかりやすく、支払いは PayPal で行えるし、興味がある記事のジャンルを選択する仕組みもある(ただしレコメンドの仕組みは弱そうだ)。

記事を全文検索したり、興味がある連載記事をフォローしたり、ブックマークしたり、閲覧履歴を確認できたりと、紙の新聞ではできなかったけどウェブサイトなら当然できるような機能が当たり前に提供されているのがうれしい。特に自分が便利だと思ったのが関連するニュースを時系列に閲覧できる機能だ。こんな感じ。

毎日新聞の「時系列で見る」機能

総裁選のときはめまぐるしく毎日情勢が変わっていて、総裁選出馬表面をした菅前首相が翌日には出馬を撤回するなど、単発でニュース記事を読んでいたのではわかりにくかった事実関係を、「時系列で見る」ことで理解しやすかった。

むかしは新聞は記事というコンテンツを作ることに特化していた。しかしウェブの時代はそれでは立ち行かなくなるだろう。スマートニュースや Google ニュースといった配信に特化したプラットフォームもある。新聞社のウェブサイト自体がユーザビリティーや UX を重視し始めるようになってきているのだと思う。とても良いことだと思う。

毎日新聞に話を戻すと、スタンダードプランは 1000 円で記事がすべて読めて、ウォールストリートジャーナルの記事も読める。朝日新聞だと 1000 円程度のプランでは読める記事の数が月 50 本までに制限されるのでめっちゃお得だ。自分の学生時代もそうだったが、毎日新聞は記事を書いている記者の名前が表示される記名記事の割合が多いのも好印象で、ウェブサイトだと記者名で検索して気に入った記者が書いた記事で絞り込んでニュースを読むこともできる。何か有料でニュースサービスに契約したいけどあまり高いのは嫌だなと思っている人には毎日新聞をオススメします。加入して良かった。

| @登山/ランニング

10 月のくじゅうを短パンで歩いている様子

何か新しいことを始めようとしたとき、道具を揃えれば揃えるほど快適になるのではないかと思うかも知れない。例えばキャンプでは道具が多ければ多いほど快適になる。テントに加えてタープがあれば日差しをしのげる。寝袋のほかにマットやコットがあれば快眠できる。調理器具が多ければ作れる料理の種類が増える。しかし登山の場合はそうとは言えなくて、道具が少ない方が楽になるケースの方が多い。なぜなら自分で道具を運ばないといけないからだ。服についても沢山着込めばよいということではない。登山は自分の足で歩かなければならないため、冬でもヒートアップしやすい。荷物を軽くすること、服装が適切で体温調節がしやすいことは、思っているいる以上に大切だ。

登山では暑い日でも長袖長ズボンの着用が常識とされている。短パンで山に行くなんて常識知らずにもほどがあると言われるかもしれない。しかし本当に短パンで山に入ってはダメなのだろうか? 長袖のシャツや長ズボンだと絶対安全なのか?

確かに長袖や長ズボンであれば枝で手や足を怪我することはないだろう。また短パン・半袖では道迷いして山で夜を明かすことになった場合は低体温症になる可能性が高い。しかし山に行くときはなにがしかレインウェア的なものは持っているだろうし、エマージェンシーブランケットを携行するようにすれば半袖短パンでも何とかなる(暖かい季節限定)。そもそも短パンや半袖は、暑さで体力を消耗するのを避け、歩くスピードを上げてきちんと日中に下山するための手段だ。長袖・長ズボンではちょっとした擦り傷や遭難時に低体温症になるリスクは避けられるかもしれないが、気温が高い日の登山では体温調節しにくくなる。体力を消耗して歩けなくなってしまったり、歩くスピードが遅くなって日中に下山できず、山中で夜を過ごさざるを得なくなってしまうリスクがある。遭難したときのことを考慮して長袖・長ズボンで山に行き、逆に体力を消耗して遭難してしまっては本末転倒だ。長袖や長ズボンにもリスクがあると思う。

初心者の人が登山用品店に行くと大して必要なのかもわからないのに重くてソールの固いブーツを勧められたりする。しかし重くてソールの固いブーツが必ず正解とは限らない。九州の低山にしか登らない人にはごついブーツは不要だ。北アルプスだって夏ならトレランシューズで十分歩ける。長袖長ズボンのケースと同様に、重くて固いブーツをはいていたせいで体力を消耗してしまい、遭難してしまうことも十分考えられる。

登山を始めようという人には靴は 1 万円程度のトレランシューズをおすすめしたい。ゆくゆくはアルプスにも行くかも知れないからと、最初から何万円もするアルパインブーツを買うのはおすすめしない。重くて歩きづらいからだ。そのようなブーツは岩だらけの岩稜帯で真価を発揮するし、履きこなすには体力が必要だ。まずは軽量なローカットのシューズで手頃な山を歩いてみて、本格的に登山を趣味にできそうだと思ったときにしっかりしたブーツを買えばよい

| @Mac/iPhone

Yeticaster

Yeticaster と Logicool StreamCam (カメラだけどマイクが内蔵されている)を買ったことは書いた。

MacBook Pro 13" ( 2020 年モデル)本体に内蔵されているマイクや iPhone に付属品として付いてくる Apple EarPods (税込み 2200 円)と比べてどれだけ音が違うかを試してみた。

MacBook Pro 13" ( 2020 年モデル)
Apple EarPods
Yeticaster
Logicool StreamCam C980GR

MacBook Pro のマイクは正直酷い。ファンが回っている状態で録ったというのはあるが、 Zoom などでのミーティング中は当然のようにファンが回るので( Intel CPU Mac の場合)、これは当たり前に存在するものとして受け入れるしかない。外付けのほかのマイクも同じ条件で録音したがこんなに雑音は入らなかった。正直 MacBook Pro のマイクは使い物にならないと思う。

iPhone に付いてくる Apple EarPods の音が良いというのは一年半前の記事でも書いているが、やはり音が良かった。 2200 円でこの音質は素晴らしい。

Yeticaster が一番音質が良く、話している内容がクリアで聞き取りやすい。音量も大きい。専用のマイクをアームを使って顔の近くに配置しているので当たり前だ。

少し音量が小さいが、 Logicool StreamCam の音も意外と良かった。一台でカメラとマイクの両方をカバーできてコストパフォーマンスが良さそうだ。

リモートワーク用にマイクを買おうかと思っている人は参考にしてみて下さい。

| @散財

Logicool StreamCam C980GR

Yeticaster を買ってミーティングの音質を改善した後はカメラが欲しくなってしまった。音質に関しては情報を伝える際に重要になるので投資する意味があるが、カメラに関しては完全に自己満、イケメンならともかく、キモくて汚いおっさんの顔を高画質で写しても意味がないし害悪でしかない、的なことをはてブコメントで見かけた記憶はあるが、以下の理由でカメラを買うことにした。

MacBook Pro を外付けディスプレイにつないで利用していてメイン画面は外付けディスプレイ側だが、大きなディスプレイに Zoom で画面共有されている画面を持ってくると、 MacBook Pro のカメラ側からずっと横向いてる人となってしまって不自然極まりない。視線を合わせるために Zoom の共有画面を MacBook Pro 側に持ってくると、画面共有されている内容がちっちゃくしか見えなくてやりづらい。メインディスプレイ側に Zoom を起きつつ視線も不自然ではなくするためには外付けのカメラを購入して外付けディスプレイに設置する必要があった。

Before / After はこんな感じ。画質がアップしていることのほか、 Before ではただでさえ悪い人相がより一層悪くなっているが、 After ではカメラ目線ではないものの異常な視線ではなく人相もいくらか改善されている。

Before: MacBook Pro 内蔵ディスプレイ

After: Logicool StreamCam C980GR

ちなみに現在の机まわりはこんな感じ(汚い)。

My Desktop

醜男なので良いカメラを使っても意味ないしこういうのは投資する意味がないと思っていたのだが、醜男だからこそ高画質自撮りして、視線もなるべくカメラの方を見るようにして相手に悪い印象を持たれないように気をつけるべきなのかもしれないと思い直した。自己満足かもしれないけど満足度は高いし仕事やる気になる。

| @登山/ランニング

一つ前の記事で書いたように、最近よく走っている。

毎回最低 4km は走っていて、走ると着ている服が汗でびっしょりになるので毎回洗濯しないといけない。頻繁に走ると換えの服がなくなるので新しく短パンを買った。

これまでは NIKE の球技用短パン(サッカーやラグビー用)をはいて走っていた。球技用短パンのせいかちょっと丈が長く、またポケットがないため(ラグビー用の短パンはポケットがあるとそこを掴まれて引き倒されたりするのでポケットがない)走るときは実用性がいまいちだった。今度はポケット付きにしようと思って、金をケチって NIKE や ASICS などのスポーツメーカー製のものではなく、ノーブランドのとにかく安いポケット付きの短パンを買った(送料込み 2200 円)。

届いてはいてみたところ何か具合が悪い。サイズが小さいわけではないのに足の動きを邪魔されるような感じでまとわりつく。どうも股上が深いようだった。腰骨のあたりにゴムがくるようにするとまるで腰ばきしているみたいになって、大腿部に引っかかりを感じる。おへそが隠れるくらいまで引き上げると引っかかり感はなくなるが、はいてる姿が大きめの服を着せられてる小学生みたいだし、走ると裾がめくれあがってきて意図せずセクシーな感じになってしまう。正直失敗だった。やっぱり短パンはケチらずお金を出さないといけないのかも知れない。

はき心地が最高なのは山と道の Light 5 Pocket Shorts で、足の動きを一切妨げず、はいている感覚がない。通常版の 5 Pocket Shorts は生地の頑丈さは申し分ないが、盛夏にはいて山に登るとめっちゃ暑くて少々不快感が残る。 Light 5 Pocket Shorts で一度走ってみたところめっちゃ快適だったが、税込みで 13200 円もするので日々のジョギングでボロボロにしてしまうのは忍びない。 5000 円しないくらいで快適に走れる短パンが欲しい。

| @登山/ランニング

長垂海岸の夕焼け

去年の秋の健康診断で太っているという結果が出た。検査着が結構重くて、体重測定時に検査着分を引かれなかったことに不満はあったのだが、コロナの影響で太っていることは間違いなかったので 12 月から走り始めた。

年が明けて 1 月になると後半から花粉が飛び始めてジョギングから足が遠のき、花粉最盛期の 2 月、 3 月はほとんど走れなかったが、今年の 6 月からまた習慣的に走るようになった。最初は結構しんどくて 2km ちょいしか走れなかったが、 7 月からコンスタントに 4km 走るようになった。これまでも人生で不定期に走るような時期はあったが、週に 3 回くらいのペースで走っているのは初めてだと思う。

なぜ継続的に走れるようになったのか

リモートワークで時間の融通が利きやすいことと、通勤がないせいで体を動かしたいという欲求もあるのだろう。

Apple Watch を使い始めたことも大きくて、これまでは iPhone 本体で RunKeeper なり Strava なりを起動してログをとる必要があったが、 Apple Watch を買ってからは Watch 単体でランニングのログを残すことができるようになり、以前より気軽に走りに行けるようになった。 Apple Watch を使っているとリングを閉じるように促されてついつい運動してしまうというのも良い習慣づけに役立っている。

なぜ毎回 4km ずつ走れるようになったのか

Apple Watch の Workout のノルマが一日 30 分、消費カロリーが 480kcal になっている。 4km 走ると確実にこの数値をクリアできるのが 4km 頑張る意欲のもとになっている。

もう一つ大きな理由だと思っているのが走るときに聞く音だ。これまで Podcast を聞きながら走っていたが、 Podcast だと内容が英語か日本語かに関係なく、途中で内容に聞き入ってしまって走るのをやめてしまう傾向にあるようだった。走るときに Podcast を聞くのをやめて音楽(なるべくボーカルの入っていないやつ、インストゥルメンタルヒップホップ的なやつ)を聞くようになったらしんどくても 4km 走り通せるようになった。自分の場合は運動するときにはできるだけ頭の中をすっからかんにしておいた方が良いようだ。

靴の悩み

足が痛くなる

これまで走るときの靴は NIKE のランニングシューズ( NIKE Free Run )を履いていた。自分は扁平足なので NIKE の靴を買うときは 1cm くらい大きめのものを買っているのだが、それでもやはり幅が狭くて、普段履きにする分には問題ないがジョギングで使うと足が圧迫される感じが気になっていた。特に足の親指の付け根のあたりが靴の横壁とインソールの間に挟まれて痕が残るような状態になっていた。たまにしか走らなかった頃は気にならなかったが、一日おきのペースで走っていると無視できない感じになってきたので靴を探すことにした。

1 年前に登山用に Altra のトレイルランニングシューズ( Lone Peak 4.5 )を買った。 Altra の靴は自然な足の形を崩さないことをモットーとしていて、つま先の部分が広がっていて開放感があり、足の指を使いながら歩くことができる。また、かかとと指の高低差が 0 になるように作られていて(ゼロドロップというらしい)、このことにより人間本来の自然な足運びができて怪我をしにくいらしい。 Altra の靴を履いて一日で 15km 以上歩くような登山を何度かしたが、豆ができたり足の痛みで歩けなくなるというようなことはなかった。 Altra を履き始めてから下山時の膝の痛みもなくなった。

Altra Lone Peak 4.5

同様に 1 年前に Xero Shoes のトレイルサンダル( Veracruz )を日常履きとして買った。こちらもゼロドロップだが、ソールは Altra のシューズのような厚みがなくペラペラで、小学生のころ履いていた上履きみたいな感じでほとんどクッションがない(アスファルトや小石の上を歩いて痛いというほどではない)。ソールにクッションがないと足が疲れそうな気がしていたが、意外となんとかなる。確かに足は疲れるのだが、クッション性が高い靴を履いているときには使わない足の筋肉を使っているようで、 Veracruz で長い距離を歩くと心地よい疲労感があって夜はよく眠れた。

Xero Shoes Veracruz

Xero Shoes Mesa Trail

Altra のシューズのように幅広で、 Xero Shoes のサンダルのような薄いソールのゼロドロップランニングシューズはないだろうかと探してみたところ、 Xero Shoes が作っているトレイルランニング用のシューズを見つけた。 Mesa Trail というシューズだ。

Xero Shoes Mesa Trail

本当はトレイルランニング用のシューズなのだが、ジョギングで使ってみることにした。

Mesa Trail を履いて初めて走ったときはあまりにも NIKE の靴と違いすぎて、いつもの 4km を走りきることができず途中で走るのをやめてしまった。 NIKE の靴の方が体を前に押しだしてくれていたような気がする。 Mesa Trail では自分で足を前に運ばないといけない。この違いに違和感を覚えて走れなかった。

初回は走りづらかった

2 回目からは普通に走れたが、走った後に股関節のあたりが筋肉痛になった。 NIKE の靴で走って股関節が筋肉痛になるなんてことはなかった。 Mesa Trail は薄底のため、足の着地に気をつかう。雑に足を運ぶと足の裏への衝撃が強いので走るときに丁寧に足を使うようになる。おそらくそのせいで股関節が筋肉痛になったのではないかと思う。

少しスピードを上げて短めに走ってみたところ、足がかなり筋肉痛になった。これまでも継続的に走っていたので今さら走っただけで足が筋肉痛になるのは変だ。やっぱりシューズを Mesa Trail に変えた影響だと思う。靴を変えるだけでこんなに走るときに使う筋肉が変わるのかと興味深い。

Mesa Trail で走ったあとに一度 NIKE の靴に戻して走ってみたところ、足裏への衝撃はなくなるがその分足運びが雑になり、地面からの衝撃を足首ではなく膝で処理するようになってしまう印象を持った。厚底の靴では故障しやすくなるというのはこの辺に原因がありそうだ。

一番の悩みだった足裏の痛みは Mesa Trail に変えて完全に解決された。 NIKE の靴では 4km くらいで足の親指付け根部分が痛くなりそれ以上走れなかったが、 Mesa Trail では足の裏は全く痛くならない。 Mesa Trail に履き替えて走る距離が伸びた印象で、昨日は 9km 走った。これまで自転車や車でしか行ったことがなかった場所に自分の足で走って行くというのは面白い体験だった。

今津湾の端から今宿を見る

まだまだ走るスピードは遅いので胸を張って「ランニングが趣味です」と言えるほどではないが、登山のときの持久力アップのため、心肺能力向上のために走ることを続けていこうと思ってる。