投稿日

数千名規模のイベントで RFID システムを開発して分かった5つの知見

こんにちは、日曜日の午前中は欠かさず NHK 杯テレビ将棋トーナメントを見ているソラコムの kaz です。

先週開催された Discovery は、あいにくの天気にも関わらず非常に多くの方が来場され、会場はどこも大盛況でした。どうもありがとうございました。本日は、前回のブログでご紹介した、来場者のパスケースに RFID タグを付けることで、参加者が意識する事なく各セッションの参加人数をカウントする RFID 実証実験の結果を発表したいと思います。

RFID タグについては前回のブログでご紹介した通り、パスケースにそのまま貼り付けると RFID リーダーで検知しにくいという問題があったため、以下のようにエアキャップを挟むことにしました。

rf-tag

しかしこれをそのままパスケースに貼り付けるのは見栄えが良くなく、せっかく twitter などに投稿して頂いても映えないため、最終的に全体をシールで覆うことでコスト面と見た目の問題をどちらも解決することができました。ただ単に RFID タグを貼り付けるだけではなく、色々と工夫が必要というのが1つ目の知見です。

当日は、各会場で以下のような RFID リーダーを設置しました。かなり目立つかと思いきや、当日会話した方達の反応を見る限り、気付かれなかった来場者の方が圧倒的に多かったようで少し意外でした。

deployment

この RFID リーダー、一見ただ単に設置しているだけのように見えるのですが、実は色々とノウハウが詰まっているのです。具体的には、

  • 台の高さが高過ぎても低過ぎても RFID タグを検知しにくくなるため、ちょうど良い高さを実際に試して決める。
  • RFID リーダーが RFID タグを検知できる幅・距離を調べ、1台でカバーできる範囲を把握して設置場所と数を決める。
  • RFID リーダーで常時スキャンし続けると熱による問題が生じるため、検知漏れしない範囲でスキャンを ON/OFF する間隔を決める。

などです。この辺りは、採用する RFID リーダーの特性にもよるため、実際に何度も試してみて最適な値を見つけ出すしかありません。これが2つ目の知見です。

RFID リーダーは、以下のように3階の赤枠で囲まれた10箇所に設置しました。

map

会場はとても広いため常時見守るわけにもいかないのですが、かといって全く見守らないとトラブルに気付かずイベントが終わってからデータが取れなかったことに気付くというリスクもある事に気付きました。そこで、展示対応しながら監視できるように SORACOM Lagoon を活用しました(画像をクリックすると拡大します)。左下の「09. ブース1」では17時頃に赤い点線が表示されていますが、これは実際に充電のトラブルがあって電源が落ちてしまったためで、それに気付いて無事復旧することができました(Lagoonの宣伝っぽくなってしまいましたが(笑))。ネットワークに繋げて状況を一元管理することで、リアルタイムな監視が容易にできるというのが3つ目の知見です。

lagoon

各会場の様子は、SORACOM Funk で連携した Amazon QuickSight を使って表示しました(画像をクリックすると拡大します)。ちなみに今回 RFID リーダーは3階のみ設置したため、他のフロアのセッションに参加されている間はここにカウントされません。

heatmap

このヒートマップからは、例えば以下のような情報が読み取れました。

  • 11時過ぎに基調講演が終わった後は、400人近くが展示会場へ行き、それ以外の方達はお昼ご飯に行ったり退場されたりした。
  • 12時半頃から徐々にお昼休みから戻って来られた方や、お昼から来場された方が各会場に参加し始めた。
  • 17時以降は、展示会場と1会場のみ開催されていた。

上のグラフでは見た目の観点から30分間隔でヒートマップを作成しましたが、間隔を短くすることでセッション開始後の人の流れなど、より詳細な情報も把握することができると思います。

