プログラマでありたい

おっさんになっても、プログラマでありつづけたい

『AWSの薄い本 IAMのマニアックな話』のレビュー記事一覧 2019/10/21版

技術書典7で頒布開始した『AWSの薄い本 IAMのマニアックな話』ですが、その後BOOTHでも好評販売中です。幾つかレビュー記事を頂いていて、それぞれ評価頂いている観点も違って私としても面白いと思いました。せっかくなので、ピックアップしてまとめてみました。

「AWS IAMのマニアックな話」が良本だったので紹介してみる

@fukubaka0825さん 2019年10月01日

qiita.com

 一番最初に頂いた書評です。
構成の流れと、第7章のIAMの運用の部分を特に評価いただきました。7章の部分は特に難産だった部分で、どんな内容を届けるか悩みました。コメント頂いているように「利用者によるセキュリティ差異を産まず、安全な状態を保つ方法」を最大のテーマとしています。

「AWS IAMのマニアックな話」は「IAM初心者」にこそちょうどいい

@taxinさん 2019年10月07日

qiita.com


 ブログエントリーのタイトルどおり、IAM初心者にお勧めという内容です。IAMのマニアックな話というタイトルは、かなり早い段階で決めたのですが、その後扱う内容の方針を変えて初心者でも理解しやすいように変更しています。目を引くタイトルになったけど、ミスマッチ感が大きかったかもしれません。すいません。

「AWS IAMのマニアックな話」とCloudFormation

やんばるテックさん 2019年10月12日

 CloudFormationの章を評価いただきました。これ持論なのですが、IAMとCloudFormationの相性は非常に良いです。そこに共感していただいて、非常に嬉しいです。

これからAWSを触ろうとする人こそ、IAM本を読もう

enkdknnnnnnnnさん 2019年10月14日

enkdsn.hatenablog.com

 読者モニターに応募して頂いて書評を頂きました。全般的に丁寧に紹介した頂いた上で、実践的なプラクティスと評価いただきました。クラウド時代のセキュリティの考察など、なるほどなぁという内容にまとまっています。ありがとうございます。

Twitterでの反応

そしてTwitterでもいろいろコメントいただいたので、Toetterでまとめてみました。なんか私がお金渡して書いて貰っているじゃないかというくらい褒めて頂いていますが、呟いていただいているのはお金払って買って頂いた方々です。ありがたい限りです。

togetter.com

感想

 私の趣味がエゴサーチなので、自分の出版物に関する評判ウォッチしております。ポジティブな内容だともちろん嬉しいですし、ネガティブな内容でも参考になります。気軽に呟いたり書評いただけましたらと思います。随時Twitterやブログで紹介させて頂きます

BOOTHで絶賛販売中
takuros.booth.pm

Google アナリティクス本だけど、アナリティクスだけでない。『徹底活用 Google アナリティクス』が出ます

 会社の同僚がGoogle アナリティクスの本を書いたので、(まだ読んでいる途中ですが)紹介します。
この本はタイトルはGoogle アナリティクスだけど、扱うのはアナリティクスだけではないです。Google アナリティクス(以下、GA)は、Google マーケティング プラットフォームの一つの製品として組み込まれています。他のGoogle マーケティング プラットフォームの製品としては、タグマネージャーやデータポータルなどがあります。そんな製品群との連携をあますところなく解説しているのが、『徹底活用 Google アナリティクス』です。

f:id:dkfj:20191015005431j:image:h360


Google マーケティング プラットフォームとGoogle アナリティクス

 先述の通り、GAはGoogle マーケティング プラットフォームの一員です。その相関図は、本書から拝借した画像をチラ見せすると次のような関係になっています。
f:id:dkfj:20191015005826p:plain

 Webのデータを集積するGA、GAをはじめとするJavaScriptのタグを効率的に管理するGoogle タグマネージャー、データを元に簡単に画面の出し分けが可能でA/Bテストなどに利用されるGoogle オプティマイズ。マーケティング プラットフォームではないものの、アナリティクス360からデータをインポートできるBigQuery。GAやBigQueryのデータを元にグラフや表を簡単に作成し可視化するGoogle データポータルなど。今やGAや広告の運用をしようと思うと、これらの製品を駆使しての総力戦になります。ただ一つ一つの製品だけでも機能が豊富で、全容を把握するのは大変です。
 『徹底活用 Google アナリティクス』では、GAを中心に扱いつつも、それらの製品の機能や使い方の解説、GAとの連携方法が丁寧に説明されています。本文がカラーの上で図もふんだんに使って解説されているので、かなり解りやすい内容になっています。私もGAを始めとするマーケティング プラットフォームの製品群については、そこまで詳しい訳ではないので本書を読みながら勉強中です。

徹底活用 Google アナリティクスの構成

 徹底活用 Google アナリティクスは、大きく4つのセクションで構成されています。

GAの基本的な機能のマスター

