{
  "schemaVersion": 1,
  "analysisId": "taiwan-k-shaped-card-spending",
  "title": "Income-Group Differences in Taiwan Credit-Card Spending",
  "summary": "使用 NCCC 所得級距信用卡簽帳、主計總處所得層級 CPI 與 WID 財富分配估計，從 2018-01 到 2026-03 檢查台灣信用卡支付活動在疫情前後與 2023 年後的所得級距別實質分化。",
  "articleUrl": "https://pyecontech.com/market-notes/taiwan-k-shaped-card-spending/",
  "manifestUrl": "https://pyecontech.com/data-analysis/taiwan-k-shaped-card-spending.json",
  "datePublished": "2026-06-18",
  "lastVerified": "2026-06-18",
  "confidence": "verified",
  "dataSnapshot": "NCCC 2014-01 to 2026-03; analysis 2018-01 to 2026-03; WID wealth share 2018-2024; QA 13/13 passed",
  "datasets": [
    {
      "id": "nccc-income-group-credit-card-spending",
      "name": "NCCC 所得級距別信用卡簽帳金額與筆數",
      "description": "聯卡中心 OpenAPI C03 的月資料，用於建立個人收入 proxy groups 的信用卡簽帳活動指數。",
      "source": "財團法人聯合信用卡處理中心 OpenAPI",
      "coverage": "2014-01 to 2026-03; analysis window 2018-01 to 2026-03",
      "frequency": "Monthly",
      "license": "官方開放資料授權條款，依來源公告為準"
    },
    {
      "id": "dgbas-income-level-cpi",
      "name": "所得層級別消費者物價指數",
      "description": "主計總處 A030104015，作為 Low/Middle/High personal-income proxy groups 的 household CPI proxy deflator。",
      "source": "主計總處總體統計資料庫",
      "coverage": "Common monthly window used through 2026-03",
      "frequency": "Monthly",
      "license": "官方統計資料授權條款，依來源公告為準"
    },
    {
      "id": "dgbas-retail-food-service-sales",
      "name": "零售業與餐飲業營業額",
      "description": "主計總處 A050107020，作為 NCCC 全部信用卡簽帳金額的 nominal benchmark。",
      "source": "主計總處總體統計資料庫",
      "coverage": "Common monthly window used through 2026-03",
      "frequency": "Monthly",
      "license": "官方統計資料授權條款，依來源公告為準"
    },
    {
      "id": "wid-taiwan-wealth-distribution",
      "name": "WID Taiwan net personal wealth distribution",
      "description": "WID shwealj992 年度財富占比估計，只作為財富分配背景 appendix，不用於主消費結論。",
      "source": "World Inequality Database",
      "coverage": "2018 to 2024",
      "frequency": "Annual",
      "license": "WID terms apply"
    }
  ],
  "methods": [
    {
      "id": "real-card-spending-index",
      "name": "Real credit-card spending index",
      "description": "將 NCCC fixed personal-income bins 依 38.1 萬與 95.9 萬門檻切分為 Low/Middle/High personal-income proxy，並以主計總處家戶所得層級 CPI proxy 平減。"
    },
    {
      "id": "higher-lower-k-gap",
      "name": "High-Low K-gap",
      "description": "比較 High 與 Low personal-income proxy groups 的實質簽帳指數差距，主基期為 2023-01 = 100。"
    },
    {
      "id": "wealth-distribution-context",
      "name": "WID wealth distribution context",
      "description": "使用 WID 年度財富占比呈現財富分配背景，不與 NCCC cardholder groups 做個體連結。"
    }
  ],
  "dataAccess": {
    "policy": "public-aggregate-only",
    "publicArtifacts": "本站發布 aggregate monthly indices、benchmark series、WID appendix、figures、summary JSON、expected results 與 reproduction manifest。",
    "rawData": "Raw NCCC CSV、DGBAS JSON 與 WID ZIP 只在 notebook 執行時下載到 .cache，不放入 public artifacts。",
    "reproductionNotes": "Notebook 可從公開 API 重新下載資料並產生同一組 public aggregate artifacts；來源端若修訂歷史資料，數字可能跟本次快照不同。"
  },
  "artifacts": [
    {
      "id": "summary",
      "name": "Summary JSON",
      "description": "Sources, income grouping, CPI bridge, headline metrics, QA gates, and caveats.",
      "kind": "summary",
      "href": "/data/taiwan-k-shaped-card-spending/summary.json",
      "format": "json",
      "privacy": "aggregate"
    },
    {
      "id": "expected-results",
      "name": "Expected results JSON",
      "description": "Headline metrics used by the article and notebook validation.",
      "kind": "report",
      "href": "/data/taiwan-k-shaped-card-spending/expected_results.json",
      "format": "json",
      "privacy": "aggregate"
    },
    {
      "id": "reproduction-manifest",
      "name": "Reproduction manifest JSON",
      "description": "Public bundle inventory, source requirements, and raw cache policy.",
      "kind": "manifest",
      "href": "/data/taiwan-k-shaped-card-spending/reproduction-manifest.json",
      "format": "json",
      "privacy": "aggregate"
    },
    {
      "id": "real-card-spending-indices",
      "name": "Real card spending indices",
      "description": "Monthly nominal, CPI, real, transaction, ticket, and YoY indices by personal-income proxy group and base month.",
      "kind": "table",
      "href": "/data/taiwan-k-shaped-card-spending/real_card_spending_indices.csv",
      "format": "csv",
      "privacy": "aggregate"
    },
    {
      "id": "nccc-income-industry-monthly",
      "name": "NCCC income industry monthly table",
      "description": "Monthly NCCC aggregate card spending by industry, fixed personal-income bin, and personal-income proxy allocation.",
      "kind": "table",
      "href": "/data/taiwan-k-shaped-card-spending/nccc_income_industry_monthly.csv",
      "format": "csv",
      "privacy": "aggregate"
    },
    {
      "id": "benchmark-monthly",
      "name": "Benchmark monthly table",
      "description": "NCCC aggregate card spending and DGBAS retail plus food-service benchmark series.",
      "kind": "table",
      "href": "/data/taiwan-k-shaped-card-spending/benchmark_monthly.csv",
      "format": "csv",
      "privacy": "aggregate"
    },
    {
      "id": "wid-wealth-appendix",
      "name": "WID wealth appendix table",
      "description": "Annual WID Taiwan net personal wealth shares for p0p20, constructed p20p80, and p80p100.",
      "kind": "table",
      "href": "/data/taiwan-k-shaped-card-spending/wid_wealth_distribution_appendix.csv",
      "format": "csv",
      "privacy": "aggregate"
    },
    {
      "id": "benchmark-figure",
      "name": "Benchmark figure",
      "description": "NCCC all card spending index compared with DGBAS retail plus food-service sales.",
      "kind": "figure",
      "href": "/data/taiwan-k-shaped-card-spending/benchmark.png",
      "format": "png",
      "privacy": "aggregate"
    },
    {
      "id": "real-spending-figure",
      "name": "Real spending figure",
      "description": "Real NCCC card signing index by Low/Middle/High personal-income proxy groups.",
      "kind": "figure",
      "href": "/data/taiwan-k-shaped-card-spending/real_spending.png",
      "format": "png",
      "privacy": "aggregate"
    },
    {
      "id": "k-gap-figure",
      "name": "K-gap figure",
      "description": "High-Low real card signing index-point gap.",
      "kind": "figure",
      "href": "/data/taiwan-k-shaped-card-spending/k_gap.png",
      "format": "png",
      "privacy": "aggregate"
    },
    {
      "id": "wid-wealth-figure",
      "name": "WID wealth share appendix figure",
      "description": "WID Taiwan net personal wealth shares and percentage-point changes since 2023.",
      "kind": "figure",
      "href": "/data/taiwan-k-shaped-card-spending/wid_wealth_share_appendix.png",
      "format": "png",
      "privacy": "aggregate"
    }
  ],
  "analysisNotebook": {
    "href": "/notebooks/taiwan-k-shaped-card-spending.ipynb",
    "level": "result",
    "description": "Download the executed notebook that fetches public sources, rebuilds aggregate artifacts, and checks expected results."
  },
  "reproducibility": {
    "level": "result",
    "command": "source /Users/qin/workspace/pydata/bin/activate && jupyter nbconvert --execute --to notebook --inplace public/notebooks/taiwan-k-shaped-card-spending.ipynb",
    "environment": "Python environment with pandas, matplotlib, requests, nbformat, nbclient, and internet access to the listed public sources.",
    "expectedRuntime": "About 10-30 seconds when public sources are reachable.",
    "dataRequirements": [
      "NCCC OpenAPI C03 income-group credit-card spending endpoints",
      "DGBAS A030104015 income-level CPI endpoint",
      "DGBAS A050107020 retail and food-service sales endpoint",
      "WID Taiwan full dataset ZIP"
    ]
  },
  "expectedResults": [
    {
      "label": "Latest common month",
      "value": "2026-03",
      "source": "public/data/taiwan-k-shaped-card-spending/expected_results.json"
    },
    {
      "label": "Benchmark YoY correlation",
      "value": "0.3264",
      "source": "public/data/taiwan-k-shaped-card-spending/expected_results.json",
      "tolerance": "+/- 0.0001"
    },
    {
      "label": "Latest Low real index",
      "value": "107.6766",
      "source": "public/data/taiwan-k-shaped-card-spending/expected_results.json",
      "tolerance": "+/- 0.0001"
    },
    {
      "label": "Latest High real index",
      "value": "131.3719",
      "source": "public/data/taiwan-k-shaped-card-spending/expected_results.json",
      "tolerance": "+/- 0.0001"
    },
    {
      "label": "Latest High-Low K-gap",
      "value": "23.6953 index points",
      "source": "public/data/taiwan-k-shaped-card-spending/expected_results.json",
      "tolerance": "+/- 0.0001"
    },
    {
      "label": "QA gates",
      "value": "13/13",
      "source": "public/data/taiwan-k-shaped-card-spending/expected_results.json"
    }
  ],
  "qaGates": {
    "passed": 13,
    "total": 13,
    "summary": "All source, parsing, bin-split allocation, bridge, WID construction, artifact, and raw-cache exclusion checks passed."
  }
}