また今回工夫した点として、9時半から11時の間は基調講演中で人の移動がほとんどないため、普通に通過人数だけカウントすると10時以降はほとんど人が存在しないようなデータとなってしまいます。そこで時間を30分間隔で区切り、次の時間帯に入ったタイミングで、その前の時間帯からデータをコピーするようにしました。その後、別の場所を通過した際には、以前のデータを無効化して、通過した場所のカウントをプラスするような仕組みにしております。その結果、リアリティのあるヒートマップができたのではないかと思っております。
17時にセッションが終わった後の2〜5会場で数字が残り続けていることからも、100%検知できていないことは間違い無いのですが、傾向を把握するのには十分だったのではないかと思います。

さらに今回、単純なカウント以上のことをやってみたいと考えていまして、来場時間の早さで色分けしてみました。Earlyが1だと朝から参加された参加者、0だと午後から参加された参加者になります。

earlybird

グラフは16時時点の参加者のものですが、展示会場は内訳が均衡しているのに対し、2〜4会場はかなり偏りが見られました。

これをさらに発展させたもので、かつ元々作りたいと思っていたグラフは、会場ごとにパートナー種別等の内訳を示す以下のようなグラフでした。今回は、これはシミュレーションという形でランダムに振り分けて生成しています。当初はこれを実現するために受付けをパートナー種別ごとに分ける案を考えていたのですが、並ぶ列に偏りが生じて不公平感が生じるなどの懸念が見つかりました。代替案として、受付けとは別の場所にパートナー種別の数だけバーコードリーダーを用意し、バーコードをかざすと対応するパートナー種別が登録される案も考えたのですが、協力者数がどれだけ出るか予測できない、セッションの邪魔になり兼ねないなどの懸念からこちらも断念しました(上の RFID タグの写真にバーコードがあるのは、実はその名残です)。規模が大きいと、思い付いた実現案でそのまま運用が回るとは限らないというのが、4つ目の知見です。

simulation

ちなみにこのグラフのように、セッションごとにどのような種別・業種・業務の方が多いのかを可視化することで、どういう内容のセッションだとどういった方に興味を持ってもらいやすいか分析できると考えていました。例えば、2会場はインテグレーションパートナーの方に興味を持ってもらっており、3会場はデバイスパートナーの方に興味をもらっていた、など。データはリアルタイムに取れるため、もしかすると参加者の属性に合わせて講演内容を調整するといったこともできるかもしれません。こういった分析は、人数カウンタやカメラの画像解析によるカウントでは実現できない RFID ならではの特徴と言えると思います。

また別の切り口として、私の RFID タグの ID を指定すると、以下のように自分の行動履歴を確認することができました。

history

各時間帯で、一度でも通過した場合に色が付いています。9時と13時半には、状況を確認するために各 RFID リーダーを確認しに行ったため、全て記録されています(ただし13時半の4会場だけは、セッションが人気過ぎて中に入れませんでした(笑))。

今回の開発作業では RFID リーダーを制御する iPhone に SORACOM IoT SIM を利用したのですが、SORACOM プラットフォームの良さを再認識することができました。いくつか具体例を挙げますと、

  • メタデータサービスのユーザーデータにパラメータを設定して RFID リーダーからその値を随時取得することで、RFID リーダー10台にそれぞれ個別にパラメータを設定しなくて済む。
  • Unified Endpoint を使うことで、SORACOM Harvest と SORACOM Funk の両方にリクエストを投げることができる。また、リクエスト先のサービスを変える場合に RFID リーダー側で設定を変更する必要がない。
  • セッション会場の「入り口」と、階段やエレベーターなどの「出口」で RFID リーダーの所属するグループを分けることで、RFID リーダー側のコードを変更することなく色分けすることができる。

などです。RFID リーダーの台数が多いため、とにかくコードは一つに統一し、必要な設定は全て SORACOM のユーザコンソール上で行うようにすることで、デプロイ作業が非常に楽だったと感じました。これが最後5つ目の知見です。

以上、RFID 実証実験の結果をお伝えしましたが、いかがでしたでしょうか?数千名規模となると、なかなか当初の想定通りうまく行かないことも多く色々苦労したのですが、参考になりましたら幸いです。今回のブログをご覧になって RFID にご興味を持たれた方は、こちらからお問い合わせください。お待ちしております!

ソラコム kaz 中西