集計および統合レポート
集計および統合レポート
集計とは、必要なセクションと期間の詳細なレコードを要約指標に変換することです。統合-異なるソース/法人/製品の集計を単一のレポートに統合し、調整(通貨、会計ポリシー、排除)を行います。以下は、ショップウィンドウの設計から運用レポート作成まで、体系的なアプローチです。
1)タスクと統合の種類
営業/製品:DAU/WAU/MAU、コンバージョン、国/チャネル/プラットフォーム別の収益。
財務(例:および規制):P&L、キャッシュフロー、バランスシート、GGR/ネットゲーミング収入、税金、法人レポート。
リスク/コンプライアンス:不正防止、RG指標、SLA/可用性、データ/モデルのドリフト。
戦略:持株、ブランドポートフォリオ、地域によるKPIの統合。
2)アグリゲーション層のアーキテクチャ
データ層:'raw'→'staging'→'core' (facts/dimensions)→'marts' (reportの集計)。
セマンティックレイヤー:メートル定義、カレンダー、通貨、ロールアップルール。
穀物と時間穀物:'イベント'、'user_day'、 'txn'、 'brand_country_day'→さらに週/月/四半期までロールアップします。
アイデンティティ:安定したキー(user/brand/legal_entity)、マッピングテーブル)。
3)ロールアップと階層
ディメンション階層は、ゲーム→カテゴリ→プロバイダー、チャンネル→キャンペーン→クリエイティブ、都市→地域→国→クラスターです。
要約ルール:添加物(合計)、半添加物(スナップショット-期間の平均/最後)、非添加物(係数/パーセンテージ)。
重複排除-ユニークなユーザーと穀物イベント。ソースをマージするときにダブルカウントを避けます。
4)多通貨、タイムゾーン、カレンダー
時間:ストア'event_time_utc'とローカルスライス;休日/営業日のカレンダー。
通貨:「raw」 amount+'base_ccy'を取引日の為替レート(または警告付き期間の平均為替レート)に維持します。
正規化:明示的な単位/通貨/為替レートの日付を表示します。
sql
WITH fx AS (
SELECT date, from_ccy, to_ccy, rate
FROM dim_fx_rates
WHERE to_ccy = 'EUR'
),
tx AS (
SELECT t. txn_id, t. amount, t. ccy, t. brand, t. country, t. event_date
FROM fact_tx
)
SELECT brand, country, DATE_TRUNC('month', event_date) AS month,
SUM(amount COALESCE(fx. rate, 1)) AS revenue_eur
FROM tx
LEFT JOIN fx
ON fx. date = tx. event_date AND fx. from_ccy = tx. ccy
GROUP BY 1,2,3;
5)ソース/法人による統合
アカウントのチャートのマッピング:単一のCoA(アカウントのチャート)+ローカルプランからのマッピング。
会計ポリシー:IFRS/GAAP/税金ルール→変革レイヤー(例えば、総収入/純収益、ボーナス/手数料の認識)。
グループ内の売上高の排除:保有の法人間の取引の排除。
統合方法:完全、比例、持分法。
少数株主:非管理利益(NCI)の配分。
sql
WITH interco AS (
SELECT a. txn_id
FROM fact_tx a
JOIN dim_counterparty b ON a. counterparty_id = b. id
WHERE a. legal_entity IN (SELECT id FROM dim_legal WHERE group_id = 1)
AND b. legal_entity IN (SELECT id FROM dim_legal WHERE group_id = 1)
)
SELECT
FROM agg_pl_month
WHERE txn_id NOT IN (SELECT txn_id FROM interco);
6)質および和解
ソースの調整:ソースによる金額=ショーケース内の金額(為替レート/時間許容値)。
不変量:'DAU ≤ MAU'、 sum over days=monthly total (additive metricsの場合)。
完全性制御:NULLの共有、重複の共有、新鮮さの遅れ。
「不一致レポート」(Discrepancy Report)-不一致と修復手順のリスト。
7)性能およびSLO
フレッシュネスSLO:運用ユニット-遅延≤ 15分;昼間-現地時間06:00まで。毎月-T+1/T+3まで。
最適化:集計前、増分再計算、パーティショニング(日付/ブランド/国)、一般的なスライスのキャッシュ。
UIの制限:スケジュールごとに12のカテゴリを≤します。テーブルのページネーション;lazy-load。
8)定義とバージョンの管理
メトリックの辞書:コード、定義、数式、ソース、単位、所有者、ガードレール。
バージョン管理:'METRIC_vN';任意の編集→新しいバージョン+backfillとchangelog。
セマンティックレイヤー:BI/実験/出荷のための真実の1つのソース。
9)セキュリティとアクセス
RLS/CLS:役割によるアクセス(国/ブランド/法人)、PIIマスキング。
監査:どのレポートをアップロードしたか;エクスポート制御(締め切り、トークン)。
最小化:生のPIIデータではなく問題が集計されます。
10)典型的な集計と視覚化
製品:漏斗(ステップバー)、コホート(ヒートマップ)、D7/D30保持、ARPU/ARPPU、 GGR/Net。
ファイナンス:階層別のP&L、ウォーターフォール(ブリッジ)要因、地域別の収益構造、G&Aダイナミクス。
操作/ML: SLA、レイテンシp95/p99、 PR- AUC/Recall@FPR ≤ x%、 PSIヒートマップドリフト。
11)連結報告書のパスポート(テンプレート)
コード/バージョン: 'CONSOL_PNL_v3'
目的: ブランドグループによる管理P&L、多通貨→基本通貨EUR
適用範囲: グループのすべての法人;メソッド-完全な統合;NCI-ハイライト表示
ソース/レイヤー: 'mart_fin_pnl_v3' ('fact_tx_v2'、 'dim_legal'、 'dim_fx_rates')
粒度: 月(日からのロールアップ)
排除: 'intercompany=true'-グループ内の売上高を除外
SLO: T+1 06:00ロック;99 ≥可用性。9%
和解-会計報告'BK_PNL_T+1'、分散≤ 0。3%
オーナー: ファイナンスアナリティクス、データプラットフォーム
ガードレール: 24時間以下のFXテーブル。カバレッジトランザクション≥ 99。5%
12)頻繁な間違いとそれらを回避する方法
静かな数式の変更:常にバージョンと変更履歴を通じて。
ダブルカウント:重複スプリング/ジョイン-制御キーと穀物。
ミキシングタイムゾーン:集中カレンダーとUTCストレージ。
誤ったパーセンテージ:集計分子/分母で「平均の平均」ではありません。
「Raw」レート:明示的なFX日付/ソース、一貫した丸めポリシー。
排除はありません:社内のターンオーバーは、レポートをスキューします。
不透明な新鮮さ:常に「更新されたN分前」を表示します。
13) Pseudo-SQL: 毎月の増分集計
sql
-- Recalculate only affected days/months
WITH changed_days AS (
SELECT DISTINCT DATE(event_time_utc) AS d
FROM fact_tx_delta -- new/modified per day
),
daily AS (
SELECT
DATE(event_time_utc) AS d,
brand, country,
SUM(net_revenue_eur) AS net_eur
FROM fact_tx
WHERE DATE(event_time_utc) IN (SELECT d FROM changed_days)
GROUP BY 1,2,3
)
MERGE INTO agg_month_brand_country m
USING (
SELECT DATE_TRUNC('month', d) AS month, brand, country, SUM(net_eur) AS net_eur
FROM daily
GROUP BY 1,2,3
) s
ON (m. month = s. month AND m. brand = s. brand AND m. country = s. country)
WHEN MATCHED THEN UPDATE SET m. net_eur = s. net_eur, m. updated_at = NOW()
WHEN NOT MATCHED THEN INSERT (month, brand, country, net_eur, updated_at)
VALUES (s. month, s. brand, s. country, s. net_eur, NOW());
14)プロセスと操作
1.デザイン:目標/オーディエンス、メトリクス、階層、通貨/タイムゾーン。
2.データ:ソースコントラクト、スキーム、品質テスト。
3.ウィンドウ構築:セマンティックオブジェクト、ロールアップルール、排除。
4.和解:自動分散レポート、修正チケット。
5.リリース:バージョン、ドキュメント、ユーザートレーニング。
6.モニタリング:鮮度、完全性、重複、応答時間、インシデント。
7.改訂:定義、マッピング、FXポリシーの四半期ごとの検証。
15)統合前のステートメントのチェックリスト
- セマンティックレイヤーで文書化されたメトリック定義と階層定義
- 通貨の変換とタイムゾーンが設定されています。コースの単位と日付を表示します
- グループ内の革命/NCI排除を実装(該当する場合)
- 不変量と参照源との和解は公差で実行される
- 増分再計算とパーティション分割が有効
- 鮮度/可用性SLOが設定されています。更新ステータスが表示されます
- RLS/CLSとPIIマスキングが設定されています。エクスポート監査が有効になっています
- バージョン/変更履歴と所有者が指定されています。runbookインシデントを持っている
合計
集計と統合は単なる「GROUP BY」ではなく、一貫した定義、正しいロールアップ、多通貨とカレンダー、排除と和解、オブザビリティとSLOという包括的なシステムです。記述されたアーキテクチャに従うことで、異機種混在データを製品、財務、リスク管理のための信頼できる保管庫に変えます。