# 詳細仕様

グループ分析の各機能の詳細な計算ロジックや、複雑なケースでの挙動を説明します。

## 3種類のディメンション <a href="#three-dimensions" id="three-dimensions"></a>

グループ分析では、以下の3種類のディメンションが計算されます。

<figure><img src="/files/P6s5HmhEMR4ezN58pwKt" alt=""><figcaption></figcaption></figure>

| ディメンション            | 計算対象                 | 用途                                      |
| ------------------ | -------------------- | --------------------------------------- |
| ユーザーディメンション        | 各ユーザーの行動             | グループ分析OFF時と同様。ユーザー単位の指標                 |
| グループディメンション        | グループに所属する全ユーザーの行動を集計 | 「企業全体での累計来訪回数」など、グループ単位の指標              |
| 所属グループ別ユーザーディメンション | ユーザー × グループの組み合わせ    | 「Aさんがグループα内で発生させた行動」のような、特定グループ文脈での個人指標 |

{% hint style="info" %}
**ディメンションとは**\
「来訪回数」「活動時間」「初来訪からの経過日数」のような、ユーザー行動に関する特徴を計測する機能です。来訪に応じて自動的に計算されます。ユーザーディメンション・グループディメンションそれぞれで計測される特徴の種類は同一です。
{% endhint %}

## グループディメンションの計算ロジック <a href="#group-dimension-calculation" id="group-dimension-calculation"></a>

グループディメンションは、グループに所属する複数ユーザーの統計値をもとに計算されます。指標の定義に応じて、合算・最大・最小・重複排除のいずれかが適用されます。

| 計算方法        | ディメンション                                                                                  |
| ----------- | ---------------------------------------------------------------------------------------- |
| 合算を取るもの     | <ul><li>最初の〇〇</li><li>累計/直近N日の来訪回数</li><li>累計/直近N日の活動時間</li><li>累計/直近N日の〇〇発生回数</li></ul> |
| 最大を取るもの     | <ul><li>最初の来訪からの経過日数</li><li>サインアップからの経過日数</li></ul>                                     |
| 最小を取るもの     | <ul><li>最後の来訪からの経過日数</li></ul>                                                           |
| 重複排除し計算するもの | <ul><li>累計/直近N日の来訪日数</li></ul>                                                           |
| 最も古い値を取るもの  | <ul><li>最初の〇〇（リファラなど）</li></ul>                                                          |
| 最も新しい値を取るもの | <ul><li>最後の〇〇（デバイスなど）</li></ul>                                                          |

## ライフサイクル・キー行動の判定 <a href="#lifecycle-keybehavior-judgment" id="lifecycle-keybehavior-judgment"></a>

### フェーズ判定の対象 <a href="#phase-judgment-target" id="phase-judgment-target"></a>

<figure><img src="/files/bnJMOea32WsuYhvSHYzi" alt=""><figcaption></figcaption></figure>

ライフサイクルとキー行動のフェーズ判定は、グループ分析のON/OFFに関わらず **ユーザーごとに判定** されます。

グループ分析がONの場合、所属している **グループの行動をもとにしたフェーズ判定** と、**グループをもとにしないフェーズ判定** の2つが行われます。

例えば、2つのグループに所属するAさんの場合、グループAとしては「ファン」、グループBとしては「新規」、というグループごとの判定がなされます。

### フェーズ判定に使える条件 <a href="#phase-judgment-conditions" id="phase-judgment-conditions"></a>

ライフサイクル・キー行動のフェーズ判定はユーザー単位で行われるため、グループプロファイルとグループディメンションを条件にすることはできません。

こうしたケースは、各画面での絞り込み、またはユーザー検索でご対応ください。

## 複数グループに所属するユーザーの扱い <a href="#multiple-group-membership" id="multiple-group-membership"></a>

### イベントとグループの紐付き <a href="#user-behavior-multiple-groups" id="user-behavior-multiple-groups"></a>

`set_group` を用いて `group_id` を送信すると、それ以降に発生するイベントにそのグループが紐付きます。グループを切り替える場合は、別の `group_id` を指定して `set_group` を再度実行します。

<figure><img src="/files/iPKYfGMKYuuQetrOLU6f" alt=""><figcaption></figcaption></figure>

### 別タブでの管理 <a href="#tab-switching" id="tab-switching"></a>

グループとの紐付きは、ブラウザの別タブを開いた場合でも、混同されずにタブごとに管理されます。これは `SessionStorage` と `LocalStorage` を併用して実現されています。

<figure><img src="/files/PlUQWts8b9suf9fHRLh4" alt=""><figcaption></figcaption></figure>

### 活動時間の扱い <a href="#activity-time-multiple-groups" id="activity-time-multiple-groups"></a>

例えば、グループAで20秒、グループBで10秒の活動をしたユーザーの場合、ユーザーとしての活動時間は合算されず、最長の時間である20秒が採用されます。

活動時間は、紐づくグループがAからBに変わったタイミングでリセットされ、0秒からカウントアップされます。

<figure><img src="/files/4wDbN1BFXS0EfvrcsMtj" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wicle.io/group-analytics/group_analytics/advanced-spec.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
