3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

弥生Advent Calendar 2022

Day 14

おうちのデータ、分析してみた

Last updated at Posted at 2022-12-13

この記事は弥生 Advent Calendar 2022の14日目の記事です。

前置き

我が家では趣味で開発した「ストック管理システム」を運用しており、日々の買い物に役立てています。

「ストック管理システム」について
シャンプーや調味料などのストック品の個数を管理して、個数が少なくなったものをLINEに通知するシステム。
詳しくは昨年の記事をどうぞ。

運用していく中で、1つの致命的な問題点が浮上しました。
使用した記録の入力を忘れることです。
昨年の記事にも書いた通り、システムに入力する作業が増えたことが一番のデメリットだったのですが、
入力を忘れてしまった場合は、実際の数とシステム上の数がずれてしまい、
実際は数が少ないのにLINEに通知ができなくなってしまいます。
その結果、本当は買う必要があったのに、通知が無かったから買わなかった→ストックが無いオワタ/(^o^)\ということが起きてしまいました。

どう対処しよう?

この問題にシステム的に対処するために、どういった機能を用意すればいいか考えました。
一番ユーザに親切なのは、システム側から「君、入力忘れてない?」とユーザに通知することです。
システムに「入力忘れ通知」機能を実装するために、いくつか方法が考えられます。

  1. 決まった時間間隔(例えば3日間)ごとに「君、入力忘れてない?」と通知する。
  2. ユーザがストックごとに時間間隔を設定して、その間隔ごとに「君、入力忘れてない?」と通知する。
  3. 適切な時間間隔をシステムで計算して、その間隔ごとに「君、入力忘れてない?」と通知する。

この中で一番高機能なのは3です。
余計な通知がなく、最も実際に忘れていそうなタイミングで通知できそうです。
なので、3が可能かどうかを考えてみます。
「ストック管理システム」では、各種操作に対して履歴を蓄積しており、
・どのストック品を
・いつ
・いくつ
・使用した/購入した
というデータが蓄積されています。
このデータを活用すれば、各ストック品のだいたいの使用周期がわかり、その周期に基づいて「君、入力忘れてない?」と通知できるのではないか?と考えました。

データ分析してみよう

「入力忘れ通知」機能を実装できるかどうか、まずは今のデータを分析してみることにしました。
本番データを確認したところ、2022/11/29時点で311件のストック使用ログがありました。
ログは下記のような形式です(一部抜粋)。

ストック品名 開封日
パン粉 2021/11/27
パン粉 2022/2/12
パン粉 2022/5/14
ブルーレット 2021/11/21
ブルーレット 2021/12/19
ブルーレット 2022/1/30
ブルーレット 2022/2/27
ブルーレット 2022/3/27
ブルーレット 2022/4/24
ブルーレット 2022/5/22
ブルーレット 2022/6/19
ブルーレット 2022/7/18
ブルーレット 2022/8/14
ブルーレット 2022/9/17
ボディーソープ 2021/11/24
ボディーソープ 2021/12/18
ボディーソープ 2022/1/30
ボディーソープ 2022/4/9
ボディーソープ 2022/5/3
ボディーソープ 2022/7/10

これらに対して、下記の分析をしていきます。
①使用間隔の算出
 ストック品ごとに、前回の使用ログから何日間隔が空いているかを算出します。
②使用間隔のばらつき具合を算出
 使用間隔が大きくばらついている場合は、今回の仕組みには向いていないストック品(使用タイミングが予測不可能なもの)となります。

データ分析の結果①

使用間隔は以下のようになりました。
長いので見たい方は展開してくださいね。