1章〜7章までがGAの基本です。GAとタグマネージャーの構成と基本的な使い方、目標(コンバージョン)設定までが解説されています。ここまで出来ると、一通りGAを使いこなしていると言えると思います。私の知識は、ここの6割くらいなので勉強中です。イベント設定の仕方とか色々あり、外部配布用にQRコードを発行する場合は、設定しておけばよかったなぁと後悔しております。

GAの応用編から、他のマーケティング プラットフォーム製品との連携

8章から14章が、より深いGAの使い方やデータポータル、オプティマイズなどの他の製品の使い方の紹介、GAとの連携方法です。ここで広告連携についても解説されています。データポータルについては、最近知名度があがって使っている人も増えているように思いますが、オプティマイズなどはごく一部の人しか使っていないように思えます。この製品、実は凄い機能を持っていて、上手く使うと今まで苦労して開発して出し分けしていたものが、オプティマイズのデフォルトの機能で実現できたりします。使いこなせれば便利なこと間違いなしなので、ぜひ試して貰えればと思います。※私も、ここは机上の知識だけなので、いろいろ実験中です。

経験に裏打ちされたケーススタディ

 15章から18章がケーススタディです。実際の現場で求められる対策を、豊富な経験に基づいて解説されています。例えば、15章のコンバージョンの改善です。このケーススタディでは、単純にどういった施策がコンバージョン率を改善するかという説明をするのではなく、まずコンバージョンの考え方から始まり、ボトルネック部分の見える化の手法、それを元とした対策など、設定手法含めて丁寧に説明されています。ここの部分は、今まさに自分が知りたかった部分なので、じっくりと試してみたいと思います。

付録って何だっけ?膨大なAppendix

 最後がAppendix群です。付録といいながら、全部で7つ合計70ページほどあります。全部で500ページ超なので、1/7を占めています。普通の本だったら、1/5くらいですね。付録とはなにか、定義が気になるところです。このAppendixには、より詳しい内容が解説されています。GAなどのユーザー管理の話や、タグマネージャーのトリガーの話など、普段文章でなかなかお目にかかれない内容が語られています。大規模で運用することを考えると、この辺の情報は非常に役にたつと思います。私は残念ながら、まだここまで辿り着けていません。

目次

 以下、目次です。
全18章構成+付録が7個ついて、圧巻の500ページを超えます。編集者に執筆者を紹介した関係で執筆の成り行きを見ておりましたが、もともとの分量はこれより2割以上多かったです。その中からよりすぐった内容が、以下の目次となります。

Chapter1: Google マーケティング プラットフォームとGoogle アナリティクス
Chapter2: Google アナリティクスの利用を開始する
Chapter3: Google アナリティクスの標準レポートを確認する
Chapter4: Google タグマネージャの利用を開始する
Chapter5:ページビューの計測設定を行う
Chapter6:イベントの計測設定を行う
Chapter7:目標設定を行う
Chapter8:拡張 e コマーストラッキングの設定を行う
Chapter9:ユーザーをより深く理解するための準備を行う
Chapter10:ユーザーの流入元に関する情報を正しく把握するための準備を行う
Chapter11:データを柔軟に抽出する術を知る
Chapter12: Google データポータルでレポートを作成・共有する
Chapter13: Google オプティマイズでA/Bテストを行う
Chapter14: Google アナリティクスのデータをGoogle 広告による広告配信に活用する
Chapter15:ケーススタディ1:コンバージョンの改善を図る
Chapter16:ケーススタディ2: SEOについて検討する
Chapter17:ケーススタディ3: Google オプティマイズでキャンペーンのランディングページを最適化する
Chapter18:ケーススタディ4: Webサイト上で発生する問題を検知する
Appendix1:ユーザーの権限管理を行う
Appendix2: AMPページの計測を行う
Appendix3: Google タグマネージャの「タグ」「変数」「トリガー」
Appendix4:グローバルサイトタグ(gtag js)で計測を行う
Appendix5: Google アナリティクスにGoogle AdSenseをリンクする
Appendix6:お役立ち情報
Appendix7: Google アナリティクス&Google タグマネージャ設定チェックシート

まとめ

 NRIネットコムは、2017年に日本で唯一のGoogle アナリティクス 360 のプレミアパートナーに認定されています。手前味噌ですが、GAを中心としたこの辺りの製品に関する知識・経験については日本一だと思います。そのチームが心血を注いで書いた1冊です。かなり読み応えあるので、ぜひその技を盗んでください。2019/10/23発売開始です!!

f:id:dkfj:20191015005431j:image:h360

 私も、GAについては大体何ができるのかは知っているものの、具体的にどうするのか知らないことが多いです。他の関連製品については、ほとんど知らないので改めて勉強中です。ちょうどよい練習素材ができたので、自腹をきっての広告を含め、いろいろ試行錯誤中です。
blog.takuros.net

