ウィークリーチャレンジ - 日本語

トップになるためのスキルをお持ちですか? ウィークリーチャレンジを購読しましょう。ベストを尽くして問題を解決し、解決策を共有して、他のユーザーがどのように同じ問題に取り組んだのか確認しましょう。私たちも解答例を共有しています。

チャレンジ #50: 月ごとの顧客流失率

Highlighted
Alteryx Community Team
Alteryx Community Team

先週の解答はこちらをご覧ください!

 

今週のチャレンジでは、バッチマクロを使用する必要があるのでAdvanced (高度な) チャレンジとなっています。

 

ユースケース:ある会社が月ごとの顧客の流失率 (Customer Attrition Rate) を計算しようとしています。

計算の分母となるのは、その月の開始日の 24 か月前にオープンしたすべての取引先のアカウントです。

たとえば、2019 年 6 月の場合、分母は 2017 年 6 月 1 日から 2019 年5 月 31 日までの間にオープンした取引先アカウントの総数になります。

分子は、2019年6月1日から2019年6月30日の間にクローズされたアカウントの総数になります。

 

5 月、6 月、7 月、8 月の顧客流失率を計算するバッチマクロを作成してください。

 

source

Source: GIPHY

 

原典に誤りがありましたので、日本語版を修正いたしました。

Highlighted
ボリード

問題中のインプットデータおかしくありませんか?
10行しかなく、2年前のデータも存在しないのでどうやっても解ける気がしません。

Highlighted
ボリード

英語版を探してみたら類似の問題ありました。問題は同じなので、間違っていなそうですね。何をすれば良いのかもう少し考えてみます。

⇒Outputの列名が "%" になっていたので混乱しました。(0.5%だと数百行ないとできない)
正しくは ”Ratio" ですね。内容がわかったのでやってみます。もっと行数が多い方が面白そうですが…。

⇒解けました。でも色々突っ込みどころありました。マクロ使わずに解いてしまってそれで満足してしまったので、後程皆さんの解答をみてバッチマクロだとどうなるか勉強したいと思います。

 

スポイラ
分母と分子の説明が逆、オープンしたアカウントはオープンし続けているものを対象にしなくてはいけないなどわかりづらかったです。英語版も同様の説明になっていましたが、本来下記が正しい説明ですね。
=============================================
計算の分母となるのは、その月の開始日の 24 か月前にオープンしたすべての取引先アカウントです。たとえば、2019 年 6 月の場合、分母は 2017 年 6 月 1 日から 2019 年 5 月 31 日までの間にオープンし、かつこの期間内にクローズしていない取引先アカウントの総数になります。分子は、2019年6月または2019年6月1日から2019年6月30日の間にクローズされたアカウントの総数になります。

5 月、6 月、7 月、8 月の顧客維持率(%ではなく割合)を計算するバッチマクロを作成してください。
=============================================
キャプチャ.PNG



Highlighted
Alteryx Certified Partner

バッチマクロの練習としてはわかりやすいかと思います(色々と突っ込みどころは多いですが・・・)。

 

スポイラ
書いたとおりの条件だとできなくて、維持率だけに期間以前にCloseしたレコードは省かないといけないんですね・・・。
未Closeのレコードはとりあえず今日の日付を入れるようにしてます・・・。
Clipboard02.png
バッチマクロの中身です
Clipboard04.png

 

Highlighted
Alteryx Certified Partner
Alteryx Certified Partner

笑いが取れそうな、あまり面白いワークフローにはなりませんでしたが

Highlighted
ボリード

シンプルにまとまりました。

スポイラ
お題通りにマクロにすべく、まずは5月スタートのフローを作ってからマクロにしました。

本体 
challenge_jp_50_main.PNG


マクロ

challenge_jp_50_macro.PNG
Highlighted
ボリード

@Tokimatsu  さんに教えてBatch Macroを使ってみました。面白かった。

スポイラ
Macro.PNG