この記事は、【Sisenseはじめの一歩】の第6回の記事です。 目次はこちら。 

 

こんにちは。Sato-Gです。
今年の東京の桜の開花は平年より5日遅く、満開は7日遅いらしい。不思議なことに東京より温暖な静岡は東京より遅い。この理由は、桜の花芽が育つには休眠打破という過程があり、休眠打破には一定の寒い時期が続かないといけないらしい。特に今年は静岡が寒い時期が続かなかったため、それが影響しているという話を聞いた。
こういうことをグラフで説明できると説得力があるのかもしれない。こんな身近なテーマもデータ分析できると楽しくなるよね。

さて、今回はSisenseのアラートの機能であるPulseについて説明する。
ドキュメントを見てたんだけど、余り良いサンプルがなく、自分でストーリーを考えてみたので、悪しからず。

Pulseの概要

SisenseのPulseはビルドした際に、データの異常を検知しダッシュボード上あるいはメールなどでお知らせする機能だ。
Pulseのトリガは3種類ある
(1)しきい値を設定して、しきい値から外れた場合にアラートを出す
(2)Sisenseアラートエンジンがデータから機械学習して、異常値を検知して自動的にアラートを出す
(3)ビルドの都度アラートを出す
尚、アラートを設定できるウィジェットは
・インジケータ
・棒グラフ
・折れ線グラフ
・面グラフ
・テーブル
となっている。
尚、ビルドアラートという機能もあり、これは「管理」の画面で行うが、ビルドが失敗した時などにアラートメールするというような場合に使用する(もちろんビルドが成功した場合にメールすることもできる)。

しきい値設定によるアラートの設定

今回は2020年12月の結果が、前年同月累計比=YoYで前年の95%を下回ったらアラートメールを送るという設定にしたい。

まず、Pulseを設定するインジケータを作成する。
ウィジェット追加からインジケータを選択して売上金額の合計(Total 売上金額)を作成しておく。



ここで「詳細設定」をクリックし、編集画面の左ペインの[Total 売上金額]の鉛筆アイコンをクリックすると数式エディタの画面となる。


ここでは今期の累計を去年と比較したいので、関数を2つ使用する。
・YTDSum
今期の期首から選択した年月までの累計を求める。
・PastYear
過去(前年)の同期間の合計を求める。

数式は以下のようになる。

YTDSum([Total 売上金額])/PastYear(YTDSum([Total 売上金額]))

さらに名前を「前年比」、数値の書式を小数点2桁の%表示とすると、インジケータのウィジェットはこんな感じになる。



これでインジケータができあがったが、いつの時点でYoYで95%を割ったのかを指定しないといけないよね。
そのためにはフィルター条件を設定する。ここではフィルターの月で12/2020を選択しておこう。
この時点ではYoYで98.27%、これはしきい値内なのでアラートの対象にはならない。


次に以下のようにウィジェットのメニューからPulseの追加を選択する。
フィルターは12/2020になっていることを確認しておこう。


同時にアラートメールも設定しよう。



設定が完了すると、自動的にPulse側にインジケータ(Sisenseではこれをタイルという)ができる。
現段階ではアラートがない状態なので数値の色は黒になっている。

しきい値設定によるアラートの結果

ここまで来たら、ビルド設定でデータの件数を故意に減らしてビルドしてみる。
全部取り込むと、235,211件の売上データがあるので、ここではちょっと減らして200,000件をビルドしてみよう。


wow!アラートメールが飛んできた。こんな感じ。


Pulseのタイルの表示は以下のように数値が黒から水色に変わった。

その他のアラートの設定

その他のアラート設定についても確認しておこう。
まずは「自動」。
この機能はSisenseが機械学習によってデータの異常を自動検知し、アラートするものだ。


しきい値の設定同様にPulseを追加し、設定を「自動」にするだけだ。これでSisenseが機械学習して、異常値になったらアラートを発してくれる(ここでは学習する履歴が少ないので確認はできなかった)。
尚、最後のオプションである「常時」はビルドする都度アラートするものなので、ここでは省略する。

まとめ

今回はデータの重要な変化や異常を検知し、アラートするPulseについて解説してきた。
僕は製造業のクライアントも担当してきたけど、しきい値設定によるアラートを要求されたことがある。Sisenseのしきい値設定はそんな時に効果を発揮する機能だ。
一方、機械学習による自動判定も便利ではあるが、チューニングできないことを考えると製造業には向かないかもしれない。製造業においてはアラートの理由が曖昧なものは参考程度にしか見られない。もし機械学習に頼って重大な品質上の瑕疵を見逃してしまったとしたらーという意識が働くからだ。
昨今のAIブームから、機械学習や深層学習がもてはやされているが、導入が思ったほど進まないのは、そういう理由も一因となっている思う。
事実、機械学習の手法では、結果は同一条件下でも必ずしも同じにならないものもある。
説明責任という問題がついてまわるが、おそらく機械学習を用いたほうが成果は上がるはずなので、補助的な機能を割り切って活用すべきと考える。
次回ははじめの一歩の最終回、Sisenseサーバの管理機能について解説する。

この記事が気に入ったら
いいね ! しよう