ある小売チェーンは80店舗に2,000台のビーコンを設置している。普通の週に、そのうち14台が沈黙する。気づく者はいない——ロケーターアプリが「信号なし」を返し、買い物客が文句を言うまで。ハードウェアは機能していた。データが機能していなかったのだ。Beaconというものは、それが吐き出すストリームをどう扱うか次第でしか役に立たない。

生の信号はゴミだ

ビーコンは数値を送信する。受信信号強度、単位はデシベル。1回の読み取りはノイズにすぎない。3歩歩けば8 dBぶれる。体を向ければ12落ちる。単発のRSSIサンプルはほとんど何も教えてくれず、生の値でロケーターを組んだ者は皆、マップ上でジッターするのを見てきた。解決策はより良いビーコンではない。各読み取りを評決ではなく1票として扱うデータ層にある。

まずパイプラインを組む

凝ったモデルより前に、配管を正しくする。各Beaconはすべてのアドバタイズメントにタイムスタンプとシーケンス番号を付け、ストア・アンド・フォワードのバッファへ送るべきだ。典型的な店舗は1時間に40,000件のビーコンメッセージを発する。80店舗なら1時間に320万行になる。それを端末側で解析する者はいない。バッチにし、圧縮し、時系列ストアへ押し込み、異常ジョブがゲートウェイを溶かさずに読めるようにするのだ。

信じる前に平滑化する

10サンプルの移動中央値で、大部分のジッターは消える。カルマンフィルタは、ターゲットが動くときにより良く働く。なぜなら新しい読み取りを予測経路に対して重み付けするからだ。ビーコンベースのロケーターでは、通常両方をブレンドする。スパイクを除くには中央値を、動きを追うにはカルマンを。結果は魔法ではない——壁を這う点と、人を実際に追う点の違いだ。コストは遅延である。2秒の平滑化窓は2秒のラグを意味し、そのラグはドアの近くでは重要だ。

フィンガープリンティングには地図が要る

三次測位の数式はきれいな距離を前提とする。実際の建物はそれを嘲笑う。フィンガープリンティングは代わりに、各地点がどう見えるかを記録する——地点Aでの全BeaconからのRSSI、地点Bでの全BeaconからのRSSI——そして生の読み取りを最も近い保存パターンに合わせる。良好な屋内精度を望むBeacon導入はこの電波地図を一度、フロアを歩いて作り、壁が動けば更新する。地図を省略すれば、自信に満ちていて間違っているシステムが得られる。

報われる異常検知

ここがビーコン群が本領を発揮する場所だ。三つのパターンが重要である。第一に、突如として自らのベースラインより20 dB弱く報告するBeaconは、死にかけか覆われている——客に見つかる前にフラグを立てよ。第二に、順序を逸して届く読み取りは、リプレイまたはスプーフィングされた信号を示唆する。第三に、毎週火曜の午後2時に通行量が3倍になるゾーンはエラーではない。それは人員を配置できる補充の窓だ。モデルは退屈である。今日をBeaconごと、時間ごとの30日ベースラインと比較し、差が閾値を超えたら叫べ。

死んだ電池を予測する

コイン電池のBeaconは1〜3年持つが、いつか死ぬ。待つのではなく、アドバタイズメント間隔のドリフトと、週ごとのRSSI安定性を追跡せよ。故障しつつあるBeaconの電池は、暗くなる前にノイジーになる。そしてそのノイズは3〜6週間早く検出可能だ。我々は交換を、死んだものを直すのと同じトラック回送に組み込むので、店が同じビーコンで2度の停止を見ることはない。予測は当てずっぽうではない。それは傾きである。

人間向けに可視化する

技術者は生のダッシュボードを愛する。運用者は愛さない。有用な表示は、緑・黄・赤の点が付いたフロアプランだ——緑は正常、黄はドリフト中、赤は1時間以上沈黙を意味する。点をクリックすれば、そのBeaconの過去24時間の信号が、表ではなく線で得られる。地域マネージャーは「どの店が不調か」を10分ではなく10秒で答えるべきだ。書いた者だけが読めるなら、データインテリジェンスは無駄である。

データ層のプライバシー

人を追跡するBeaconは人間も追跡し、それは弁護士を引き寄せる。安価な解決策は、ゲートウェイでデバイス識別子をハッシュ化し、時系列ストアが実際のMACを見ないようにすることだ。より良い解決策は、集計のみを保持すること——「午後3時にゾーンCに12台のデバイス」——そして個別の軌跡を1時間後に破棄することだ。最小化を尊重するビーコンシステムは監査に通る。すべての足跡を溜め込むものは通らず、罰金は群より大きい。

再構築された一導入

ある病院は600台のビーコンを経路案内に使い、ロケーターへの苦情が1ヶ月上昇するのを見た。根本原因はビーコンではなかった。バッファしたがフラッシュしないゲートウェイだった。そのため異常ジョブは3日前のデータで学習し、沈黙した40台を見逃した。フラッシュのウォッチドッグとBeaconごとのハートビートチェックを追加すると、「信号なし」チケットは2週間で90%減った。ビーコンハードウェアは変わらなかった。データ層が変わったのだ。

受け入れるトレードオフ

より多くのインテリジェンスはより多くの計算と規律を要する。長いベースラインは遅いドリフトを検出するが、速いスパイクを見逃す。重い平滑化はジッターを除くが、本当の突然の動きを隠す。ストリームを点ではなく決定へと变えるBeacon導入こそが、実際の建物との接触に耐えるものだ。払えるラグを選び、それを守るパイプラインを組め。