> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# データインテリジェンス

> 不明瞭な銀行コードを実行可能な成長戦略に変換するエンドツーエンドのデータインテリジェンス。

export const SmartCodeMappingCards = ({cards = []}) => {
  const [isDark, setIsDark] = useState(false);
  useEffect(() => {
    const check = () => setIsDark(document.documentElement.classList.contains("dark"));
    check();
    const observer = new MutationObserver(check);
    observer.observe(document.documentElement, {
      attributes: true,
      attributeFilter: ["class"]
    });
    return () => observer.disconnect();
  }, []);
  const t = {
    cardBorder: isDark ? "#3f3f46" : "#e2e8f0",
    cardBg: isDark ? "#18181b" : "#ffffff",
    headerBg: isDark ? "#27272a" : "#f8fafc",
    headerBorder: isDark ? "#3f3f46" : "#e2e8f0",
    title: isDark ? "#f4f4f5" : "#0f172a",
    examples: isDark ? "#71717a" : "#94a3b8",
    sectionLabel: isDark ? "#a1a1aa" : "#475569",
    sectionText: isDark ? "#d4d4d8" : "#334155",
    attrIconBg: isDark ? "#1c1c1c" : "#f1f5f9",
    attrIconColor: isDark ? "#a1a1aa" : "#64748b",
    recIconBg: isDark ? "#1e3a5f" : "#eff6ff",
    recIconColor: isDark ? "#4D7CFF" : "#2563eb",
    divider: isDark ? "#27272a" : "#f1f5f9"
  };
  const AttrIcon = () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="8" cy="8" r="7" stroke={t.attrIconColor} strokeWidth="1.3" />
      <path d="M8 4.5V8.5L10.5 10" stroke={t.attrIconColor} strokeWidth="1.3" strokeLinecap="round" strokeLinejoin="round" />
    </svg>;
  const RecIcon = () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M8 2L9.5 6H14L10.5 8.5L11.5 13L8 10.5L4.5 13L5.5 8.5L2 6H6.5L8 2Z" stroke={t.recIconColor} strokeWidth="1.2" strokeLinejoin="round" fill={t.recIconBg} />
    </svg>;
  return <div style={{
    display: "grid",
    gridTemplateColumns: "repeat(2, 1fr)",
    gap: "16px",
    margin: "24px 0"
  }}>
      {cards.map((card, i) => <div key={i} className="waffo-hover-card" style={{
    border: `1px solid ${t.cardBorder}`,
    borderRadius: "12px",
    overflow: "hidden",
    background: t.cardBg
  }}>
          {}
          <div style={{
    background: t.headerBg,
    borderBottom: `1px solid ${t.headerBorder}`,
    padding: "14px 18px"
  }}>
            <div style={{
    fontSize: "14px",
    fontWeight: 600,
    color: t.title,
    margin: 0,
    lineHeight: 1.4
  }}>
              {card.title}
            </div>
            <div style={{
    fontSize: "12px",
    color: t.examples,
    marginTop: "4px"
  }}>
              {card.examples}
            </div>
          </div>

          {}
          <div style={{
    padding: "16px 18px",
    display: "flex",
    flexDirection: "column",
    gap: "14px"
  }}>
            {}
            <div style={{
    display: "flex",
    gap: "10px"
  }}>
              <div style={{
    width: "28px",
    height: "28px",
    borderRadius: "6px",
    background: t.attrIconBg,
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    flexShrink: 0,
    marginTop: "1px"
  }}>
                <AttrIcon />
              </div>
              <div>
                <div style={{
    fontSize: "12px",
    fontWeight: 600,
    color: t.sectionLabel,
    textTransform: "uppercase",
    letterSpacing: "0.04em",
    marginBottom: "3px"
  }}>
                  Attribution
                </div>
                <div style={{
    fontSize: "13px",
    color: t.sectionText,
    lineHeight: 1.5
  }}>
                  {card.attributionText}
                </div>
              </div>
            </div>

            {}
            <div style={{
    height: "1px",
    background: t.divider
  }} />

            {}
            <div style={{
    display: "flex",
    gap: "10px"
  }}>
              <div style={{
    width: "28px",
    height: "28px",
    borderRadius: "6px",
    background: t.recIconBg,
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    flexShrink: 0,
    marginTop: "1px"
  }}>
                <RecIcon />
              </div>
              <div>
                <div style={{
    fontSize: "12px",
    fontWeight: 600,
    color: t.sectionLabel,
    textTransform: "uppercase",
    letterSpacing: "0.04em",
    marginBottom: "3px"
  }}>
                  Recommendation
                </div>
                <div style={{
    fontSize: "13px",
    color: t.sectionText,
    lineHeight: 1.5
  }}>
                  {card.recommendationText}
                </div>
              </div>
            </div>
          </div>
        </div>)}
    </div>;
};