使用間隔一覧
ストック品名 使用間隔
あらびき胡椒 77
あらびき胡椒 150
ウェットシート 70
ウェットシート 70
ウェットシート 70
ウェットシート 70
ウェットティッシュ 83
ウェットティッシュ 90
ウェットティッシュ 43
ウェットティッシュ 42
オイスターソース 70
オイスターソース 70
オイスターソース 82
オイスターソース 30
オイスターソース 70
オートミール 16
オートミール 15
オートミール 15
オートミール 26
オートミール 14
オートミール 15
オートミール 18
オートミール 10
オートミール 14
オートミール 19
オートミール 14
オートミール 23
オートミール 13
オートミール 41
オートミール 43
おふろのルック 48
おふろのルック 1
おふろのルック 77
おふろのルック 35
おふろのルック 49
おふろのルック 78
おふろのルック 48
オリーブオイル 96
オリーブオイル 108
お茶パック 28
お茶パック 26
お茶パック 102
お茶パック 24
お茶パック 26
お茶パック 19
お茶パック 20
お茶パック 42
お茶パック 21
お茶パック 26
お茶パック 17
お茶パック 5
かつお節 75
かつお節 40
かつお節 16
かつお節 30
かつお節 20
かつお節 16
かつお節 27
かつお節 96
かつお節 19
かつお節 38
キッチンペーパー 133
キッチンペーパー 110
キッチンペーパー 63
キッチンペーパー 42
キッチンペーパー 49
クイックルワイパー 97
クイックルワイパー 95
ごま油 144
ごま油 200
ごま油 48
コンソメ(固形) 127
コンソメ(顆粒) 90
コンソメ(顆粒) 60
コンロ用クリーナーシート 108
サラダ油 63
サラダ油 0
サラダ油 33
サラダ油 28
サラダ油 59
サラダ油 52
サラダ油 46
サラダ油 68
サラダ油 25
シャンプー 66
シャンプー 65
シャンプー 71
スポンジ 72
だしの素 46
だしの素 64
だしの素 56
ティッシュ 190
トイレットペーパー 28
トイレットペーパー 64
トイレットペーパー 54
トイレットペーパー 7
トイレットペーパー 25
トイレットペーパー 27
トイレットペーパー 27
トイレットペーパー 56
トイレットペーパー 33
トイレットペーパー 30
トイレの漂白剤 245
トイレ掃除シート 184
にんにくチューブ 31
にんにくチューブ 30
にんにくチューブ 28
にんにくチューブ 23
にんにくチューブ 20
にんにくチューブ 17
にんにくチューブ 20
にんにくチューブ 24
にんにくチューブ 12
にんにくチューブ 15
にんにくチューブ 46
にんにくチューブ 5
にんにくチューブ 27
にんにくチューブ 21
にんにくチューブ 47
にんにくチューブ 23
パスタ 23
パスタ 74
パスタ 18
パスタ 4
パスタ 14
パスタ 13
パスタ 40
パスタ 24
パスタ 41
パスタ 42
パスタ 36
ハンドソープ 211
パン粉 63
パン粉 77
パン粉 91
ブルーレット 15
ブルーレット 28
ブルーレット 42
ブルーレット 28
ブルーレット 28
ブルーレット 28
ブルーレット 28
ブルーレット 28
ブルーレット 29
ブルーレット 27
ブルーレット 34
ボディーソープ 18
ボディーソープ 24
ボディーソープ 43
ボディーソープ 69
ボディーソープ 24
ボディーソープ 68
ボディーソープ 24
ボディーソープ 22
ボディーソープ 23
ボディーソープ 45
ポン酢 196
マヨネーズ 47
マヨネーズ 78
マヨネーズ 75
マヨネーズ 50
ラー油 24
ラー油 17
ラー油 43
ラー油 45
ラー油 48
ラー油 23
ラー油 20
ラー油 9
ラー油 19
ラー油 18
ラー油 18
ラー油 11
ラー油 16
ラー油 57
リンス 84
リンス 70
リンス 71
ルックプラス 12
ルックプラス 14
ルックプラス 19
ルックプラス 16
ルックプラス 13
ルックプラス 34
ルックプラス 15
ルックプラス 16
ルックプラス 16
ルックプラス 17
ルックプラス 9
ルックプラス 9
ルックプラス 15
ルックプラス 16
ルックプラス 15
ルックプラス 13
ルックプラス 13
ルックプラス 16
ルックプラス 13
ルックプラス 13
ルックプラス 28
ワイドハイター 41
ワイドハイター 35
ワイドハイター 42
ワイドハイター 35
ワイドハイター 49
ワイドハイター 40
ワイドハイター 41
塩コショウ 7
可燃ごみ袋(10L) 126
可燃ごみ袋(10L) 105
可燃ごみ袋(20L) 78
可燃ごみ袋(20L) 91
可燃ごみ袋(20L) 189
合わせ味噌 98
歯磨き粉 92
歯磨き粉 112
歯磨き粉 110
93
52
42
28
91
48
40
柔軟剤 17
柔軟剤 14
柔軟剤 15
柔軟剤 12
柔軟剤 13
柔軟剤 12
柔軟剤 14
柔軟剤 21
柔軟剤 11
柔軟剤 45
柔軟剤 12
柔軟剤 16
柔軟剤 14
柔軟剤 14
柔軟剤 29
柔軟剤 15
柔軟剤 18
柔軟剤 15
柔軟剤 20
醤油(調理用) 181
醤油(調理用) 96
食器用洗剤(キュキュット) 237
生姜チューブ 104
生姜チューブ 113
生姜チューブ 64
洗顔 51
洗顔 51
洗顔 56
洗濯用漂白剤 27
洗濯用漂白剤 16
洗濯用漂白剤 57
洗濯用漂白剤 11
洗濯用漂白剤 21
洗濯用漂白剤 42
洗濯用漂白剤 28
洗濯用漂白剤 24
洗濯用漂白剤 25
洗濯用漂白剤 21
洗濯用漂白剤 24
洗濯用漂白剤 27
洗濯用粉洗剤 17
洗濯用粉洗剤 18
洗濯用粉洗剤 17
洗濯用粉洗剤 15
洗濯用粉洗剤 16
洗濯用粉洗剤 15
洗濯用粉洗剤 17
洗濯用粉洗剤 17
洗濯用粉洗剤 22
洗濯用粉洗剤 27
洗濯用粉洗剤 18
洗濯用粉洗剤 17
洗濯用粉洗剤 16
洗濯用粉洗剤 16
洗濯用粉洗剤 16
洗濯用粉洗剤 17
洗濯用粉洗剤 16
洗濯用粉洗剤 31
洗濯用粉洗剤 24
洗濯用粉洗剤 16
甜麺醤 77
甜麺醤 76
甜麺醤 61
甜麺醤 28
甜麺醤 45
甜麺醤 45
豆板醤 87
豆板醤 53
豆板醤 76
豆板醤 50
豆板醤 39
豆板醤 28
豆板醤 36
豆板醤 35
豆板醤 19
排水溝ネット 66
排水溝ネット 64
排水溝ネット 70
排水溝ネット 63
排水溝ネット 73
片栗粉 60
片栗粉 185
片栗粉 36
片栗粉 23
油固め粉 86
輪切り唐辛子 73
輪切り唐辛子 77
輪切り唐辛子 95