BOOTHで電子書籍の販売したので、Google アナリティクスとGoogle 広告(旧Adwords)の設定をしてみた

 技術書典7で販売した『AWSの薄い本 IAMのマニアックな話』のPDFをBOOTHで絶賛発売中です。今回、はじめてBOOTHを利用しショップを立ち上げた訳ですが、Google Analytics(GA)の設定することができたので、幾つか施策を行ったので簡単に紹介します。

Google アナリティクスの設定とコンバージョン(目標)の設定

BOOTHでGAの設定は簡単です。管理者ページのショップ情報編集からGoogle アナリティクスの項目に、トラッキング IDをコピペするだけです。トラッキングIDは、Googleアナリティクスの管理画面から新規のプロパティを作成して取得します。
f:id:dkfj:20191013114420p:plain

 この設定だけで、Google アナリティクスによる計測が始まります。サイトのアクセス数や、今閲覧中のユーザー、流入元の情報など、基本的な値を見ることができます。
f:id:dkfj:20191014093348p:plain

 しかし、せっかくオンラインショップを作ったので、コンバージョンを取りたいです。コンバージョンとは、成果です。つまりオンラインショップだったら、売れたかどうかということです。コンバージョンを設定することにより、次の図のように、どの流入元から売れているのかも解ります。

f:id:dkfj:20191014094151p:plain

 問題は、どうやってコンバージョンを計測するかです。計測方法としては、コンバージョンタグの設定など様々な方法がありますが、BOOTHではタグの埋め込みなどのカスタマイズができないので(できないよね?)、到達ページを利用します。さて、この到達ページが問題です。BOOTHの場合、売買が成立した場合はオーダー番号付きのページになります。ということで、動的に変わります。仕方がないので、その前の確認ページを到達ページにしています。これだと、正確な測定は出てきていないのですが、あまり誤差は出ていないので取り敢えずよしとしています。この方法でやる場合は、"/checkout/step3"というページを到達ページに設定しておけばよいです。

Google 広告(旧Adwords)の設定

 ここまで一通りのGoogle アナリティクスの設定ができました。せっかくの機会なので、広告の設定も試しにしてみました。今回BOOTHで扱う商品が自前のものなので、取り分も大きく、販売機会が多ければ多いほど儲かるという構造なので、広告を出すのに最適かなと思います。

 Google 広告(旧Adwords)の設定は長くなるので省略しますが、IAMに関するキーワードに対して広告を出すようにしています。なおキーワードに対してAWSが入っても問題ないのですが、広告本体にAWSなど商標を含む文言が入ると広告審査が必要になるようです。今回は面倒くさいので、AWSの文言を入らないようにしています。

f:id:dkfj:20191014100233p:plain
f:id:dkfj:20191014100602p:plain

Google 広告の運用

 職場でとなりの部署の人がGoogle 広告を含め、いろいろな広告の出稿の運用をしているのを見て、なんか面白そうだなと思ってやってみたくなりました。が、正直なかなか難しいです。端的にいうと、次のような状況です。

  • 広告クリックからのコンバージョン率が低い
  • 広告クリックの単価が高い
  • 上記の結果、費用対効果で大幅な赤字

 1つ目のコンバージョン率ですが、2〜3%です。冷静に考えると、広告のコンバージョン率はこれくらいのような気もします。改善策としては、購入する可能性がキーワードから流入させる。そして、クリック先のページ(商品ページ)で、商品の魅力をアピールするの2点になります。なおクリック率に関して言うと、IAMという単語での表示・流入数が多いです。しかし、クリック率は低いです。これに対して、IAM 設計やIAMロールといった複合ワードは検索数・表示回数は少ないもののクリック率が高くなります。広告単価は同じなので、その後のコンバージョン率をみながら、どちらかに絞るか検討中です。
 2番目と3番目の問題ですが、端的にいうとコンバージョンの売上より、広告費の方が高いということです。キーワードの選定を考えて、クリック単価の低いものを探したり、先述のようにコンバージョン率が高くなるような商品ページにするなどが考えられます。あと、『 IAMのマニアックな話』など書名そのもので検索されたケースがあります。その場合、クリック率が高いのですが、広告みなくても来てくれる層なので、ひたすら類するキーワードを広告の除外キーワードに設定し続けています。

新しいGoogle アナリティクス本

 そんな訳で自分の商品を持つことにより、より実践的にGoogle アナリティクス(GA)や広告の運用を試すことができるようになりました。GAについては何となく知っていたのですが、細かい設定をしようと思うと知識不足を実感しました。また広告運用についても机上の知識しか無かったので、自分の財布を痛めながら学べるようになってきました。
 とは言っても、やはり最初に体系的に学んでおくほうが効率が良いです。GA本はいろいろありますが、最近お勧めの本がでます。(※ステマ)