export const RealtimeHealthDashboardCards = ({secondLevelTitle = "Second-Level Response", secondLevelDesc, smartAlertsTitle = "Smart Alerts", smartAlertsDesc, issueAttributionTitle = "Issue Attribution", issueAttributionDesc}) => {
  const [isDark, setIsDark] = useState(false);
  useEffect(() => {
    const check = () => setIsDark(document.documentElement.classList.contains("dark"));
    check();
    const observer = new MutationObserver(check);
    observer.observe(document.documentElement, {
      attributes: true,
      attributeFilter: ["class"]
    });
    return () => observer.disconnect();
  }, []);
  const t = {
    cardBorder: isDark ? "#3f3f46" : "#e2e8f0",
    cardBg: isDark ? "#15151a" : "#ffffff",
    illustrationBg: isDark ? "radial-gradient(circle at 50% 45%, rgba(37, 99, 235, 0.14), rgba(15, 23, 42, 0) 58%), #111318" : "#ffffff",
    title: isDark ? "#f4f4f5" : "#0f172a",
    desc: isDark ? "#cbd5e1" : "#475569"
  };
  return <div style={{
    display: "flex",
    flexDirection: "column",
    gap: "12px",
    margin: "24px 0"
  }} className="not-prose">
      {}
      <div className="waffo-hover-card" style={{
    border: `1px solid ${t.cardBorder}`,
    borderRadius: "12px",
    background: t.cardBg,
    overflow: "hidden",
    display: "flex",
    flexDirection: "row",
    minHeight: "200px"
  }}>
        <div style={{
    flex: 1,
    padding: "28px 32px",
    display: "flex",
    flexDirection: "column",
    justifyContent: "center"
  }}>
          <div style={{
    fontSize: "16px",
    fontWeight: 600,
    color: t.title,
    marginBottom: "10px",
    lineHeight: 1.4
  }}>
            {secondLevelTitle}
          </div>
          <div style={{
    fontSize: "14px",
    color: t.desc,
    lineHeight: 1.65
  }}>
            {secondLevelDesc}
          </div>
        </div>
        <div style={{
    flex: 1,
    background: t.illustrationBg,
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    padding: "16px 24px"
  }}>
          <img src="/docs/images/essentials/data-intelligence/second-level-response-chart.png?v=20260429-1752" alt="Second-Level Response monitoring chart" style={{
    width: "100%",
    height: "auto",
    objectFit: "contain",
    display: "block",
    margin: 0
  }} />
        </div>
      </div>

      {}
      <div style={{
    display: "grid",
    gridTemplateColumns: "1fr 1fr",
    gap: "12px"
  }}>
        {[{
    title: smartAlertsTitle,
    desc: smartAlertsDesc,
    img: "/images/essentials/data-intelligence/smart-alerts-illustration.png?v=20260429-1752",
    alt: "Smart Alerts illustration"
  }, {
    title: issueAttributionTitle,
    desc: issueAttributionDesc,
    img: "/images/essentials/data-intelligence/issue-attribution-illustration.png?v=20260429-1752",
    alt: "Issue Attribution illustration"
  }].map((card, i) => <div key={i} className="waffo-hover-card" style={{
    border: `1px solid ${t.cardBorder}`,
    borderRadius: "12px",
    background: t.cardBg,
    overflow: "hidden"
  }}>
            <div style={{
    background: t.illustrationBg,
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    padding: "24px",
    minHeight: "148px"
  }}>
              <img src={card.img} alt={card.alt} style={{
    maxWidth: "80%",
    height: "auto",
    objectFit: "contain",
    display: "block",
    margin: 0
  }} />
            </div>
            <div style={{
    padding: "20px 24px"
  }}>
              <div style={{
    fontSize: "15px",
    fontWeight: 600,
    color: t.title,
    marginBottom: "8px",
    lineHeight: 1.4
  }}>
                {card.title}
              </div>
              <div style={{
    fontSize: "13px",
    color: t.desc,
    lineHeight: 1.65
  }}>
                {card.desc}
              </div>
            </div>
          </div>)}
      </div>
    </div>;
};

## 概要

