Upgrade to Pro — share decks privately, control downloads, hide ads and more …

店舗の滞在率を知りたい!

 店舗の滞在率を知りたい!

Transcript

  1. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 店舗の顧客動向を知りたい! 株式会社 虎の穴 平山

    仁正 1 Copyright © 2019 Toranoana Inc. All Rights Reserved. 2019/06/25 【とらのあな主催】オタクが最新技術を追うライトニングトークイベント8回目
  2. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 2 Copyright © 2019

    Toranoana Inc. All Rights Reserved. • 名前:平山 仁正(ヒラヤマ ヨシマサ) • 好きなアニメ:ゆゆ式 • 好きな今期アニメ: 勝手に24分で終わるのが許されないけど、 ひとりぼっちの◦◦生活 自己紹介
  3. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 3 Copyright © 2019

    Toranoana Inc. All Rights Reserved. • 顧客動向を知りたい理由 • 顧客動向を計測する方法(wifi) • 詰まったところ・問題点 • 計測したデータをどうするか • まとめ 本日の内容
  4. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 顧客動向を知りたい 昼休みに、某中央通りにあるアニメショップ大手のA店をブラブラしていると、 人が多かった。 横にあるとらのあな秋A店を見ると、そんなに人はいない印象だったが、滞在

    時間は高そうだった。 店舗によって顧客動きはバラバラな印象 →具体的に動きを知りたい。 4 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  5. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 顧客動向の測定 飲食店なら、席滞在時間・注文タイミングで測定できる。 →とらのあなは小売店なので、測定できない。 ポイントカードで判定

    →会員じゃないとわからない。 →購入しないとわからない。 →入店してからどう動いているのかわからない。 では、どうしたらいいのか。 5 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  6. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 顧客動向の測定 Cisco Meraki(ネットワーク機器をクラウド上で管理できるブランド)の「ロ ケーション分析」に無線LANのProbe

    Requestを使ってリピーター、滞在時間 などを見れる機能がある https://www.cisco.com/c/m/ja_jp/meraki/documentation/mr/monitoring-and- reporting/location-analytics.html この仕組と同じものを使って動きを測定したい。 ※Probe Requestとは子機が、アクセスポイントが存在するか返答してほしい ときの要求 6 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  7. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 顧客動向の測定 仕組み的には、無線LAN子機が定期的に出す 「Probe Request」のMACアドレスを収集する。

    ↓ 一定時間Probe RequestのMACアドレスを検知できるなら 滞在していると判定できるはず 7 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  8. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するには ・PC ・モニターモードにすることができる無線LAN子機

    ・少々のプログラミング 8 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  9. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するには ・PC Raspberry3B+

    (なんでもよい) 9 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  10. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するには ・モニターモードにするこ とができる無線LAN子機

    BUFFALO製WI-U2- 433DMS https://www.buffalo.jp/produ ct/detail/wi-u2-433dms.html (※RaspberryPiの場合は、 有線LANで通信するなら、 標準搭載の無線LAN子機で モニターモードにでき る。) 10 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  11. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するには ・少々のプログラミング 最近、Pythonを使いたい衝動があるので、Python。

    scapy.allというライブラリーを使えば、簡単に実装でき そう。 $ pip install --pre scapy でライブラリーのインストールは簡単 11 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  12. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するために (PC編) 無線LANモジュールをモニターモード(受信のみ)

    にすると通信できなくなるため、コントロール用にもう一 つ接続する。 12 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  13. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するために (無線LAN編) BUFFALO製WI-U2-433DMSは

    realtek製rtl8812auという無線LANコントローラを使用して いる。 モニターモードにする必要があるが、デフォルトのドライ バだとモニターモードにできないので、 https://github.com/aircrack-ng/rtl8812au ↑のカスタムドライバーをインストールして # iwconfig wlan0 mode monitor でモニターモードにする 13 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  14. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するために (プログラミング編) from

    scapy.all import * def packet_callback(packet): if packet.type == 0 and packet.subtype == 4: #Probe Requestに絞る print(packet.show()) sniff(iface="wlan0", prn=packet_callback, store=0 ) #sniff()はパケット傍受用メソッド。 #受信するたびにコールバックが呼ばれる 14 Copyright © 2019 Toranoana Inc. All Rights Reserved. https://community.cisco.com/t5/wireless-mobility-documents/802-11-frames-a-starter-guide-to-learn- wireless-sniffer-traces/ta-p/3110019 802.11フレームのタイプについて
  15. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するために (プログラミング編) ###[

    RadioTap dummy ]### present = Flags+Rate+Channel+dBm_AntSignal+Antenna+RXFlags Flags = FCS Channel = 5180 ChannelFlags= OFDM+5GHz dBm_AntSignal= -80dBm ###[ 802.11-FCS ]### subtype = 4 type = Management addr1 = ff:ff:ff:ff:ff:ff addr2 = 68:a0:3e:26:1f:12 addr3 = ff:ff:ff:ff:ff:ff ###[ 802.11 Probe Request ]### ###[ 802.11 Information Element ]### ID = SSID len = 0 info = 'testssid' 15 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  16. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するために (プログラミング編) from

    scapy.all import * def packet_callback(packet): if packet.type == 0 and packet.subtype == 4: #Probe Requestに絞る print(str(packet.addr2)) #送信元のMacアドレスのみ表示 sniff(iface="wlan0", prn=packet_callback, store=0 ) 16 Copyright © 2019 Toranoana Inc. All Rights Reserved. ほしいのはMacアドレスだけなので、以下のように変更
  17. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 Probe Requestを測定するために (プログラミング編) xx:xx:xx:xx:13:bc

    xx:xx:xx:xx:13:bc xx:xx:xx:xx:13:bc xx:xx:xx:xx:13:bc xx:xx:xx:xx:13:bc xx:xx:xx:xx:13:bc xx:xx:xx:xx:3d:54 xx:xx:xx:xx:fd:16 xx:xx:xx:xx:fd:16 xx:xx:xx:xx:5f:60 xx:xx:xx:xx:60:ed 17 Copyright © 2019 Toranoana Inc. All Rights Reserved. ←は実行結果 送信元のMacアドレスのみ表示できて いる。 (xxは置換え)
  18. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 実演しないのか 法律の都合で、できないっぽい。 電波法第59条(秘密の保護) 何人も法律に別段の定めがある場合を除くほか、特定の相手方に対して行われ

    る無線通信を傍受してその存在若しくは内容を漏らし、又はこれを窃用しては ならない。 ↓ 公表する実演は不可能 18 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  19. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 詰まった点① プログラムを動かしても無反応 (パケットが全然取れない) →無線LAN子機がモニターモードになっていなかった。

    普通の無線LAN子機ではモニターモードになることができ ないので、カスタムドライバを入れる必要がある。 19 Copyright © 2019 Toranoana Inc. All Rights Reserved. $ iwconfig wlan0 wlan0 IEEE 802.11AC ESSID:"testssid" Mode:Managed Frequency:5.18 GHz Access Point: C8:B5:AD:C9:50:90 $ iwconfig wlan0 wlan0 IEEE 802.11AC ESSID:"testssid" Nickname:"<WIFI@REALTEK>" Mode:Monitor Frequency:5.18 GHz Access Point: C8:B5:AD:C9:50:90 ↓
  20. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 詰まった点② すぐに、メモリーがいっぱいになる (10分ぐらいで1GBのメモリとスワップ領域を使い切る) →分析ツールのライブラリーとして作られているので

    すべてのパケットをメモリー上に保存しているため 引数に、store=0を入れてあげれば、保存されない。 sniff(iface="wlan0", prn=packet_callback, store=0 ) 20 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  21. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 問題点① iOSとMacOS(と一部の設定しているWindows)では、Probe Requestに送信 するMacアドレスはランダム。

    (Ephemeral MAC Address) →iPhoneでは、測定できない? (顧客の50%ぐらいの顧客は判定できない?) https://www.nii.ac.jp/event/upload/koide_20170912.pdf(国立情報学研究所) 上の調査結果では、iOS端末のMacアドレスはスリープとwifi ON/OFFタイミン グで変わるので、大まかな滞在時間、入店数は測定できそう。 (リピート率は厳しい) 21 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  22. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 問題点② 電波法との兼ね合い →公共の場で内容を晒す(Youtube Liveとか)のは

    問題ありだが、特定のユーザーがクローズの環境で、サマ リーだけを見る分には問題ない。 自治体やCisco Merakiもやっているので、問題なさそう。 ただ、セキュリティはしっかりとする必要あり 22 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  23. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 計測したデータをどうするか MACアドレス(BSSID)+時間+場所+電波強度で滞在時間がわかるはず。 本社事務所で1秒あたり5件程度だった。(店舗では10ぐらい?(予想)) データを貯めたい

    1パケット=1レコード、10台運用したと仮定すると →10(レコード/s)*60*60*24*365*10(台)=31億レコード/年 ビッグデータ データを送りたい →10リクエスト/s*10(台)=100リクエスト/s それなりのサーバ 23 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  24. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 計測したデータをどうするか 活用するまでは時間がかかりそう。 (粉みかん) maraki使ったほうが(ry

    24 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  25. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 まとめ 巷で話題になっているキーワードの ビッグデータ(蓄積)、IoT(収集)、AI(分析)が 必要になること実感した。

    25 Copyright © 2019 Toranoana Inc. All Rights Reserved.
  26. 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 虎の穴 今後について AWSのAWS IoTを使って収集をできるようにしたい。 26

    Copyright © 2019 Toranoana Inc. All Rights Reserved.