徹底活用 Google アナリティクス デジタルマーケティングを成功に導く解析・改善のための操作ガイド
f:id:dkfj:20191015005431j:image:h360

 実は私が所属するNRIネットコムのデジタルマーケティング・チームが執筆した本です。NRIネットコムは、日本で唯一のGoogle アナリティクス360のプレミア セールス パートナーで、技術的にもかなり高度なことをやっています。そのメンバーがエンジニアもエンジニア以外にも役立つ本を書いたのでぜひ読んでみてください。

紹介記事を書きました。
Google アナリティクス本だけど、アナリティクスだけでない。『徹底活用 Google アナリティクス』が出ます

まとめ

 最後は『徹底活用 Google アナリティクス デジタルマーケティングを成功に導く解析・改善のための操作ガイド』のステマで終わりましたが、自分の商品を持つことにより、より自分ごととしてGoogle アナリティクスを使えるようになりました。もうちょっと、ちゃんと学んでみようと思います。
 今のご時世、何でもWebにつながっています。Google アナリティクスは、実はWebの測定以外にも様々なものを測定できます。その辺、身につけたいですね。

takuros.booth.pm

IAMロールを付与したEC2インスタンスでアクセスキーを利用する

 IAMロールを付与したEC2インスタンスでは、そのロールの権限を利用できます。この機能のお陰で、アクセスキーの必要性はなくなり、より安全に運用することができます。今日のお題は、それでもアクセスキーが必要な場合はどうしたらよいかという点と注意点です。

アクセスキーが必要になるケース

 BOOTHで絶賛販売中のAWSの薄い本 IAMのマニアックな話(※ステマ)を読んたさわらさんから、次のような疑問を頂きました。

【読書RTA】 #技術書典 7で購入した31冊レビュー 【自己最速】

アプリケーション開発で、AWS-SDKを利用する機能を開発するならローカルにIAMのクレデンシャルがないと厳しいような。セキュリティ的には心配なので、環境のVDI化(Workspace)などと組み合わせた対策が要りますかね?

 ここでいうローカルというのは、自分のローカルPCを指していると思いますが、今回はIAMロールを付与したEC2インスタンスで作業するという前提にさせて頂きます。
 AWS-SDKの場合、IAMロールを付与したインスタンス上で作業する場合、IAMのクレデンシャルを設定する必要がありません。SDKの機能で、定められた優先順位に従い、勝手に付与されている権限を取得して利用します。このあたりは、『AWSのアクセスキー・シークレットアクセスキーをプログラムに安全に埋め込む(埋め込まない)方法』で解説しているので、知らない方はぜひ読んでみてください。

blog.takuros.net

 問題は、ツール等の成約でどうしてもアクセスキー・シークレットアクセスキーが必要な場合です。

IAMロールを付与したEC2インスタンスで、アクセスキーを取得する方法

 実は IAMロールを付与したEC2インスタンスでは、メタデータから一時的なアクセスキーを取得する方法があります。
curlコマンドで、ロール名を指定して取得するだけです。

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ロール名
{
"Code" : "Success",
"LastUpdated" : "2019-10-03T22:09:42Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIAQZZZZZZZZZZZZZZZ",
"SecretAccessKey" : "PxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"Token" : "クソ長いToken",
"Expiration" : "2019-10-04T04:44:40Z"
}

 この方法でIAMロールの権限を利用できる一時的な認証情報を取得できます。
詳しくは公式ドキュメントの『Amazon EC2 の IAM ロール』の"インスタンスメタデータからセキュリティ認証情報を取得する"のセクションを読んでください。
Amazon EC2 の IAM ロール - Amazon Elastic Compute Cloud

 またこの一時的な認証情報の利用方法については、ClassMethodさんの下記のブログが参考になります。
dev.classmethod.jp

メタデータから取得できる一時的認証情報の問題点

 上記のように簡単に一時的な認証情報を取得できます。あまりに簡単に取得できるので、それはそれで問題じゃないかという話もあります。例えば何らかの脆弱性を利用して、EC2に侵入された場合、ロールに実行場所の制限をしていない場合、クレデンシャル情報を利用して、そのEC2インスタンス以外の場所からでもAWSの操作ができます。実際、Capital Oneの個人情報流出事件は、この方法で取得したクレデンシャルで情報を盗み出した模様です。
 Administrator権限のような強い権限をロールに付与していたら目もあてられませんね。インスタンスにロールを付与する場合、必ず最小権限に絞りましょう。

piyolog.hatenadiary.jp

 個人的には、そのうちメタデータから一時的認証情報の取得の仕方を変えるんじゃないかなぁと思います。GCPの場合だったら、ヘッダー情報にMetadata-Flavor: Googleがないとメタデータを取得できないようになっています。
※この方法だけでは、万全ではないだろうが
インスタンス メタデータの保存と取得  |  Compute Engine ドキュメント  |  Google Cloud