クロスボーダー決済において、データは単なるレポートではなく、隠れた利益の源泉です。グローバルの決済環境は複雑で多様です。国によってユーザーの習慣は異なり、決済手段はカード、ローカルウォレット、BNPLにまたがり、銀行ルール、リスク戦略、ネットワークの安定性も大きく異なります。成功率が高く標準化された国内決済環境とは異なり、クロスボーダー決済では「成功したかどうか」だけでなく、「なぜ失敗したか」の深い分析が必要です。

<Frame>
  <div className="h-[220px] flex items-center justify-center rounded-xl">
    <img src="https://mintcdn.com/waffo-docs/Pi4mlrktV3FjQDJZ/images/essentials/data-intelligence/overview-diagram.png?fit=max&auto=format&n=Pi4mlrktV3FjQDJZ&q=85&s=1a89b7c5ce193d553440861dd03d674d" alt="Waffoデータインテリジェンスセンター：不明瞭な銀行コードを多層的・全方位的な診断サービスを通じて実行可能な成長戦略に変換" className="w-full h-auto object-contain m-0" width="1424" height="365" data-path="images/essentials/data-intelligence/overview-diagram.png" />
  </div>
</Frame>

**Waffoデータインテリジェンスセンター**は、「ワンタイム決済」と「サブスクリプション決済」、そして「銀行カード」と「ローカルウォレット」間のデータサイロを解消します。加盟店に多層的・全方位的な診断サービスを提供し、不明瞭な銀行コードを実行可能な成長戦略に変換します。加盟店が3つのコアな問いに答えられるよう支援します：決済の健全性は堅牢か？なぜ取引が失敗しているのか？どうすれば失った顧客を取り戻せるのか？

***

## モニタリングとオムニチャネルファネル

Waffoは決済結果だけでなく、特に複雑なハイブリッド決済シナリオにおける、ユーザーの完全な決済ジャーニー全体をモニタリングします。

### リアルタイムヘルスダッシュボード

リアルタイムヘルスダッシュボードは、決済パフォーマンスへの即時の可視性を提供します：

<RealtimeHealthDashboardCards secondLevelTitle="秒レベルレスポンス" secondLevelDesc="ブラックフライデーの繁忙期でも日常業務でも、Auth Rate、TPV（総決済量）、コンバージョンレートの分単位の変動をリアルタイムで追跡できます。" smartAlertsTitle="スマートアラート" smartAlertsDesc="成功率が異常に低下した場合（例：特定地域で20%の急落）、システムが自動的にアラートを発報し、技術チームがゲートウェイ障害か銀行システムメンテナンスかを迅速に調査できるよう支援します。" issueAttributionTitle="問題帰属分析" issueAttributionDesc="決済成功率に異常が現れた場合（例：特定の手段が20%低下）、失敗理由トレンドダッシュボードで即座に分析し、ゲートウェイ問題か銀行メンテナンスかを正確に特定し、チームの迅速な修正対応をサポートします。" />

<Frame>
  <img src="https://mintcdn.com/waffo-docs/Pi4mlrktV3FjQDJZ/images/essentials/data-intelligence/payments-analytics-dashboard.png?fit=max&auto=format&n=Pi4mlrktV3FjQDJZ&q=85&s=02b9c8e6329ca9185b4d6082f6b486ef" alt="Auth Rate、TPV、失敗帰属内訳を表示するペイメントアナリティクスダッシュボード" style={{width:"100%", height:"auto"}} width="1424" height="850" data-path="images/essentials/data-intelligence/payments-analytics-dashboard.png" />
</Frame>

### オムニチャネルコンバージョンファネル

銀行カード（ダイレクト）とEウォレット/BNPL（リダイレクト）の異なる決済ロジックに対応し、統一されたファネルビューを提供します：

* **エンドツーエンドモニタリング：** 「加盟店がチェックアウトを呼び出す」ところから始まる完全なジャーニーを追跡します。各ステップに明確な指標があり、エントリーから選択、操作から完了までのリアルなユーザーパスを再構築できます。

<Frame>
  <img src="https://mintcdn.com/waffo-docs/5FhuvFNh23Cl0uOC/images/essentials/data-intelligence/omnichannel-funnel.png?fit=max&auto=format&n=5FhuvFNh23Cl0uOC&q=85&s=6f0f32dd909f6574ce04be612ada9a23" alt="オムニチャネルコンバージョンファネル：100% チェックアウト表示 → 95% 決済手段選択 → 92% 情報入力 → 90% 決済クリック → 80% 注文成功" style={{width:"100%", height:"auto"}} width="1429" height="802" data-path="images/essentials/data-intelligence/omnichannel-funnel.png" />
