S/4HANAの勘所:HANA応用実践編(PALとUI5を使った顧客分析)

 2015.02.27  リアルテックジャパン

はじめに

S/4HANAの勘所シリーズとして、HANAの最新技術を使った顧客分析のデモシナリオを作ってみました。本記事の内容は、いくつかのコーディングを含めて実装しています(前回記事の「S/4HANAの勘所:HANA基本実践編(PALとLumiraを使った顧客分析)」はノーコーディングでの実装です)。コーディングという手間をかけている反面、1画面からの効率的なユーザオペレーションを可能としている点が特徴的です。

なお本記事は、下記シリーズ記事の一部で、他記事も参照されることをお勧めします。
第1回 S/4HANAの勘所:HANAの歴史と概要

第2回 S/4HANAの勘所:HANA Viewを使った分析高速化

SAPシステムパフォーマンス分析パック
「theGuard! SmartChange Transport Management」 導入

第3回 S/4HANAの勘所:HANA AFMとAFLを使った統計解析

第4回 S/4HANAの勘所:HANA XSエンジンを使ったWebアプリケーション

第5回 S/4HANAの勘所:HANA基本実践編(PALとLumiraを使った顧客分析)

第6回 S/4HANAの勘所:HANA応用実践編(PALとUI5を使った顧客分析) 【本記事】

業務シナリオ

業務シナリオは基本的に前回の内容と同じで、以下の状況を想定しています。

【業種】アパレル小売

【業態】通販

【目的】上顧客の離反防止

【詳細状況】過去の上顧客からの注文が最近減っているように感じている。強い競合他社の出現や自社ブランド衣服のデザイザー変更等、さまざまな原因が考えられる。離反客を対象としたイベントを実施して、その原因追求をしていきたいと考えている。そのためにまずは離反客を抽出したい。

【実施手順】

下表の手順で分析していきます。

No. 内容 使用ツール
1 過去3年間における売上TOP300の顧客を分析 ブラウザ(SAPUI5)
2 顧客をいくつかのかたまり(クラスタ)に分類し、結果を確認 ブラウザ(SAPUI5)

使用ツールがブラウザ(SAPUI5)のみとなり、オペレーションの手間もシンプルに集約されているのが特徴です。
※SAPUI5は「SAP UI Development Toolkit for HTML5」の略称で、名前の通りHTML5をベースとした主に画面開発用のUIコンポーネント群です。詳しくは「【第1回】SAPUI5とSAP NetWeaver Gatewayによるマッシュアップ開発入門(序章)」を参考にしてください。

デモ詳細

今回のデモ内容は、埋め込み動画をご覧ください。(前回のデモ内容と比べてシンプルなオペレーションとなっているため、静止画では理解しにくいです)。

 

 

エントリポイントとなるWebメニュー画面は「S/4HANA構成要素について 画面編(Fioriとは)」の記事で解説したFioriのFiori Launchpadという画面です。S/4HANAでも同様にFiori Launchpadを使っています。

アーキテクチャ

今回のデモシナリオは下図のアーキテクチャで動いています。黄色の星がついている箱部分はコーディングで実装しています。SAPの提供するライブラリを使うことで、コード最適化をしたため合計300行程度のコーディングで実装できています。
S4HANA_DEMO02.jpg

まとめ

今回はコーディング込みでの顧客分析デモシナリオを紹介しました。コーディングをすることで一歩踏み込んだ形のユーザビリティ、機能性が追加されたことを確認できたかと思います。
S/4HANAを理解する上で、「HANA=統合プラットフォーム」という点は非常に重要です。今回の実装内容は、統合プラットフォームの構成要素である「高速データベース(Calculation View)」、「統計解析ライブラリ(PAL)」、「洗練された画面(SAPUI5)」を紹介しています。S/4HANAでは、R/3やERPの核となっていたABAPではなく、HANA上で実装内容が完結します。これにより、システム間のオーバーヘッドがなくなるシンプルな構成が実現できます。
本投稿で「S/4HANAの勘所」シリーズは終了です。本シリーズを通じてS/4HANAの理解の一助となれたらば非常に光栄です。

こぼれ話

最後に今回の内容に関する細かいこぼれ話です。ある程度深い内容なので、興味がある方は参考にしてください。

分析方法について

今回のデモではクラシカルなRFM分析を使用しています。従来のSAPシステムでもBWのビジネスコンテンツとしてRFM分析が提供されていましたが、ここまでのことはできませんでした。RFM分析からCHURN分析として離反顧客の抽出につなげています。本内容に収まらなかったのですが、離反顧客に対するアクションまでできれば業務としては網羅できるはずです。SAPアプリケーションの場合は、下図のようなイメージでSAP CRMを使ったキャンペーン管理(対象顧客のセグメンテーションをしてEメール、電話、訪問等でコンタクトを行うシナリオ)にあたります。
Segmentation.jpg

統計解析について

今回のデモでは、いきなりクラスタリングをしています。クラスタリングの前に主成分分析をするべきかは迷いましたが、デモ内容が長くなりブログでお伝えするにはわかりにくくなるかと思い、断念しました。実務上では検討すべき内容のひとつです。HANAのPAL上に"Principal Component Analysis"として使用可能です。
クラスタリングに関してはK平均法(K-Means)を使用しています。K平均法の欠点として、初期値への依存度が高いこと、最適なクラスタ数を試行錯誤しないといけないことがあります。今回は、その2点を少しでも補うべく画面上からクラスタ数を変えながら再実行が何度でも可能なよう考慮しています。

Procedureについて

基本的には標準SQL規格に準拠しているため、他RDBMSのSQLを習った方であれば初期学習コストが多くないと思います。ただ、Calculation Viewに対するSQLの書き方(PLACEHOLDER構文の書き方など)は少し独特でした。HANA View自体がHANA固有の概念のため、仕方ないのでしょう。

Calculation Viewについて

HANA SPS09からRANK機能ができたのが非常に嬉しいです。今回はその新機能を使って売上TOP300をシンプルに実装しています。

ODataについて

ODataに準拠していますが、Calculation ViewへのInputパラメータの渡し方が独特です。検索用のEntitySetを別途作成して、Navigationで検索結果の一覧へアクセスする仕組です(SAP Gatewayでは、直接検索結果一覧のEntitySetへアクセスします)。

サーバサイドJavascriptについて

サーバサイドJavascript(通称XSJS)では、呼出可能なライブラリが多数用意されています。ただ、SPによって呼び出すべき関数が異なるので注意が必要です。今回の例ではProcedureを呼び出すときの関数が異なり、実装方法の調査に時間がかかりました(名前空間がdbからhdbへ変更されており、最初にhdb.getConnectionを使う必要があります)。

SAPUI5について

最初はモバイル用途も鑑みてmakitライブラリを使おうとしましたが、「今回のシナリオはモバイルに適していない」と考えなおしてsap.vizライブラリを使いました。APIの"sap.viz.ui5.VizContainer"使用も検討もしましたが、想定時間に収まらないのでやめました。途中まで作った画面ですがLumira Desktopとほぼ同じで非常に操作性が高いです。
UI5_VIZCONTAINER.jpg

SAPユーザのための 『S/4HANA』データ移行

RECENT POST「S/4HANA」の最新記事


この記事が気に入ったらいいねしよう!
Archive Migration Service (アーカイブ移行リモートサービス)
オフィシャル採用ブログ『RTFrontier』はこちらから!

RANKING人気資料ランキング

RECENT POST 最新記事

RANKING人気記事ランキング

ブログ購読のお申込み