IAMのマニアックな話に追記します

 この辺りの話は、「IAMのマニアックな話」で文章に散りばめてはおりました。しかし、独立した項目として扱っておりません。ということで、電子版の方に追記することにしました。この辺り同人誌だと簡単に変更できて良いですね。技術書典7で紙版で買った頂いた方にも、ダウンロードカードを配布しています。そちらからダウンロードできるファイルについても追記版を取得できるようにしておきます。対応したら、改めて連絡します。
 「IAMのマニアックな話」は、このようなIAMを使う上でのベーシックな考え方からセキュリティ・運用の具体例、テンプレートまでカバーしております。BOOTHで絶賛販売中なので、興味がある方はぜひご検討ください。
※ステマ

takuros.booth.pm

See Also:
#技術書典 に初出展。AWSの薄い本 IAMのマニアックな話を書きました
#技術書典 に出展する『AWSの薄い本 IAMのマニアックな話』はこんな本

執筆のテーマ選びについて #技術書典 参加に寄せて

 前回、 技術書典で刷り数を決める際に考えてたことをまとめました。刷り数は最後の段階なので、今回は一番最初に考えないといけないテーマについて書いてみます。多分、テーマは技術書を作る上で一番重要で、テーマが決まるとほぼ自動的に読者数が決まります。じゃぁ、そこをどう考えて戦略たてるかという話ですね

技術書の市場規模とカテゴリの話

 専門書と呼ばれるジャンルの本は、市場規模が予め決まっています。技術書もその一つで、技術を学ぼうとする人しか読みません。日本のITエンジニアはおおよそ100万人弱で、恐らくその中で自分で技術書を買う人は半分もいないでしょう。そして、一口にITエンジニアといっても、その中では細分化されています。インフラエンジニアやフロントエンジニア、或いはネットワークエンジニアといった区分があります。実際には更に細分化されるし、レベルによってピラミッド構造になっています。つまりAWSで日本語でどんなに売れる本を書いたとしても、100万冊売れることは絶対ないのです。

和集合と積集合

 最初から夢のない話からスタートしましたが、それでは出来るだけ多くの読者に届くにはどのようにすれば良いのでしょうか?1つ目の戦略としては、隣接する分野の読者を呼び込むことです。例えば、AWSをテーマにしたとしたら、アプリエンジニアにも読んでほしいといったケースですね。うまくいくと次の図のように和集合となり、2つのカテゴリーの読者からも読まれるようになります。

f:id:dkfj:20190930003235p:plain

 問題は、これが上手くいくかどうか。失敗するとどうなるかというと、次のように積集合になります。つまり、AWSとアプリを両方ともやる人だけが読むという本になります。そして、その可能性の方が高いです。

f:id:dkfj:20190930003420p:plain

 という事で、当たるとホームランだけど、三振の可能性が高いというのが2カテゴリーにまたがる本です。

カテゴリー内で、ニッチなテーマ

 では、逆にヒットを打てる可能性が高い戦略は何でしょうか?それは、カテゴリー内で、特定のテーマに特化した書く方法です。AWSであれば、その中に多くのサブカテゴリーを内包しています。サブカテゴリー一個一個の需要は小さいので、一般的な商業誌では取り上げづらいです。一方で、既にAWSを利用しているという人にとっては、広く浅い情報より一つのテーマに特化した方がありがたい場合もあります。その場合、多少値段が高くても買うという判断になります。

f:id:dkfj:20190930005238p:plain

 同人誌はこのニッチなテーマと相性がよくて、技術書典で頒布されている多くの本がこの形式なのではないでしょうか?今回、私が書いたIAM本もここを狙って書いています。ちなみにAWSは機能が多いので、この形式で書きやすいです。私自身、深堀りしたいテーマとして、次のようなものがあります。

  • Step Functions
  • Cognito
  • AWS Organizations
  • S3 + Athena
  • GuardDuty

 自分一人で書いていても尽きることがないので、手分けして書いていこうかなと考えています。

市場を広げる本

 本のタイプとして、実はもう一つあります。それは、市場を広げるタイプの本です。手前味噌な事例で申し訳ないのですが、昔クローラー・スクレイピング本を書いた事があります。クローラーを必要とするエンジニアは少ないと思いつつ、クローラーという手法はエンジニア以外にも役に立つだろうと思っていました。そういたら、上手いことあたって、マーケティングをしている人や、統計学でデータを集めている人たちにも一定数の支持を受けることができ、クローラー本としては予想外の売れ行きとなりました。

f:id:dkfj:20190930011853p:plain

 上記については、違うカテゴリーを呼び込むという意味では和集合と似ています。が、こちらは、2つの分野にまたがるのではなく、他分野の人を呼び込むという手法です。これは上手くいくと非常に多くの読者を呼び込めます。技術書典でいうと、mochikoさんや湊川さんがこのタイプの本を得意としているのかなぁと思います。商業誌では、「人工知能は人間を超えるか」などが、このタイプだと思います。