</Frame>

* **離脱診断：** チェックアウトに入れなかった（技術的問題）のか、手段選択/情報入力段階で離脱した（体験または意向の問題）のかを明確に示し、リダイレクトリンク、決済リスト、インタラクションフローの的確な最適化をガイドします。

<Frame>
  <img src="https://mintcdn.com/waffo-docs/Pi4mlrktV3FjQDJZ/images/essentials/data-intelligence/failure-analysis-card.png?fit=max&auto=format&n=Pi4mlrktV3FjQDJZ&q=85&s=e4c1eddfcac43b102ad649297ec46828" alt="失敗分析：加盟店サイド 52/80（46.25%）、顧客サイド 16/80（30.12%）、チャネルサイド 6/80（25.08%）" style={{width:"100%", height:"auto"}} width="1424" height="850" data-path="images/essentials/data-intelligence/failure-analysis-card.png" />
</Frame>

***

## ドリルダウンとスマート帰属分析

成功率が期待を下回る場合、Waffoは「根本原因」を特定するための強力な分析ツールを提供します。

### マルチディメンションドリルダウン

* **地域と発行銀行：** 特定の発行銀行（BIN）まで精密に分析します。

<Note>
  **シナリオ：** 全体の成功率は正常ですが、特定の「ブラジル銀行」の失敗率が40%？これにより、その銀行向けにルーティングや分割払い戦略を最適化するよう促されます。
</Note>

* **手段比較：** クレジットカードとローカルウォレットのパフォーマンスを横断比較します。特定の国で「Apple Pay」をトップに固定することでGMVが向上することがデータで示される場合があります。

### スマートコードマッピング

**「Do Not Honor」** や **「Error 05」** のような銀行リターンはもはやブラックボックスではありません。Waffoは世界中の数千種類の生の拒否コードをバイナリな帰属カテゴリにインテリジェントにマッピングし、チームが次のステップを迅速に判断し、非効率なトラブルシューティングを削減し、解決効率を向上させます。

<SmartCodeMappingCards
  cards={[
{
title: "資金関連の問題",
examples: "例：残高不足、限度額超過",
attributionText: "通常はユーザーサイドに起因します。",
recommendationText: "別の決済手段への切り替えや残高通知の最適化をユーザーに促します。",
},
{
title: "技術的問題",
examples: "例：システムタイムアウト、接続失敗",
attributionText: "主にチャネルまたは技術サイドが原因です。",
recommendationText: "システムが自動的にルートを切り替え、リアルタイムアラートをトリガーします。",
},
{
title: "リスク関連拒否",
examples: "例：不正ブロック、不審取引",
attributionText: "主に銀行サイドまたはリスク戦略に起因します。",
recommendationText: "コンプライアンスリスクを避けるためリトライを停止し、リスクアドバイスに基づいて戦略を調整します。",
},
{
title: "アカウントステータスの問題",
examples: "例：カード期限切れ、無効なカード番号",
attributionText: "ユーザーが情報を更新していないか、銀行によるロックが原因であることが多いです。",
recommendationText: "カード情報の更新または発行銀行への連絡をユーザーに促します。",
},
]}
/>

***

## サブスクリプションと継続利用健全性

SaaS、メンバーシップ、定期課金加盟店向けに、チャーン（解約率）の削減とLTV（Lifetime Value）の向上に重点を置きます。

### チャーン帰属分析

Waffoは2種類の異なるチャーンを明確に区別します：

<Note>
  **自発的チャーン（Voluntary Churn）：** ユーザーが手動でサブスクリプションをキャンセルします。（製品体験の最適化が必要）
</Note>

<Warning>
  **非自発的チャーン（Involuntary Churn）：** ユーザーはキャンセルしていないが、カード期限切れや残高不足により決済が失敗します。（決済戦略の最適化が必要）これがWaffoが加盟店の解決を支援するコアな痛点です。
</Warning>

### リカバリーパフォーマンスの定量化

**回収済み収益（Recovered Revenue）：** 今月WaffoのSmart RetryとAccount Updaterメカニズムにより、本来失敗するはずだった収益がどれだけ自動的に救済されたかを直感的に表示します。

