---
title: "意思決定モデルのパフォーマンスガイドライン"
slug: "decision-model-performance-guidelines"
abstract: "意思決定モデルが最適なパフォーマンスを達成することを保証するためのガイドライン(Sitecore Personalize)。"
---
# 意思決定モデルのパフォーマンスガイドライン

意思決定モデルを実行する際の最適なパフォーマンスを得るために、以下のガイドラインに従うことをお勧めします。これらのガイドラインの確認は、意思決定モデルのバリアントの速度をテストする際に特に有効です。

意思決定モデルのバリアントのパフォーマンスを向上させるために、以下の推奨事項を検討してください。

-   意思決定キャンバス上のコンポーネント数を減らす - 意思決定キャンバス上のコンポーネント数は最適でないパフォーマンスにつながる可能性があります。さらに、意思決定モデルのバリアントに複数の意思決定にリンクされた入力コンポーネントが含まれている場合は、その入力コンポーネントがすべての意思決定に必要かどうかを評価し、不要なリンクを削除してください。
-   ゲストプロファイルのサイズも考慮しましょう。パフォーマンス速度を測る際には、組織内の典型的なゲストプロファイルがキャプチャするセッション数やイベント数も考慮してください。セッションやイベントデータが多いゲストプロファイルほど処理に時間がかかります。意思決定モデルのバリアントをテストする際は、より大きなペイロードを持つゲストプロファイルを必ず挿入してください。
-   意思決定モデルのバリアントにおけるデータシステムや人工知能コンポーネントの数を減らす — 意思決定モデルのバリアントには2つのデータシステムおよび/または人工知能コンポーネントのみを含めるのがベストプラクティスですが、より多くのデータをサポートすることも可能です。
-   キャンバス上のプログラム可能な決定の数を3〜4に制限しましょう。
-   [意思決定モデルのバリアント](https://doc.sitecore.com/personalize/ja/users/sitecore-personalize/introduction-to-decisioning-in-sitecore-personalize/managing-decision-models-in-sitecore-personalize/best-practices-for-creating-decision-models.html "Best practices for creating decision models")を構築する際は、キャンバスの上部に最終的な決定が一つだけ存在し、外部の要件フローが存在しないことを確認してください。
-   プログラム可能な意思決定を組み合わせる - 2つのプログラム可能な意思決定を1つにまとめることで、特に同じデータを抽出するために両方を使う場合、パフォーマンスが向上します。
-   意思決定におけるループの制限 - JavaScriptを入力として使用するプログラム可能な意思決定や意思決定テーブルのループ数を制限することで、意思決定モデルの実行速度を大幅に向上させることができます。必要なデータを取得したら、 break 文や return 文を使ってループや関数を迅速に終了します。例えば、ゲストセッションで最新のページビューを検索する際は、ページを見つけたらすぐに関数を終了します。
-   日付と時刻を扱う方法—ネイティブの日付処理手法(Date、 Intl.DateTimeFormat)をプログラム可能な決定で使用することが強く推奨されます。 moment.js のような外部ライブラリはパフォーマンスに影響を与えることがあります。ガイダンスや例については、「 [プログラム可能な決定に日付を含める](urn:resource:component:1658460)」を参照してください。
-   判定テーブルのサイズを小さくするためにリファクタリングします。決定テーブルの行や列の数を減らすことで、パフォーマンスが大幅に向上します。例えば、論理の繰り返しを避けること。ルール内でダッシュ(-)記号を使って条件を無視することで、複数の行を削除できることがあります。