テーマごとの母数の見極め

 テーマ選びの手法は何となく理解頂けたと思うのですが、じゃぁそれぞれのテーマの母数はどうやって知るのかという疑問を持つと思います。これについては、私はハッキリとした答えは持っていません。ただ長年ブログや執筆をしてきた経験があるので、何となくの感覚を持っているというのが正直なところです。技術的な内容でバズっても、その後に書いたワインのブログで100倍くらい閲覧数が多かった時は、やっぱりそうよねという感想しか沸かなかったりします。
 なお、ちゃんとした数字を調べようと思うと、統計データや関連分野の本のタイトル数・売れ行きのランキングなどを丁寧におっていけば、ある程度推測は出来ると思います。私は、そこまでしていませんが。

それより大事な事

 ということで、テーマ選びの際に考えていることを連連と並べてみました。同じ労力を掛けて書くのであれば、少しでも多くの人に届いた方が良いと私は考えています。でも、それより大事な事があると思います。
※必要とする人が少なくても重要な事というのは、もちろんあります。そこを狙うのも、もちろん良いと思います。

- 自分が書きたい事を書いて、結果として自分を成長させること
- 一度やってお終いじゃなくて、続けること

 勉強会の発表や同人誌の執筆すると、一番勉強になるのはやった本人なのですよね。対象に対する理解が飛躍的にあがります。ただ、それが一度目で成功するかというと、中々そうはいかないです。では、成功するにはどうすれば良いのか?答えは成功するまで続けることです。技術書典は、小さなコストで挑戦できます。また開催間隔もおよそ半年くらいと短いので、何度も試せます。今回色々な課題が出てきたようですが、私は素晴らしいプラットフォームだと思います。Let's Try!!

出展したAWSの薄い本 IAMのマニアックな話は、BOOTHで購入できます!!
出品以来、BOOTHの技術書典7の新刊ランキングでほぼ一位継続中の模様です。
booth.pm

#技術書典 の生産管理 印刷数の最適化を考える

 先日の技術書典7で、「AWSの薄い本 IAMのマニアックな話」という同人誌を出展しました。技術書典に参加して面白かったのが、どれくらい売れるのかを予想しながら印刷冊数を検討することでした。どういった検討を経て決定したのか、まとめてみました。

2つのパラメーター

 技術書典で考えるべきパラメータは単純に2つだけです。見込み販売数と印刷数です。見込み販売数は、サークルチェック数を中心に類推し、印刷数は自分で決めます。それぞれ、見てみましょう。

見込み販売数

 まず頭を悩ますのが、見込み販売数です。これは自分だけでコントロールできるものでないので、いかに正確に読み解くかが勝負になります。幸い技術書典には、サークルチェックという機能があり、この数字を元にある程度の販売数を見通すことができます。更に、先人たちの知見の蓄積の結果、開催何日前にどれくらいのチェック数だったら、最終的にどこまでいくかの予想のモデルまであります。やぎっちさんが、毎日呟いて頂いて大変参考になりました。ありがとうございます。

 この被チェック数を元に、自身の予想を加えて見込み販売数が決まります。

印刷数

 見込み販売数が解かると、次はいよいよ印刷数の検討です。まず、バックアップ印刷所である日光企画さんの印刷代をみてみましょう。プランは色々ありますが、一番標準であるオフセット・スタンダードフルカラーで考えてみます。

日光印刷のオフセット・スタンダードフルカラー

次の画像は、ボリュームゾーンを書き出したものです。今回、私は124ページで想定で検討しました。
f:id:dkfj:20190928143735p:plain

見るとすぐに気がつくと思いますが、印刷代は冊数に比例しません。冊数が多くなると1冊あたりの単価は顕著に低くなります。

f:id:dkfj:20190928164352p:plain

例えば、124ページ印刷で50冊の場合だと1冊あたりの単価は1,095円ですが、500冊だと236円になります。大量生産すると原価が安くなるということを実感できますよね。これが、技術書典に出展する際の悩みどころであり醍醐味だと思います。

収支シミュレーション

 それでは、印刷数をどう決めれば良いのでしょうか?まずは124ページ前提で、損益分岐点を確認してみましょう。損益分岐点は、売上と費用の額がちょうど等しくなる販売数量です。販売価格を1,000円の場合と、1,500円の場合で検討しています。
f:id:dkfj:20190928165637p:plain

 冊数が少ない場合、損益分岐点となる冊数が多いのが解ります。特に124ページとある程度厚めにしているので、1,000円で売った場合は50冊の場合は全部売り切っても赤字になります。1,500円で売ると損益分岐点も低く利益が出やすくてバラ色に見えます。
 ただ、ここで見えないパラメータとして、値段と売上数に対する価格弾力性です。価格弾力性は、値段の変化に対して売上数がどれくらい反応するかです。下の図でいうと、出来るかで均衡点に近いところで値段をつけると良いです。