考察①

洗濯用粉洗剤(ビーズとかそういうやつです)がかなりブレが少なそうなことに驚きました。
おそらく入力忘れのせいで31日間空いているところがありますが、大体が15~18日間隔になっています。
結構目分量で使っているつもりだったので驚きました。
また、豆板醤やラー油の使用量がおかしいです。
私は辛い物が好きなので、使うときは多めに使っていたり、、
ラー油を使う料理(餃子、麻婆豆腐など)をよく作ったりするので、そのせいだと思います。
(それでもこんなに使っているとは…)

データ分析の結果②

①の結果をもとに、ストック品ごとにデータのばらつき度合いを計算していきます。
データのばらつき具合は標本分散で見ていきます。
ストック品ごとの母集団を「これまで発生した・これから発生する使用履歴すべて」と考え、今あるデータはその標本であるとして、統計のロジックを適用します。
標本分散はExcelのVAR.P関数で算出できます。
ある程度の標本数がないと標本分散の意味がないので、使用履歴が3回以下のストック品は省くことにしました。
標本分散が小さい=ばらつきが少ない順に並べます。

ストック品名 標本分散(小数第3位以下切捨て)
ウェットシート 0.00
排水溝ネット 14.16
洗濯用粉洗剤 17.34
ワイドハイター 19.38
ルックプラス 24.36
ブルーレット 36.23
柔軟剤 59.42
オートミール 91.12
にんにくチューブ 112.46
洗濯用漂白剤 133.07
マヨネーズ 198.25
ラー油 215.34
トイレットペーパー 273.29
甜麺醤 314.88
オイスターソース 317.44
ボディーソープ 336.40
パスタ 344.26
サラダ油 427.80
豆板醤 440.00
ウェットティッシュ 490.25
お茶パック 542.55
558.48
おふろのルック 588.57
かつお節 657.41
キッチンペーパー 1280.24
片栗粉 4136.5

考察②

標本分散が小さいストック品は、洗濯用粉洗剤のような「定期的に決まった量を消費するもの」が多いです。
反対に、標本分散が大きいストック品は調味料などの「不定期に様々な量を消費するもの」が多いです。
ところで、ラー油の標本分散、小さすぎません?
上記の法則でいえば、ラー油は「不定期に様々な量を消費するもの」のはずですが、我が家では比較的「定期的に決まった量を消費するもの」のようです。
このあたりの使用間隔がやばいです。圧倒的な消費スピードです。

■ラー油の使用履歴(一部)

開封日 使用間隔
2022/6/28 19
2022/7/16 18
2022/8/3 18
2022/8/14 11
2022/8/30 16

逆にお茶パック(煮だして1Lとか作るやつ)はほぼ毎日1L分消費しているのに標本分散が大きすぎる気がします。
使用履歴を見ると、2022/3/22と2021/12/10の間がいくつか入力忘れがありそうです。
この時期にお茶パックを使っていなかったということはないはずです。
試しに、102日間という使用間隔を無視して標本分散を計算すると、72.99となり、柔軟剤とオートミールの間くらいの数値になりました。

