WEB社会科見学 Twitterプロモーションができるまで!

抽選作業ってわりと大変なんです

この記事は約5分で読めます by 安部孝志

こんにちは! 安部です。

あべたかし
安部孝志

風来のWEBエンジニア 兼 インフラエンジニア 兼 WEBディレクター。株式会社オフィス303 所属。

前回の続きのお話です。

確率の偏りに対しての疑問

満開だった桜が散り、平成も残り半月ほどとなった2019年4月中旬。

オフィス303の打ち合わせスペースにて。

心平さんはスマホアプリでゲームとかします?

安部

たまにやるよ。

心平
つねまつしんぺい
常松心平

編集プロダクション 株式会社オフィス303の代表取締役 兼 303 BOOKSのプロジェクトリーダー。千葉県千葉市の埋めたて地出身。バイク雑誌、パズル雑誌を経て、児童書の編集者になる。本は読むものではなく、つくるものだと思っている。

ゲームには「ガチャ」とかそれ以外にも色々なところで、「運の要素」ってあるじゃないですか。これに疑問を感じたことあります?

安部

ある!

「ポケモンGO」でさー、どうしても入手できないポケモンがいるんだよね・・・ いっぱい歩くとタマゴからポケモンが生まれるんだけど、どれだけ歩いても生まれてこないポケモンがいるんだ。これって本当に運・不運の問題で片付くのだろうか?と疑問がわくことはある・・・

心平

やっぱりありますか・・・ 自分はゲームではないんですけど、先週の競馬の桜花賞で馬券外して、これで3年越しで40連敗ですよ・・・ これって何なんですかね・・・

安部

※桜花賞:日本中央競馬会(JRA)が毎年桜の咲く時期に実施する重賞(GI)競走。今年(2019年)は単勝2番人気のグランアレグリアが優勝した。

(それは運じゃなくて、ただの予想下手だろ・・・)

心平

公正な抽選をしたい!

でも、確率の偏りって本当に不思議だね。

心平

(Googleの計算機能を使いながら・・・)

「普通のサイコロを20回振って、1の目(アタリ)が一度もでない確率」って約2.6%もあるんですね。100人がやれば、一度もアタリを引けない人が2〜3人くらいは出てもおかしくないってことです。

安部
(5÷6)の20乗に100をかけた計算結果
(5÷6)の20乗に100をかけた計算結果。

ふむ。

心平

Excelエクセルを使いながら・・・)

一方で、「普通のサイコロを20回振って、1の目が7回以上出る確率」
はなんと約3.7%

もあります。100人がやれば3〜4人くらいはアタリを引きまくる人がいたりもします。

安部
試行回数1~20で1の目がでる確率表

Excelを使ってすべてのパターンを計算した結果。
7回以上の数値をすべて足し算して計算すると約3.7%になる。

(Excel!?・・・ この男、いつの間に!?・・・)

心平

パチンコ屋さんの日常風景って感じです。

安部

・・・まぁ、こういう確率の偏りを排除するのは無理としても、とにかく今回の抽選作業は公正に行ってね。

心平

はい。今回はキャンペーンの立て付けもちょっと複雑なので、人手による抽選は最初から考えてませんでした。

安部
キャンペーンページの注意事項
リツイートキャンペーンの告知ページに記載した応募方法
特定の条件で当選確率がアップするなどで、抽選作業はそれほど簡単ではない。

リストに数字の連番を振って、「コンピュータで発生させた乱数と一致した人を当選者とする」という単純な処理だけであれば、慣れたプログラマであれば数時間もあれば抽選プログラムを完成させることができるでしょう。ただし、Twitter上で応募を募ったキャンペーンの抽選となると、以下のようなチェックも必要になります。

  1. 応募者が@303_BOOKSのフォロワーかどうか
  2. 応募者のTwitterアカウントが非公開になっていないか
  3. キャンペーン期間中に応募したか(締め切り後の応募は無効)
  4. 過去に当選していないか(1度のキャンペーンで当選は重複しない)
  5. 応募に関する特定の条件を満たしたか(当選確率がアップする)

303 BOOKSで行ったリツイートキャンペーンは、前回の記事で紹介したTwitter APIも活用し、数々のチェックを含むすべての処理をコンピュータ上で行うことで、厳正かつ公正な抽選を行うことができました。

使用したプログラムの抜粋
キャンペーンで使用した抽選プログラムの一部(プログラミング言語:PHP7.3)

図のプログラム中にあるmt_randという部分が乱数を発生させているところです。

※正確にはメルセンヌ・ツイスタというアルゴリズムで発生させた疑似乱数。今回のような抽選処理などで使う分には問題ないが、暗号の作成などセキュリティに絡むような処理で使用するには適してない。詳しくはWikipediaを参照のこと。

また、抽選作業だけではなく、当選者へのAmazonギフト券のコードの送付作業までも含めて、ほとんどの処理をコンピュータ上で機械的に行いました。その結果、2回のリツイートキャンペーンの当選者合計150人に対して、送付間違いなどのトラブルなど一切なく、無事にキャンペーンを終えることができました。

今回のキャンペーンでは、当選報告の際に抽選プログラムの結果画面も合わせてTweetした。

ほとんど手探りの状態から始めたTwitterを利用したプロモーション活動でしたが、当初の目標だったフォロワー数も10,000人を達成するなど、一定の成果を収めることができました。


5月中旬。キャンペーン終了後のオフィス303にて。

当たった人からの当選報告とかもらうと嬉しいものだね。ダジャレーヌちゃんの絵本を買ってくれた人もいたし。

これからもTwitterがっつり使って、いろんなことやっていこうぜ!!!

心平

謎のハイテンション・・・

安部

303 BOOKSとWEB

#1から今回まで4回に渡って303 BOOKSで行ったTwitterプロモーション活動についてお伝えいたしました。今秋以降にも本の発売を計画しており、その都度WEBを利用したプロモーション活動、コンテンツ展開などを効率的、効果的に行っていきます。

303BOOKSのWEBサイト
303 BOOKSのWEBサイト

新しい本の可能性への挑戦の一つがこのWEBサイトです。挑戦者としてまだ船をこぎ始めたばかりですが、我々がたどり着く先には「本の未来」「未来の本」があると信じています。これからの303 BOOKSにぜひご期待ください。

CREDIT

クレジット

執筆・編集
出版業界やゲーム業界を渡り歩いてきた風来のエンジニア 兼 WEBディレクター。かつて勤めていたゲームメーカーが発売したレトロゲームを数年前から収集し始めたが、数が膨大にあるのと、一部はプレミア価格が付いていて、すべて集めるのは無理と悟った。それでも直近1年間で20タイトルほど購入した。
イラスト
1994年、福岡県生まれ。漫画家、イラストレーター。第71回ちばてつや賞にて「死に神」が入選。漫画雑誌『すいかとかのたね』の作家メンバー。散歩と自転車がちょっと好きで、東京から福岡まで歩いたことがある。時代劇漫画雑誌『コミック乱』にて「神田ごくら町職人ばなし」を不定期掲載中。