f:id:dkfj:20190928170830p:plain

 技術書典の場合、ある種お祭りのような場なので、価格弾力性は低い(値段が変化に対して売上数が変化しづらい)と考えました。なので、思い切って1,500円に設定しています。ということで、売上数は400冊弱と予想し100冊余らせる前提で、500冊印刷することにしました。これだと、100冊売れば損はしないし、予想通り売れれば充分な利益を得ることができます。

収支シミュレーションその2

 今回は1,500円で124ページという前提でしたが、この値はどちらも一般的なパターンではないと思います。次は、1,000円で84ページの場合で考えてみましょう。このケースの収支シミュレーションは次の通りになります。次回参加するとすると、新刊・既刊でサークルチェック数で予測が難しくなるので、その場合に備えての検討です。

f:id:dkfj:20190928165244p:plain

 100冊前後の売上見込の場合で、100冊するか200冊するかが悩みどころだと思います。100冊の場合は印刷代が46,790円、200冊の場合は56,300円とおよそ1万円の差です。この1万円の差をどうみるかですね。100冊の場合の最大利益は53,200円、200冊の場合は143,700円です。利益を最大化するか、損失を最小化するかで決めればよいと思います。私の場合、たぶん200冊刷って余った分は色々なところで配布して活用すると思います。

感想

 はるか昔、学生時代に経済学部だったので、生産管理の授業でこんな事の計算をしてたのを思い出しました。その時は、もっとちゃんとモデルがあったような気がしますが、すっかり忘れてしまいましたがw 技術書典に参加することで、このような経験をすることができるのが素晴らしいと思います。またこの後はBOOTHで販売して、マーケティングも学べますね。こちらも色々試しているので、また報告します。

出展したAWSの薄い本 IAMのマニアックな話は、BOOTHで購入できます!!
出品以来、BOOTHの技術書典7の新刊ランキングでほぼ一位継続中の模様です。
booth.pm

2019年9月30日 11:12追記:
テーマ選びの参考に、記事を書きました。対象読者がどれくらいいるのかの見極め方です

blog.takuros.net


See Also:
#技術書典 に初出展。AWSの薄い本 IAMのマニアックな話を書きました
#技術書典 に出展する『AWSの薄い本 IAMのマニアックな話』はこんな本

#技術書典 に初出展。AWSの薄い本 IAMのマニアックな話を書きました

 少し遅くなりましたが、2019年9月22日に開催された技術書典7の参加記です。

サマリー

『AWSの薄い本 IAMのマニアックな話』という本を、1部1,500円で500部用意しました。また、既刊の商業誌を各5冊づつ用意して、1割引で販売していました。また最終的なサークルチェックの被チェック数は、395でした。
f:id:dkfj:20190924055244j:plain

 当日頒布数は451冊で、売上にして67万6千5百円です。またBOOTHでの電子書籍の販売も22日の正午過ぎに開始して、24日の朝6時の段階で114冊、17万1千円売れています。これに対して経費の方は、印刷代他で20万円弱なので大幅に黒字です。準備不足のまま突入しましたが、まずは大成功でした。

当日配布した本については下記エントリーで紹介しているので、ご興味あれば見てください。
#技術書典 に出展する『AWSの薄い本 IAMのマニアックな話』はこんな本

反省点

大成功と言っても、当日出展している中で様々な改善点がありました。次回以降のために記録として残しておきます。

サマリーで本の内容を伝えるポップ

 当日販売していて本の内容・対象をひと目で伝わるポップを用意しておけば、もう少し売上げアップしていた可能性を感じました。当日の時間帯別の販売数の推移をみてください。

時間 売上数 累計販売数
11:00 151 151
12:00 94 245
13:00 82 327
14:00 43 370
15:00 45 415
16:00 36 451

 11時〜13時台の売上は、凄まじく全体の72%をこの時間帯で販売しました。一方で14時以降については、時間あたりの売上は半減しています。店頭に立っていると、客の行動の違いが解りました。11:00〜13:00は、ほぼ事前に買うことを決めてやってきたお客さんです。これに対し、14:00以降は、ブースを巡って本を探しているお客さんです。
 前者は、サンプル誌を読むことなく即買いします。後者は、サンプル誌を読んだり、本の内容を聞いたりして選びます。Twitterやブログで事前の告知をしていたので、前者の方には割とPRも出来て本の内容も伝わってたかと思うのですが、店頭で初めて見た方向けの情報が少なかったかなと思いました。ここは次回に向けての改善点です。