<Frame>
  <img src="https://mintcdn.com/waffo-docs/5FhuvFNh23Cl0uOC/images/essentials/data-intelligence/recovered-revenue-card-light.png?fit=max&auto=format&n=5FhuvFNh23Cl0uOC&q=85&s=05df07f6a43232c9394051b5f109d759" alt="回収済み収益：480ドルの失敗収益から424ドルを回収 — Smart Retry 40%、Account Updater 60%" className="block dark:hidden w-full h-auto m-0" width="1424" height="576" data-path="images/essentials/data-intelligence/recovered-revenue-card-light.png" />

  <img src="https://mintcdn.com/waffo-docs/5FhuvFNh23Cl0uOC/images/essentials/data-intelligence/recovered-revenue-card-dark.png?fit=max&auto=format&n=5FhuvFNh23Cl0uOC&q=85&s=cd3f5f4f83e22bbdc834de058ce463db" alt="回収済み収益：480ドルの失敗収益から424ドルを回収 — Smart Retry 40%、Account Updater 60%" className="hidden dark:block w-full h-auto m-0" width="1424" height="576" data-path="images/essentials/data-intelligence/recovered-revenue-card-dark.png" />
</Frame>

**最適リトライ戦略（Best Retry Strategy）：** 分析により「失敗後3日目」または「月末」でのリトライが最高の成功率をもたらすことが示される場合、システムのDunningロジックを自動調整するよう指示します。

<Frame>
  <img src="https://mintcdn.com/waffo-docs/5FhuvFNh23Cl0uOC/images/essentials/data-intelligence/retry-strategy-chart-light.png?fit=max&auto=format&n=5FhuvFNh23Cl0uOC&q=85&s=76fcc5ffb5c442627db92c78305bf135" alt="最適リトライ戦略チャート：3日目と月末に成功率がピークを示す" className="block dark:hidden w-full h-auto m-0" width="1426" height="512" data-path="images/essentials/data-intelligence/retry-strategy-chart-light.png" />

  <img src="https://mintcdn.com/waffo-docs/5FhuvFNh23Cl0uOC/images/essentials/data-intelligence/retry-strategy-chart-dark.png?fit=max&auto=format&n=5FhuvFNh23Cl0uOC&q=85&s=69e3e3e8a6f8f67e6f7c88aa1db05413" alt="最適リトライ戦略チャート：3日目と月末に成功率がピークを示す" className="hidden dark:block w-full h-auto m-0" width="1426" height="512" data-path="images/essentials/data-intelligence/retry-strategy-chart-dark.png" />
</Frame>

### コホート分析

複数の観点からユーザーのライフサイクルとチャネル品質を評価します：

* **初回 vs. 更新コンバージョン：** 新規ユーザーの初回コンバージョンと既存ユーザーの更新コンバージョンを区別し、各ステージのボトルネックを特定します。
* **リテンションヒートマップ：** 異なるチャネルから異なる月に獲得したユーザーの3ヶ月目・6ヶ月目のリテンションパフォーマンスを追跡し、マーケティングチームが獲得品質を評価できるよう支援します。

***

## よくあるご質問

<AccordionGroup>
  <Accordion title={`「Auth Rate」とは何ですか？Waffoはどのように計算しますか？`} defaultOpen>
    計算式は：成功取引数 / 試行取引総数です。Waffoの高度な分析は「ユーザー入力エラー」や「自発的キャンセル」などの非システム的要因を除外し、より参考になる技術的成功率を提示することをサポートします。
  </Accordion>

  <Accordion title={`データは「Do Not Honor」拒否にどのように役立ちますか？`}>
    これは最も一般的な汎用拒否です。Waffoのデータは、特定の高リスクシナリオで3DS認証を有効にすることでこのエラー率を大幅に削減できることを明らかにすることが多いです。システムはこれに基づいてリスク戦略の動的調整を提案し、拒否を成功に変えます。
  </Accordion>

  <Accordion title={`なぜ「非自発的チャーン」分析が重要なのですか？`}>
    業界データによると、サブスクリプションチャーンの20〜40%は、ユーザーの意図ではなく決済失敗が原因です。これを解決することが、LTVを向上させる最も速く低コストな方法です。
  </Accordion>

  <Accordion title="データはリアルタイムですか？">
    リアルタイムヘルスダッシュボードは秒レベルの更新を提供し、大型セール中のモニタリングに最適です。深い帰属分析とコホート分析は通常T+1ベースで更新され、データのクリーニングと照合の精度を確保します。
  </Accordion>
</AccordionGroup>

***

お困りですか？[サポートに連絡する](mailto:support@waffo.com)
