Analytics APIでchat_cowork_unifiedに数字が移る仕組みと合算の仕方
Chat and Cowork unified(ベータ)の利用は、Analytics APIでchatやcoworkでなくchat_cowork_unifiedに入ります。移る先、開始前の日の扱い、プロジェクトの分岐、合算の方法を示します。
Enterprise Analytics APIで、ある週からchatやcoworkの数字が急に減った。そう見えたら、まず疑うのはChat and Cowork unified(ベータ)です。この機能を使うメンバーの利用は、chatやcoworkではなくchat_cowork_unifiedという別の行に計上されます。数字は消えたのではなく、移っています。
組織全体の合計は変わりません。変わるのは内訳です。この記事では、数字がどこへ移るか、過去の日がどう残るか、プロジェクト絞り込みだけ例外的に分岐する点、そして合算して元の傾向に戻す方法を順に見ます。
chat_cowork_unifiedとは — 製品別の行が1つ増える
Chat and Cowork unifiedは、Coworkの機能をclaude.aiのチャットに取り込んだ体験です。Analytics APIでは、この体験の活動の大半がchat_cowork_unifiedというproduct値で報告されます。従来のチャットやCoworkの行には入りません。
呼び名は場所ごとに違います。
| 場所 | 現れ方 |
|---|---|
| ユーザー活動 | 現れ方chat_cowork_unified_metricsオブジェクト |
| スキル・コネクタ・プラグインの利用 | 現れ方同じくchat_cowork_unified_metrics |
| 活動サマリー | 現れ方chat_cowork_unified_daily_active_user_count、..._weekly_...、..._monthly_... |
| コスト・利用状況レポート | 現れ方products[]の値chat_cowork_unified |
統合体験を組織で有効にする手順は、Claude EnterpriseでCowork統合を有効にする手順にあります。ここでは、有効にしたあとにAPIの数字がどう動くかだけを扱います。
数字が移る日と、移らない日
ユーザーが統合体験を使い始めると、そのユーザーの新しい利用は統合の行に入ります。ここで押さえる点は3つです。
1人のメンバーの数字が動く順序
- 開始前の日元の行のまま
統合体験を使い始める前の日の利用は、chatまたはcoworkに残ります。後から書き換わりません。
- 開始した日2つの行に割れうる
その日の活動は、productの間で分かれることがあります。割れ方は保証されません。
- 開始後の日大半が統合の行
利用の大半は
chat_cowork_unifiedに入ります。音声モードのように、chatやcoworkに残る活動もあります。
オフにした日にも同じことが起きます。無効にされたメンバーの活動は、その日にproductの間で割れることがあります。
つまりグラフを日次で引くと、chatとcoworkの線は、利用者が統合体験へ移るにつれて下がり、統合の線がその分だけ立ち上がります。開始前の日の値は元のままなので、過去のグラフは書き換わりません。
同じ人が両方の人数に入る
ユーザー数の読み方には、もう一段注意が要ります。
1人のユーザーが、chatまたはcoworkの人数と、統合の人数の両方に数えられることがあります。統合体験を使った日に、一部の活動がまだchatやcoworkとして報告されると、日次でも起きます。
週次・月次ではもっと起きやすくなります。集計の窓の中に、統合体験を使い始める前の日と後の日が両方あれば、使った日が別々でも両方の人数に入ります。たとえば開始が窓の途中にあるケースです。
したがって、次の2つは避けます。
- chat、cowork、統合の3つの人数を足して「全体の人数」とする
- 統合の人数が増えた分だけ、chatの人数が減ったとみなす
全体の人数は、daily_active_user_count、weekly_active_user_count、monthly_active_user_countで見ます。製品別の人数は、傾向を見る補助にとどめます。
ユーザー活動の中身 — chatとsessionsに分かれる
ユーザー活動(/v1/organizations/analytics/users)のchat_cowork_unified_metricsは、2つの部分でできています。
chat: チャット側の活動。メッセージ数、会話数、プロジェクトの作成と利用、ファイルのアップロード、スキルやコネクタの利用などsessions: Cowork側の活動。アクション数、セッション数、ファイル編集数、ディスパッチのターン数など
項目の名前と意味は、既存のchat_metricsとcowork_metricsに対応します。リファレンスでは各項目が「chat_metrics.message_countと同じ測定で、統合体験をオンにしている間の活動」と説明されています。つまり、中身の定義を新しく覚える必要はなく、「どの行に入るか」だけが変わります。
ここに落とし穴が1つあります。統合体験を提供していない環境では、chat_cowork_unified_metricsそのものが応答から省かれます。ほかの製品別ブロックは、未使用でも全項目が0で返ります。この違いがあるので、集計コードでは次のように分けて書きます。
- 通常のブロック(
chat_metricsなど)は、存在する前提で読む - 統合のブロックは、無いことを許す(欠落を0として扱う)
プロジェクトで絞ると、活動は片側にだけ入る
プロジェクトでの絞り込みだけは、扱いが変わります。ユーザー活動にfilter[]=project_id:...を付けると、その日のプロジェクト活動はどちらか1か所にまとめて計上されます。
- その日に統合体験でチャットメッセージを送っていた場合、そのユーザーのプロジェクト活動はすべて
chat_cowork_unified_metrics.chatに入る - 送っていなかった場合は、
chat_metricsに入る
活動ごとに振り分けるのではなく、ユーザーとその日の組で振り分けます。同じ日に従来のチャットでプロジェクトを使った分も、統合体験でメッセージを送っていれば統合側に寄ります。
curl -s -G "https://api.anthropic.com/v1/organizations/analytics/users" \
--data-urlencode "date=2026-10-07" \
--data-urlencode "filter[]=project_id:$PROJECT_ID" \
--header "anthropic-version: 2023-06-01" \
--header "x-api-key: $ANTHROPIC_ANALYTICS_KEY"PROJECT_IDにはclaude_proj_...の形のIDを入れます。このリクエストの応答でも、プロジェクトの利用がchatの欄だけに出ていると思い込まないでください。chat_cowork_unified_metrics.chatも読みます。
プロジェクト単位のエンドポイントには別の制約があります。/apps/chat/projectsはproductの次元に対応せず、group_by[]やfilter[]にproductを入れるとエラーになります。なお、プラグインの利用で現れるproductはcowork、claude_code、chat_cowork_unifiedの3つ、アーティファクトではchat、claude_code、cowork、chat_cowork_unifiedの4つです。
合算して元の傾向に戻す
移動前後の推移を1本の線で見たいときは、chatとcoworkのそれぞれに統合の対応する部分を足します。対応は次のとおりです。
| 見たい指標 | 足す先 |
|---|---|
| チャットのメッセージ数 | 足す先chat_metrics.message_count + chat_cowork_unified_metrics.chat.message_count |
| Coworkのメッセージ数 | 足す先cowork_metrics.message_count + chat_cowork_unified_metrics.sessions.message_count |
jqなら、統合のブロックが無い応答でも壊れないよう、// 0で欠落を0にします。
jq '[.data[] | {
chat_messages:
(.chat_metrics.message_count
+ (.chat_cowork_unified_metrics.chat.message_count // 0)),
cowork_messages:
(.cowork_metrics.message_count
+ (.chat_cowork_unified_metrics.sessions.message_count // 0))
}]' users.jsonこれは応答の形に沿った一例です。実際のレコードには上記以外の項目も入るので、使う指標ごとに足す先を決めてください。
足せない項目もあります。期間指定(date-range)モードでの「異なる〜の数」は近似値で、HLL(HyperLogLog。重複を除いた件数を少ないメモリで見積もる手法)による誤差が通常2%未満とされています。集計できない行ではnullになります。日をまたいで単純に足すと、同じ会話を二重に数えます。足し合わせるのは、メッセージ数のように日ごとに数える件数にとどめます。
コストを製品別に取るときの絞り込み
コスト・利用状況レポートは、products[]で製品を絞れます。ここでの注意は1つです。製品で絞ったとき、統合の利用はproducts[]にchat_cowork_unifiedを含めない限り結果から外れます。
たとえば次の指定で「チャットとCoworkの費用」を取ると、統合体験へ移ったメンバーの分が抜けます。
products[]=chat&products[]=cowork統合体験を使うメンバーがいる組織では、products[]=chat_cowork_unifiedも加えます。絞り込みを使わない組織全体の合計費用は変わりません。
なお、統合体験の指定は、提供していない環境ではフィルタとして受け付けられません。リストのパラメータはproducts[]=を値の数だけ繰り返す書き方で、ページネーションのカーソルは発行したクエリに結び付きます。products[]を途中で変えると400になるので、条件を変えるときは最初のページから取り直します。
既存の集計を直すときの確認点
移行に伴う見かけの減少を、障害と取り違えないための点検項目です。
数字が減ったと感じたときの点検
- 全体のアクティブユーザー数や総コストが同じなら、移動です。問題ではありません
- 製品別のグラフに、
chat_cowork_unifiedの行や系列を足しているか - 応答のproduct名を固定リストで検査していないか。新しい値で弾かれる実装は修正が要ります
- 統合のブロックが無い応答を想定しているか
- 3つの製品別人数を足して全体の人数にしていないか
製品別の線がなだらかに入れ替わっているなら、ほぼ移動で説明がつきます。入れ替わりの日付が、ロールで統合体験を展開した日と重なるかを突き合わせると確実です。
関連する前提
データの鮮度や、アクティブユーザーの定義、APIキーの種類は、統合の有無にかかわらず変わりません。Enterprise Analytics APIの全体像はClaude Analytics API群の使い分けに、コネクタ・スキル・プラグインの各エンドポイントの読み方はEnterprise Analytics APIでコネクタ・スキル・プラグインの利用を取るにまとめています。ユーザー別のコストを取る手順はClaude Analytics APIでユーザー別コストを取得する方法が詳しいです。
データはEnterprise Analytics APIで2026年1月1日以降の日付から取れます。ただしAmazon Bedrock経由のClaude Codeの利用は、このAPIには返りません。統合体験とは無関係な制約ですが、「数字が少ない」の原因を探すときの除外項目になります。
まとめ
chat_cowork_unifiedは、利用者が統合体験へ移った分だけ、chatとcoworkの数字を引き取ります。見かけの減少は内訳の移動で、全体の合計は動きません。製品別の推移を続けて見たい集計は、統合の行を足して読む設計に変えます。人数は足さず、全体の値で見ます。