自動集計(CRON運用)

サーバー上のCRONで2本のコマンドを定期実行し、集計を自動化します。初回導入・毎日の自動実行・過去データの再構築に適しています。会員100万件規模の初回構築にも対応しています。

集計の自動運用は、定期実行する2本のコマンドで構成されています。

2本のCRONコマンド

コマンド推奨スケジュール役割
eccube:crm-analytics42:worker5分おきキュー上の未完了ジョブを消化
eccube:crm-analytics42:enqueue-daily毎日 3:00前日1日分のジョブをキューへ登録

管理画面から集計を開始するとキューに登録され、次回の worker 実行で処理が始まります(待ち時間は cron 間隔に依存します)。レンタルサーバーなど毎分 cron が使えない環境を前提に、5分おきを推奨します。

CLI集計は --no-debug を付けて実行してください。APP_DEBUG=1 のまま長時間実行すると、メモリ不足になることがあります。

CRON設定例

*/5 * * * * cd /path/to/ec-cube && bin/console --no-debug eccube:crm-analytics42:worker >> /var/log/crm-analytics42-worker.log 2>&1

0 3 * * * cd /path/to/ec-cube && bin/console --no-debug eccube:crm-analytics42:enqueue-daily >> /var/log/crm-analytics42-enqueue-daily.log 2>&1

/path/to/ec-cube は実際のEC-CUBE設置パスに置き換えてください。ダッシュボードの初期セットアップカードからもコピーできます。

さくらのレンタルサーバーの場合

さくらのレンタルサーバーでは、コントロールパネルから毎分実行を設定できないことがあります。5分おき設定の具体的な入力例は、さくらのレンタルサーバーでのCRON設定 を参照してください。

運用の流れ

  1. 管理画面またはダッシュボードから期間を指定して集計を開始する(初回一括集計など)
  2. 5分おき実行のコマンドが、未処理の集計を順番に進める
  3. 毎日実行のコマンドが、前日分の集計を自動で追加する
  4. 5分おき実行のコマンドが日次集計を処理し、データを更新する

5分おき実行のコマンドは、未処理の集計があるときだけ動きます。CRONを登録しただけで、全期間集計が自動的に始まることはありません。

集計の内容

  • 1. 会員サマリ(終了日基準。会員×商品サマリ含む)
  • 2. 日次会員分析(開始日〜終了日を1日ずつ)
  • 3. RFMスコア(30 / 90 / 180 / 365日)

コマンド実行中は、管理画面から同じ集計を進めません(進捗の確認のみ)。

ワーカー状態の保存場所

ワーカーの最終成功日時やセットアップ確認状態は app/PluginData/CrmAnalytics42/worker/ に保存されます。アンインストール時に削除されます。

再構築が必要なケース

  • 集計対象注文ステータスの変更後
  • 休眠会員判定日数の変更後
  • 初回集計で全期間を一括構築する場合
  • データ不整合や集計失敗の復旧

注意事項

  • 必ず --no-debug を付けて実行してください
  • データ量が多い場合、完了まで時間がかかります
  • 完了後にAI分析が自動実行され、Slack通知は設定した通知時刻以降に送信されます(有効な場合)
  • 設定手順は、このページ内の「CRON設定例」を参照

CRM分析プラグイン

EC-CUBEの会員・受注データを分析し、リピート率や休眠顧客の把握、AIによる改善提案まで行えるプラグインです。