■お茶パックの使用履歴

開封日 使用間隔
2021/11/14 28
2021/12/10 26
2022/3/22 102
2022/4/15 24
2022/5/11 26
2022/5/30 19
2022/6/19 20
2022/7/31 42
2022/8/21 21
2022/9/16 26
2022/10/3 17
2022/10/8 5

お茶パックのように、既に入力漏れがありおかしくなってしまっているものがあるため、明らかにおかしいデータは除外する必要がありますが、除外のロジックは相当難しいので、今回は目で見て判断して除外します。
最終的には下記のように修正しました。
ついでに各ストック品の平均使用周期(日)も計算しました。

ストック品名 標本分散 平均使用周期(日)
ウェットシート 0.00 70.00
洗濯用粉洗剤 9.46 17.74
排水溝ネット 14.16 67.2
柔軟剤 17.44 15.67
ワイドハイター 19.39 40.43
ルックプラス 24.36 15.81
ブルーレット 36.23 28.64
洗濯用漂白剤 55.42 24.18
お茶パック 72.99 23.09
オートミール 91.13 19.73
にんにくチューブ 112.46 24.31
マヨネーズ 198.25 62.50
トイレットペーパー 206.17 38.22
ラー油 215.35 26.29
サラダ油 238.44 46.75
おふろのルック 257.14 55.83
パスタ 304.85 32.50
甜麺醤 314.89 55.33
オイスターソース 317.44 64.40
ボディーソープ 336.40 36.00
豆板醤 440.00 47.00
ウェットティッシュ 490.25 64.50
558.49 56.29
かつお節 657.41 37.70
キッチンペーパー 1280.24 79.40
片栗粉 4136.50 76.00

どこまでが「入力忘れ通知」できそうか

標本分散が一番小さい「ウェットシート」(床を拭くやつです)は、使用タイミングのブレが無いので、
確実にピッタリなタイミングで「入力忘れ通知」ができそうだと言えます。
反対に、標本分散がもっとも大きい「片栗粉」は、使用タイミングのブレが大きすぎて、
適切なタイミングでの「入力忘れ通知」ができなさそうだと言えます。
ではその間のストック品たちはどうでしょうか。
使用タイミングがどれくらいブレているか、標本分散ではわかりにくいため、標本標準偏差を使います。
標本標準偏差を見ることで、使用周期が平均使用周期±標本標準偏差の範囲に大体収まっている、ということがわかります。
標本標準偏差は標本分散の平方根です。

ストック品名 標本分散 標本標準偏差
ウェットシート 0.00 0.00
洗濯用粉洗剤 9.46 3.08
排水溝ネット 14.16 3.76
柔軟剤 17.44 4.18
ワイドハイター 19.39 4.40
ルックプラス 24.36 4.94
ブルーレット 36.23 6.02
洗濯用漂白剤 55.42 7.44
お茶パック 72.99 8.54
オートミール 91.13 9.55
にんにくチューブ 112.46 10.60
マヨネーズ 198.25 14.08
トイレットペーパー 206.17 14.36
ラー油 215.35 14.67
サラダ油 238.44 15.44
おふろのルック 257.14 16.04
パスタ 304.85 17.46
甜麺醤 314.89 17.75
オイスターソース 317.44 17.82
ボディーソープ 336.4 18.34
豆板醤 440 20.98
ウェットティッシュ 490.25 22.14
558.49 23.63
かつお節 657.41 25.64
キッチンペーパー 1280.24 35.78
片栗粉 4136.5 64.32

個人的に、1週間以内であれば使ったことは思い出せそうなので、
標本標準偏差が7未満になるものが「入力忘れ通知」に適していそうです。
標本標準偏差が7以上の場合は通知タイミングが早すぎたり遅すぎたりする可能性が出てくるため、平均使用周期±標本標準偏差の期間内で複数回「入力忘れ通知」をするなどの対処が必要かもしれません。
(ラー油、最短だと柔軟剤と同じ周期で消費しているらしいです。最長だとにんにくチューブと同じ。麻婆豆腐に使う組み合わせですね。)

まとめ

我が家のストック品の使用データを分析してみた結果、
・洗濯用粉洗剤や柔軟剤などは思っているよりもコンスタントに消費している
・辛い物が好きすぎる
ということがわかりました。
普通に生活していたらなかなか気づけないことだったと思います。
今後もデータを収集し続け、注視していきたいと思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?