Oracle Analytics Cloud：特定の購買行動をする顧客を抽出してみる

# はじめに
2021年に購買実績があるものの2022年は何も購入していない顧客がいたとします。
これらの顧客に対して、継続して購買していただくためにアプローチをしたいのですが、そもそもそのような行動をする顧客を特定することができるでしょうか？
Oracle Analytics Cloud（**OAC**）のデータフローで抽出してみたいと思います。
わかりやすくするために単純なサンプルデータを準備しました。この中には、2021年に購買実績があり2022年にはない顧客がいます（太字にしました）。

|顧客ID|購入日|製品カテゴリ|購入数量|購入金額|
|:--|:--|:--|--:|--:|
|**10982**|2021/1/1|キウイ|2|7200|
|**16876**|2021/1/2|キウイ|1|3600|
|**29786**|2021/1/3|キウイ|1|3600|
|29787|2021/1/4|キウイ|2|7200|
|27563|2021/1/5|キウイ|3|10800|
|29787|2022/1/6|マンゴー|3|360|
|27563|2022/1/7|マンゴー|2|480|
|28798|2022/1/8|マンゴー|3|360|
|13242|2022/1/9|マンゴー|1|240|
|00083|2022/1/10|マンゴー|2|480|

このデータをExcelファイルとして保存して使用します。

# OACにデータセットとして取り込む
OACにログインし、右上の「新規」ボタンをクリックします。
続いて「データセット」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/30630868-1a7b-ee2a-77cf-5e2d1cca78a9.png)
「ここにデータ・ファイルをドロップするか、クリックして参照します」と表示されているエリアにサンプルのExcelファイルをドラッグ＆ドロップします。（またはクリックしてファイルを選択します）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0aade2d1-51df-c7f2-2e88-66c77ebb19b8.png)
中身を確認し、「追加」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e7b57e27-5742-8116-2542-b17e33699279.png)
左上の「戻る」をクリックして、ホームに戻ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b46cb690-5694-7f48-2ad1-b75dc03be1c9.png)

# データフローを作成する
### データセットの追加
「新規」をクリックし、「データ・フロー」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c4951727-b1a3-a862-c600-d30d68b1bbc8.png)
先程追加したデータセットを選択し、「追加」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/cfe638de-2b51-6c2e-8ab7-ec9b9d14ab3f.png)
追加したデータセットの右側の「＋」をクリックしてステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e1622f8f-ca20-f709-12d8-dfa7dc134c8c.png)
「フィルタ」ステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b0bcb248-c008-21cc-50e3-217eb1197ad6.png)
「＋」をクリックしてフィルタの対象列を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/cb84c1aa-2099-7e7a-8135-dfcc991e1936.png)
「購入日」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e09eed41-a596-8a93-fe09-a27d306d25fa.png)
直接入力するか、カレンダーコントロールを使用して「開始」を「2021/1/1」、「終了」を「2021/1/31」にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3cf29ff9-5c2d-a171-f243-fd99ab9a94a7.png)
データが2021年1月だけにフィルタされました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/abd4c376-0f96-6b39-9da5-e451265cbdb2.png)

### 2つ目のデータセットを追加
「データの追加」をドラッグして最初に追加したデータセットの下にドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1dae09d4-d6bc-5100-94ec-29e4a93cafbc.png)
先程と同じデータセットを選択し「追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/7c1926c2-a6ba-29d9-5061-bf8e8a2ff2bc.png)
2つ目のデータセットにも、「フィルタ」ステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/665a0f6e-21dc-53fb-c8e6-983ed7584286.png)
「購入日」に対してフィルタを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/767f6f72-2112-dbd7-1f76-b8a1d7f3a64f.png)
「開始」と「終了」は、それぞれ「2022/1/1」「2022/1/31」とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4b3d2670-9e18-0bdb-b743-b9e695b10609.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4fe2cea0-c428-3846-88ef-57d97f4d7d8e.png)

### データセットを結合
上のフィルタの右側の「＋」をクリックしてステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/97c2ac44-30bc-a5b7-795d-223b67069266.png)
「結合」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1e344128-a896-8aa3-98d4-4b10d7eb6b94.png)
下のフィルタの右側の「○」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/10555464-6098-716b-399c-f15452b5d726.png)
次のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a547219f-8273-f676-5a5c-e04c9c1ac947.png)
入力1の行の保持を初期値の「一致する行」から「すべての行」に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8c026eb4-54dc-c4c6-01bf-02abc897284f.png)
2021年1月にフィルタしたデータセットのすべての行（「顧客ID」から「購入金額」まで）が表示され、それに一致する2022年1月にフィルタされたデータセット（「顧客ID_1」から「購入金額_1」まで）が結合されます。
**2021年1月に購入実績があるが2022年1月には購入実績がない顧客**は、2022年のデータがないのですべての列でデータが空白となっています。

つまり、抽出したいのは次の赤字の顧客となります。

|購入日|製品カテゴリ|購入数量|購入金額|顧客ID|購入日_1|製品カテゴリ_1|購入数量_1|購入金額_1|
|:--|:--|--:|--:|:--|:--|:--|--:|--:|
|2021/1/1|キウイ|2|7200|<font color="red">**10982**</font>|||||
|2021/1/2|キウイ|1|3600|<font color="red">**16876**</font>|||||
|2021/1/3|キウイ|1|3600|<font color="red">**29786**</font>|||||
|2021/1/4|キウイ|2|7200|29787|2022/1/6|マンゴー|3|360|
|2021/1/5|キウイ|3|10800|27563|2022/1/7|マンゴー|2|480|

「結合」の右の「＋」をクリックし、「フィルタ」ステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6cf801ac-f52f-b41b-cc8f-8d32e3d222cc.png)
「製品カテゴリ_1」に対してフィルタを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/896a595b-3bd8-0ba0-d5e6-c19d5b930c83.png)
「NULL」チェックボックスをオンにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/dee13127-2b8c-9ec0-f964-f827b4285c34.png)
「フィルタ」の右の「＋」をクリックして「列の選択」ステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/40e8aec6-804f-e1bb-2857-b928f54617ab.png)
「～_1」で終わる列は不要なので、まとめて選択して「選択項目の除去」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/26beb2f7-a983-fea4-2709-0da0f3df906a.png)
「列の選択」の右の「＋」をクリックして「データの保存」ステップを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b0dda7b7-fbb3-6c73-9be1-9eea72c9707d.png)
データセット名を「顧客分析」とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8eee45a2-9912-c30d-7b8c-ce16c7204430.png)

### データフローの保存と実行
右上の保存アイコンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/497b1010-f031-1681-6bca-743718d6dd29.png)
データフローに名前を付けて「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/5031747e-cb21-b8ba-e637-f53f0ce9a857.png)
「データフローの実行」アイコンをクリックすると、定義したフローが実行されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c59c95e7-38ce-01e4-8f7d-26a98f1f4a1b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d641c3c5-865e-fa8d-8fd5-373de98f8c9b.png)

# 顧客が抽出できたかどうか確認
「ナビゲーション」アイコンをクリックし、「データ」をクリックします。
「データセット」タブに、データフローで設定した「顧客分析」という名前のデータセットができあがっているのがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f6b3ce7f-ae78-2f87-07a0-a7b9d139f924.png)
データセットをクリックすれば、ビジュアライズが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/9f2c04b4-d4e6-bfa8-84a3-de1e6c545185.png)

# この次は？
顧客属性を知るためのデータを準備し顧客IDと結合することで、より深い分析が可能になります。
例：顧客ランク、居住地、年齢グループによる顧客行動を分析するなど。