商業誌がスペースを圧迫

 せっかくの機会なので、商業誌も知ってもらいたいと合計6誌、30冊ほど用意しました。1割引で販売していましたが、やはり技術書典でわざわざ買う動機は少なく、12冊しか売れませんでした。もともと売れるとは思っていなかったので売上自体は良いのですが、スペースを圧迫したのは痛手でした。これは本棚か、或いは縦に並べる展示台のようなものを用意すれば良かったかなと思います。
 また唯一売り切れたAWSの認定資格本は、手配ミスで3冊しか用意していなかったです。こちらは12時台で早々と売り切れ、その後に売ってないのと何度も聞かれたので、機会損失していました。技術書典の来場の方の特性上、勉強熱心な方が多かったのかなと推測しています。いずれにせよ、売れたとしてもたかが知れているので、本の宣伝スペースと割り切って、1冊づつ見本誌として用意するのが良かったかなと思います。

交代要員

 当日は、会社の後輩に手伝ってもらって2人でのオペレーションでした。2人だとトイレ休憩するくらいが精一杯で、ゆっくり会場を回る余裕はありませんでした。開催前にヤバそうと気がついたのですが、参加証の追加発行をしていなかったのでスタッフの追加が出来なかったです。次回は、執筆者も増やした上で複数人のオペレーションを目指します。

ファシリティ面

 当日設営してみると、やはりファシリティ面で改善の余地に気が付きました。箇条書きで列挙すると次のとおりです

  • A2ポスターは、裏にダンボールで補強する必要がある
  • それ以前にA2ポスターを机の上に置くと、わりと邪魔
  • テーブル布の全面にポスターを貼ればよかった
  • 見本誌不足。2冊じゃなくて、4〜5冊くらい用意する。あと見本誌と解りやすくする

印刷数

 これは、全然知らなかったのですが、印刷所に500冊注文したとして500冊ちょうどに来るわけではなく、それより多い数を用意されるようです。これは落丁対策なのです。で、ダンボールの中に何冊とか書いた紙があるのですが、これを見ずに捨ててしまいました。感覚的には、520冊くらいあったような気がするのですが、正確なところが解りません。正確な本の冊数が解れば、後で売上との突き合わせとかに活用出来たのですが、後の祭りです。

良かった点

 ネガティブな面だけ挙げるのも何なので、良かった点もあげておきます。

レジアプリの導入

 手伝ってくれた後輩のアイデアで、レジアプリの即売レジというアプリを導入しました。これが中々便利で、時間帯ごとの売上も記録できます。

即売レジ

 今回は彼のiPhoneを専有してしまったので、次回はiPadにこれを入れて使うことにします。

事前告知

 執筆が押している中、できるだけブログやTwitterで告知するように努めてきました。労力の割には上手くいったようで、販売開始後のスタートダッシュにつながったと思います。一方で、もう少しチラ見せ的な要素で、内容に対する周知もできたかなと思うので、これも次回検討です。

本のテーマの選定

 技術書典に出ると決めた時に、時間を掛けて検討したのがどういった本の内容にするかです。同人誌なのだから、少し遊びの要素を入れて普段仕事でしているところから外すことも考えました。でも、初回なので色々手間取ることが予想できていたので、執筆自体で苦労しないテーマを選びました。そうすると必然的にAWSになります。
 では、AWSの中で何を書くか。網羅的な内容は、商業誌で既にやっています。また入門的な内容も、mochikoさんが既に良いものを出していて今更参入余地もありません。それでは、特化型とすることにしました。そうした中で書きたいテーマを幾つか考えました。

  • IAM本
  • Cognito本
  • サーバレス本
  • S3本

 サーバレス本は、テーマが広くもう少し絞り込む必要を感じました。一方で、API GatewayとかLambdaにすると、既に多数の同人誌があるので今回は見送っています。S3本は、個人的には出したいのですが、これで救われる人はどれくらいいるのかなということで一旦見送りです。Cognito本も有力候補なのですが、その前にIAMに比べて必要とする人は少ないです。なので、これも次回でよいかなと見送りました。
 結果的にIAMにして、そこそこ当たったかなと思います。Twitterのタイムラインみていても、反響が良いようです。また特にkmutoさんの「同人誌らしい同人誌」という下記のコメントは嬉しかったです。


感想と次回に向けて

 という訳で、なんとか初参加の技術書典を成功のうちに終えることができました。技術書典という場を提供してくださった運営の方、ボランディアの方、ありがとうございます。あの人数のイベントをまわすのは、並大抵の労力では出来ないと思います。本当に感謝しかありません。

 さて次回ですが、IAM本を書いていて足りないと思った部分を続編として書こうと思います。テーマはAWSのサービスを使ったセキュリティ強化で10章で取り扱ったCloudTrailやConfig,GuardDuty,組織アカウント、場合によってはSecurityHubやControllTowerあたりを駆使しようかと思います。もう一冊は全くAWSと別分野を考えています。子供向けのプログラム本でも書いてみようかなと思案中です。
 あとは、今回単独での参加でしたが、次回は同僚にも書いて貰って複数人で新刊を用意できるように、動いて行こうと思います。それでは、また次回参加するを楽しみにしています。

BOOTHで電子書籍販売中!!
takuros.booth.pm