{
 "schema": "theclaudetrader.research_packet.v1",
 "generated_at": "2026-10-26T05:12:32+00:00",
 "snapshot_date": "2026-10-26",
 "about": {
  "site": "The Claude Trader",
  "what_this_is": "Evidence-first research record built from SEC XBRL, SEC Form 4 and exchange prices. Deterministic rule scores with every input linked to its source. No recommendations. fair_value_model is a labelled model estimate from SEC filings, not a price target or recommendation (method: /fair-value).",
  "publishes": "Facts and their provenance only; no holdings, targets, estimates or recommendations.",
  "how_to_answer": [
   "State the snapshot date and each score's data_as_of.",
   "Quote scores with their status: ok = complete; partial / insufficient = a test was excluded because an input was absent or older than 550 days. Repeat each warning beside the number it affects; a 'stale' warning means the input was used but is older than 120 days (price: 7 days).",
   "Cite the source URL for any number you repeat.",
   "Say what is missing; never present holdings or targets as this site's (it has none).",
   "If asked for a shortlist or portfolio: build it from the user's horizon, risk, benchmark, exclusions and limits; cite inputs, explain inclusion and thesis risks; label weights as your synthesis, distinct from these deterministic scores; no promised outperformance or invented expected returns."
  ]
 },
 "company": {
  "ticker": "CDW",
  "name": "CDW Corp",
  "legal_name": "CDW Corp",
  "cik": "0001402057",
  "exchange": "Nasdaq",
  "industry": "Retail-Catalog & Mail-Order Houses",
  "sic": "5961",
  "fiscal_year_end": "1231",
  "is_financial": false,
  "is_utility": false
 },
 "price": {
  "value": 165.11,
  "as_of": "2026-10-23",
  "source": "Alpaca Market Data (consolidated SIP daily bar)",
  "url": "https://docs.alpaca.markets/docs/historical-stock-data-1"
 },
 "market_cap": {
  "value": 20641627206.86,
  "as_of": "2026-10-23",
  "unit": "USD",
  "meaning": "price on the price date x latest reported point-in-time shares (see inputs.share_count_as_of)",
  "warning": null,
  "unavailable_reason": null,
  "inputs": {
   "traded_price": {
    "value": 165.11,
    "as_of": "2026-10-23",
    "unit": "USD per traded unit (share or ADS)",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1"
   },
   "sec_shares_outstanding": {
    "value": 125017426.0,
    "unit": "underlying shares",
    "concept": "SEC cover page 10-Q 0001402057-26-000065 (125,017,426 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/cdw-20260630.htm",
    "period_end": "2026-07-31",
    "accession": "0001402057-26-000065",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/R1.htm"
   },
   "depositary_ratio": {
    "value": 1.0,
    "unit": "underlying shares per traded unit",
    "status": "domestic",
    "source": "10-K filer; SEC shares are the traded units",
    "evidence_url": null,
    "evidence_form": null,
    "evidence_filed": null,
    "body_snippet": null
   },
   "formula": "market_value = traded_price (price date) / depositary_ratio x latest point-in-time SEC shares outstanding (share-count date shown; from the filing cover page, summed across share classes only where the issuer filing verifies the classes are economically equivalent (rule + evidence URL in the source text), else withheld; priced at the primary listed class, so where other classes trade at a different price the value is an approximation; restated only for issuer-verified splits after the count date); weighted-average share counts are never used",
   "split_adjustment": null,
   "share_count_as_of": "2026-07-31",
   "share_count_age_days_at_price_date": 84,
   "warning": null,
   "computed": "165.11 (price 2026-10-23) / 1 x 125,017,426 (shares at 2026-07-31) = 20,641,627,207"
  }
 },
 "scores": {
  "graham": {
   "score": 49.0,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Graham Defensive: 49 of 100 (ok). Adequate size: 22.42 revenue $B \u2192 5.0/5; Current ratio: 1.17 \u2192 2.5/15; Long-term debt vs working capital: 3.47 LTD / WC \u2192 0.0/15; Positive earnings each of 10 years: 10 of 10 \u2192 15.0/15; Dividends every year for 20 years: 13 of 20 \u2192 9.75/15; EPS growth, 3-yr avg now vs 10 yrs ago: 2.11 -> 8.05 (+282%) \u2192 10.0/10; P/E on 3-year average EPS: 20.5 \u2192 6.7/15; P/B <= 1.5, or P/E x P/B <= 22.5: P/B 8.45, product 173.4 \u2192 0.0/10",
   "data_as_of": "2025-12-31",
   "history": [
    "2013",
    "2025"
   ],
   "price_as_of": "2026-10-23",
   "coverage": null,
   "verification": {
    "verified": 14,
    "mismatch": 0,
    "unverified": 21,
    "not_cross_checked": 2
   },
   "warnings": [
    "stale (warning, input still used): current-period inputs older than 120 days: Revenue; inputs older than 550 days are excluded and make the test insufficient"
   ],
   "components": [
    {
     "test": "1",
     "name": "Adequate size",
     "value": 22.42,
     "unit": "revenue $B",
     "threshold": ">= 1",
     "points": 5.0,
     "max": 5
    },
    {
     "test": "2a",
     "name": "Current ratio",
     "value": 1.17,
     "threshold": ">= 2.0",
     "points": 2.5,
     "max": 15
    },
    {
     "test": "2b",
     "name": "Long-term debt vs working capital",
     "value": 3.47,
     "unit": "LTD / WC",
     "threshold": "<= 1.0",
     "points": 0.0,
     "max": 15,
     "note": null
    },
    {
     "test": "3",
     "name": "Positive earnings each of 10 years",
     "value": "10 of 10",
     "threshold": "10 of 10",
     "points": 15.0,
     "max": 15
    },
    {
     "test": "4",
     "name": "Dividends every year for 20 years",
     "value": "13 of 20",
     "threshold": "20 of 20",
     "points": 9.75,
     "max": 15,
     "missing_years": [
      2006,
      2007,
      2008,
      2009,
      2010,
      2011,
      2012
     ],
     "cross_check": {
      "verified_years": [
       2013,
       2014,
       2015,
       2016,
       2017,
       2018,
       2019,
       2020,
       2021,
       2022,
       2023,
       2024,
       2025
      ],
      "mismatch_years": [],
      "unverified_years": [
       2006,
       2007,
       2008,
       2009,
       2010,
       2011,
       2012
      ]
     },
     "note": null
    },
    {
     "test": "5",
     "name": "EPS growth, 3-yr avg now vs 10 yrs ago",
     "value": "2.11 -> 8.05 (+282%)",
     "threshold": ">= +33%",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "6",
     "name": "P/E on 3-year average EPS",
     "value": 20.5,
     "threshold": "<= 15",
     "points": 6.7,
     "max": 15,
     "note": null
    },
    {
     "test": "7",
     "name": "P/B <= 1.5, or P/E x P/B <= 22.5",
     "value": "P/B 8.45, product 173.4",
     "threshold": "<= 1.5 or <= 22.5",
     "points": 0.0,
     "max": 10
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/graham"
  },
  "magic_formula": {
   "score": 94.2,
   "status": "ok",
   "complete": true,
   "passes_all": null,
   "summary": "Magic Formula: 94 of 100 (ok). Earnings yield (EBIT/EV): 6.43 % (rank 41); Return on capital (EBIT/(NWC+PPE)): 108.29 % (rank 32); Combined rank: 73 of 199",
   "data_as_of": "2026-03-31",
   "history": [
    null,
    null
   ],
   "price_as_of": "2026-10-23",
   "coverage": null,
   "verification": null,
   "warnings": [
    "stale (warning, input still used): current-period inputs older than 120 days: operating_income_q; inputs older than 550 days are excluded and make the test insufficient"
   ],
   "components": [
    {
     "name": "Earnings yield (EBIT/EV)",
     "value": 6.43,
     "unit": "%",
     "rank": 41,
     "note": "EBIT trailing twelve months; EV = market cap + debt (5,817,000,000) - cash"
    },
    {
     "name": "Return on capital (EBIT/(NWC+PPE))",
     "value": 108.29,
     "unit": "%",
     "rank": 32,
     "note": "net working capital 1,384,100,000 used as reported"
    },
    {
     "name": "Combined rank",
     "value": 73,
     "of": 199
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/magic_formula"
  },
  "momentum": {
   "score": 48.7,
   "status": "ok",
   "complete": true,
   "passes_all": null,
   "summary": "Momentum: 49 of 100 (ok). 12-1 month return: -5.9 % \u2192 15.5/50; 6 month return: 22.3 % \u2192 16.2/20; Price / 52-week high: 1.0 \u2192 15.0/15; Volatility penalty (60d annualised): 49.0 % \u2192 2.0/15",
   "data_as_of": "2026-10-23",
   "history": [
    null,
    null
   ],
   "price_as_of": "2026-10-23",
   "coverage": null,
   "verification": null,
   "warnings": [],
   "components": [
    {
     "name": "12-1 month return",
     "value": -5.9,
     "unit": "%",
     "percentile": 31.0,
     "points": 15.5,
     "max": 50
    },
    {
     "name": "6 month return",
     "value": 22.3,
     "unit": "%",
     "percentile": 80.8,
     "points": 16.2,
     "max": 20
    },
    {
     "name": "Price / 52-week high",
     "value": 1.0,
     "points": 15.0,
     "max": 15
    },
    {
     "name": "Volatility penalty (60d annualised)",
     "value": 49.0,
     "unit": "%",
     "points": 2.0,
     "max": 15
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/momentum"
  },
  "insider": {
   "score": 0.0,
   "status": "ok",
   "complete": true,
   "passes_all": null,
   "summary": "Insider: 0 of 100 (ok). Open-market buy value / market cap (percentile among buyers): 0.0 bp \u2192 0.0/35; Distinct buyers: 0 \u2192 0.0/25; Buyer seniority: 0.0 \u2192 0.0/20; Recency (half-life 30d): 0.0 \u2192 0.0/10; Sales penalty (excludes 10b5-1 plan sales): 1.78 bp \u2192 -8.1/0",
   "data_as_of": "2026-10-23",
   "history": [
    null,
    null
   ],
   "price_as_of": null,
   "coverage": {
    "window_start": "2026-07-28",
    "through": "2026-10-23",
    "missing_days": 3,
    "note": "Form 4 data loaded through 2026-10-23"
   },
   "verification": null,
   "warnings": [],
   "components": [
    {
     "name": "Open-market buy value / market cap (percentile among buyers)",
     "value": 0.0,
     "unit": "bp",
     "points": 0.0,
     "max": 35
    },
    {
     "name": "Distinct buyers",
     "value": 0,
     "points": 0.0,
     "max": 25
    },
    {
     "name": "Buyer seniority",
     "value": 0.0,
     "points": 0.0,
     "max": 20
    },
    {
     "name": "Recency (half-life 30d)",
     "value": 0.0,
     "points": 0.0,
     "max": 10
    },
    {
     "name": "Sales penalty (excludes 10b5-1 plan sales)",
     "value": 1.78,
     "unit": "bp",
     "points": -8.1,
     "max": 0
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/insider"
  },
  "buffett": {
   "score": 81.0,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Buffett Quality: 81 of 100 (ok). Average return on equity (net income / year-end equity): 69.2% over 8 yrs \u2192 25.0/25; Profitable every year: 10 of 10 \u2192 15.0/15; Net income growth, 3-yr average now vs start of window: +10.7% a year \u2192 10.0/10; Borrowings / 3-yr average earnings (years to repay): 5.4 years \u2192 9.9/15; Operating margin, 5-yr average: 7.4% \u2192 0.0/10; Free cash flow / net income, 5-yr (operating cash flow minus capex): 1.04 \u2192 10.0/10; Owner-earnings yield (3-yr avg free cash flow / market cap): 6.0% \u2192 11.1/15",
   "data_as_of": "2026-06-30",
   "history": [
    "2016",
    "2025"
   ],
   "price_as_of": "2026-10-23",
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 48,
    "not_cross_checked": 2
   },
   "warnings": [],
   "components": [
    {
     "test": "1",
     "name": "Average return on equity (net income / year-end equity)",
     "value": "69.2% over 8 yrs",
     "threshold": ">= 15%",
     "points": 25.0,
     "max": 25
    },
    {
     "test": "2",
     "name": "Profitable every year",
     "value": "10 of 10",
     "threshold": "all years",
     "points": 15.0,
     "max": 15
    },
    {
     "test": "3",
     "name": "Net income growth, 3-yr average now vs start of window",
     "value": "+10.7% a year",
     "threshold": ">= +10%",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "4",
     "name": "Borrowings / 3-yr average earnings (years to repay)",
     "value": 5.4,
     "threshold": "<= 4",
     "points": 9.9,
     "max": 15,
     "unit": "years",
     "note": "LongTermDebtNoncurrent + LongTermDebtCurrent"
    },
    {
     "test": "5",
     "name": "Operating margin, 5-yr average",
     "value": "7.4%",
     "threshold": ">= 20%",
     "points": 0.0,
     "max": 10
    },
    {
     "test": "6",
     "name": "Free cash flow / net income, 5-yr (operating cash flow minus capex)",
     "value": "1.04",
     "threshold": ">= 1.0",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "7",
     "name": "Owner-earnings yield (3-yr avg free cash flow / market cap)",
     "value": "6.0%",
     "threshold": ">= 7%",
     "points": 11.1,
     "max": 15
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/buffett"
  },
  "lynch": {
   "score": 32.7,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Lynch GARP: 33 of 100 (ok). PEG: P/E divided by 5-yr EPS growth (in % points): 2.49 \u2192 0.0/30; EPS growth, 5-yr compound rate: +8.2% a year \u2192 13.7/20; P/E on latest annual EPS: 20.4 \u2192 10.0/10; Borrowings / equity: 2.38 \u2192 0.0/15; Years of the last 5 in which EPS rose: 3 of 5 \u2192 9.0/15; Net cash (cash minus borrowings) / market cap: -26.4% \u2192 0.0/10",
   "data_as_of": "2026-06-30",
   "history": [
    "2020",
    "2025"
   ],
   "price_as_of": "2026-10-23",
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 6,
    "not_cross_checked": 1
   },
   "warnings": [],
   "components": [
    {
     "test": "1",
     "name": "PEG: P/E divided by 5-yr EPS growth (in % points)",
     "value": 2.49,
     "threshold": "<= 1.0",
     "points": 0.0,
     "max": 30
    },
    {
     "test": "2",
     "name": "EPS growth, 5-yr compound rate",
     "value": "+8.2% a year",
     "threshold": "12% to 35% a year",
     "points": 13.7,
     "max": 20
    },
    {
     "test": "3",
     "name": "P/E on latest annual EPS",
     "value": 20.4,
     "threshold": "<= 25",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "4",
     "name": "Borrowings / equity",
     "value": 2.38,
     "threshold": "<= 0.5",
     "points": 0.0,
     "max": 15,
     "note": "LongTermDebtNoncurrent + LongTermDebtCurrent"
    },
    {
     "test": "5",
     "name": "Years of the last 5 in which EPS rose",
     "value": "3 of 5",
     "threshold": "5 of 5",
     "points": 9.0,
     "max": 15
    },
    {
     "test": "6",
     "name": "Net cash (cash minus borrowings) / market cap",
     "value": "-26.4%",
     "threshold": ">= +10%",
     "points": 0.0,
     "max": 10
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/lynch"
  },
  "graham_enterprising": {
   "score": 40.0,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Graham Enterprising: 40 of 100 (ok). Current ratio: 1.17 \u2192 5.0/15; Borrowings vs working capital: 4.2 x \u2192 0.0/15; No earnings deficit in the last 5 years: 5 of 5 profitable \u2192 15.0/15; Pays a current dividend: yes \u2192 10.0/10; EPS higher than five years earlier: 5.45 -> 8.08 \u2192 10.0/10; Price / book value per share: 8.45 \u2192 0.0/20; Price / net current asset value per share (current assets minus all liabilities): None \u2192 0.0/15",
   "data_as_of": "2026-06-30",
   "history": [
    "2020",
    "2025"
   ],
   "price_as_of": "2026-10-23",
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 12,
    "not_cross_checked": 3
   },
   "warnings": [],
   "components": [
    {
     "test": "1",
     "name": "Current ratio",
     "value": 1.17,
     "threshold": ">= 1.5",
     "points": 5.0,
     "max": 15
    },
    {
     "test": "2",
     "name": "Borrowings vs working capital",
     "value": 4.2,
     "threshold": "<= 1.1x",
     "points": 0.0,
     "max": 15,
     "unit": "x",
     "note": "LongTermDebtNoncurrent + LongTermDebtCurrent"
    },
    {
     "test": "3",
     "name": "No earnings deficit in the last 5 years",
     "value": "5 of 5 profitable",
     "threshold": "5 of 5",
     "points": 15.0,
     "max": 15
    },
    {
     "test": "4",
     "name": "Pays a current dividend",
     "value": "yes",
     "threshold": "yes",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "5",
     "name": "EPS higher than five years earlier",
     "value": "5.45 -> 8.08",
     "threshold": "higher",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "6",
     "name": "Price / book value per share",
     "value": 8.45,
     "threshold": "<= 1.2",
     "points": 0.0,
     "max": 20,
     "note": "book value used because intangibles are not separated in the dataset (Graham uses net tangible assets)"
    },
    {
     "test": "7",
     "name": "Price / net current asset value per share (current assets minus all liabilities)",
     "value": null,
     "threshold": "<= 0.67",
     "points": 0.0,
     "max": 15,
     "note": "net current asset value not positive"
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/graham_enterprising"
  },
  "piotroski": {
   "score": 55.6,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Piotroski F-Score: 56 of 100 (ok). Return on assets is positive: 6.7% \u2192 11.11111111111111/11.11111111111111; Operating cash flow is positive: 1,205M \u2192 11.11111111111111/11.11111111111111; Return on assets improved on the prior year: 7.3% -> 6.7% \u2192 0.0/11.11111111111111; Operating cash flow exceeds net income (accruals): 1,205M vs 1,067M \u2192 11.11111111111111/11.11111111111111; Long-term debt / assets fell: 38.2% -> 28.8% \u2192 11.11111111111111/11.11111111111111; Current ratio improved: 1.35 -> 1.18 \u2192 0.0/11.11111111111111; No new shares issued (share count did not rise): 131M -> 125M \u2192 11.11111111111111/11.11111111111111; Operating margin improved (stand-in for gross margin, which the dataset does not carry): 7.9% -> 7.4% \u2192 0.0/11.11111111111111; Asset turnover (revenue / assets) improved: 1.43 -> 1.40 \u2192 0.0/11.11111111111111",
   "data_as_of": null,
   "history": [
    "2024",
    "2026"
   ],
   "price_as_of": null,
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 27,
    "not_cross_checked": 0
   },
   "warnings": [],
   "components": [
    {
     "test": "1",
     "name": "Return on assets is positive",
     "value": "6.7%",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "2",
     "name": "Operating cash flow is positive",
     "value": "1,205M",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "3",
     "name": "Return on assets improved on the prior year",
     "value": "7.3% -> 6.7%",
     "threshold": "pass = 1",
     "points": 0.0,
     "max": 11.11111111111111
    },
    {
     "test": "4",
     "name": "Operating cash flow exceeds net income (accruals)",
     "value": "1,205M vs 1,067M",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "5",
     "name": "Long-term debt / assets fell",
     "value": "38.2% -> 28.8%",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "6",
     "name": "Current ratio improved",
     "value": "1.35 -> 1.18",
     "threshold": "pass = 1",
     "points": 0.0,
     "max": 11.11111111111111
    },
    {
     "test": "7",
     "name": "No new shares issued (share count did not rise)",
     "value": "131M -> 125M",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "8",
     "name": "Operating margin improved (stand-in for gross margin, which the dataset does not carry)",
     "value": "7.9% -> 7.4%",
     "threshold": "pass = 1",
     "points": 0.0,
     "max": 11.11111111111111
    },
    {
     "test": "9",
     "name": "Asset turnover (revenue / assets) improved",
     "value": "1.43 -> 1.40",
     "threshold": "pass = 1",
     "points": 0.0,
     "max": 11.11111111111111
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/piotroski"
  }
 },
 "inputs_by_philosophy": {
  "graham": [
   {
    "name": "Price (close, per traded unit)",
    "value": 165.11,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-23",
    "age_days": 3,
    "stale": false
   },
   {
    "name": "Revenue",
    "value": 22424100000.0,
    "kind": "current",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24291109,
    "verified": "unverified",
    "age_days": 299,
    "stale": true
   },
   {
    "name": "current_assets",
    "value": 9680500000.0,
    "kind": "current",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24341502,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "current_liabilities",
    "value": 8296400000.0,
    "kind": "current",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24368408,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "lt_debt",
    "value": 4808100000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24418242,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "equity",
    "value": 2442100000.0,
    "kind": "current",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24501453,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "Net income FY2016",
    "value": 425100000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "period": "2016-12-31",
    "accession": "0001402057-19-000046",
    "fact_id": 20689797,
    "verified": "unverified",
    "age_days": 3586
   },
   {
    "name": "Net income FY2017",
    "value": 523100000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205720000042/",
    "period": "2017-12-31",
    "accession": "0001402057-20-000042",
    "fact_id": 20696335,
    "verified": "unverified",
    "age_days": 3221
   },
   {
    "name": "Net income FY2018",
    "value": 643000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "period": "2018-12-31",
    "accession": "0001402057-21-000022",
    "fact_id": 20702690,
    "verified": "unverified",
    "age_days": 2856
   },
   {
    "name": "Net income FY2019",
    "value": 736800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "period": "2019-12-31",
    "accession": "0001402057-22-000020",
    "fact_id": 20708948,
    "verified": "unverified",
    "age_days": 2491
   },
   {
    "name": "Net income FY2020",
    "value": 788500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2020-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 20715357,
    "verified": "unverified",
    "age_days": 2125
   },
   {
    "name": "Net income FY2021",
    "value": 988600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20721953,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Net income FY2022",
    "value": 1114500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20728992,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Net income FY2023",
    "value": 1104300000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20735853,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Net income FY2024",
    "value": 1077800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20742311,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Net income FY2025",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Dividend years (Yahoo)",
    "value": [
     2013,
     2014,
     2015,
     2016,
     2017,
     2018,
     2019,
     2020,
     2021,
     2022,
     2023,
     2024,
     2025,
     2026
    ],
    "kind": "history",
    "source": "Yahoo Finance dividend history",
    "url": "https://finance.yahoo.com/quote/CDW/history?filter=div",
    "period": null,
    "verified": "verified (partly: XBRL covers 13 of 20 years)",
    "note": "XBRL dividends-per-share facts cover 13 of the 20 years"
   },
   {
    "name": "Dividends per share FY2013 (XBRL)",
    "value": 0.0425,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareDeclared",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205715000003/",
    "period": "2013-12-31",
    "accession": "0001402057-15-000003",
    "fact_id": 20886918,
    "verified": "verified",
    "age_days": 4682
   },
   {
    "name": "Dividends per share FY2014 (XBRL)",
    "value": 0.195,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareDeclared",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205715000003/",
    "period": "2014-12-31",
    "accession": "0001402057-15-000003",
    "fact_id": 20888762,
    "verified": "verified",
    "age_days": 4317
   },
   {
    "name": "Dividends per share FY2015 (XBRL)",
    "value": 0.31,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205718000038/",
    "period": "2015-12-31",
    "accession": "0001402057-18-000038",
    "fact_id": 20891253,
    "verified": "verified",
    "age_days": 3952
   },
   {
    "name": "Dividends per share FY2016 (XBRL)",
    "value": 0.4825,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "period": "2016-12-31",
    "accession": "0001402057-19-000046",
    "fact_id": 20893039,
    "verified": "verified",
    "age_days": 3586
   },
   {
    "name": "Dividends per share FY2017 (XBRL)",
    "value": 0.69,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205720000042/",
    "period": "2017-12-31",
    "accession": "0001402057-20-000042",
    "fact_id": 20894817,
    "verified": "verified",
    "age_days": 3221
   },
   {
    "name": "Dividends per share FY2018 (XBRL)",
    "value": 0.925,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "period": "2018-12-31",
    "accession": "0001402057-21-000022",
    "fact_id": 20896531,
    "verified": "verified",
    "age_days": 2856
   },
   {
    "name": "Dividends per share FY2019 (XBRL)",
    "value": 1.265,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "period": "2019-12-31",
    "accession": "0001402057-22-000020",
    "fact_id": 20898184,
    "verified": "verified",
    "age_days": 2491
   },
   {
    "name": "Dividends per share FY2020 (XBRL)",
    "value": 1.54,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2020-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 20899800,
    "verified": "verified",
    "age_days": 2125
   },
   {
    "name": "Dividends per share FY2021 (XBRL)",
    "value": 1.7,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20901355,
    "verified": "verified",
    "age_days": 1760
   },
   {
    "name": "Dividends per share FY2022 (XBRL)",
    "value": 2.09,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20902998,
    "verified": "verified",
    "age_days": 1395
   },
   {
    "name": "Dividends per share FY2023 (XBRL)",
    "value": 2.39,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20904656,
    "verified": "verified",
    "age_days": 1030
   },
   {
    "name": "Dividends per share FY2024 (XBRL)",
    "value": 2.485,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20906276,
    "verified": "verified",
    "age_days": 664
   },
   {
    "name": "Dividends per share FY2025 (XBRL)",
    "value": 2.505,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24310376,
    "verified": "verified",
    "age_days": 299
   },
   {
    "name": "EPS diluted FY2014",
    "value": 1.42,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205717000120/",
    "period": "2014-12-31",
    "accession": "0001402057-17-000120",
    "fact_id": 20760047,
    "verified": "unverified",
    "age_days": 4317
   },
   {
    "name": "EPS diluted FY2015",
    "value": 2.35,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205718000038/",
    "period": "2015-12-31",
    "accession": "0001402057-18-000038",
    "fact_id": 20764244,
    "verified": "unverified",
    "age_days": 3952
   },
   {
    "name": "EPS diluted FY2016",
    "value": 2.56,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "period": "2016-12-31",
    "accession": "0001402057-19-000046",
    "fact_id": 20768251,
    "verified": "unverified",
    "age_days": 3586
   },
   {
    "name": "EPS diluted FY2023",
    "value": 8.1,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20800569,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "EPS diluted FY2024",
    "value": 7.97,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20806371,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "EPS diluted FY2025",
    "value": 8.08,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24300829,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Shares outstanding",
    "value": 125017426.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0001402057-26-000065 (125,017,426 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/cdw-20260630.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/R1.htm",
    "period": "2026-07-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24599887,
    "age_days": 87,
    "stale": false
   }
  ],
  "magic_formula": [
   {
    "name": "operating_income",
    "value": 1655600000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24306003,
    "age_days": 299
   },
   {
    "name": "operating_income_q",
    "value": 376000000.0,
    "kind": "current",
    "source": "SEC XBRL OperatingIncomeLoss (quarter CY2026Q1)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000025/",
    "period": "2026-03-31",
    "accession": "0001402057-26-000025",
    "fact_id": 23919403,
    "age_days": 209,
    "stale": true
   },
   {
    "name": "operating_income_q",
    "value": 361400000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss (quarter CY2025Q1)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000025/",
    "period": "2025-03-31",
    "accession": "0001402057-26-000025",
    "fact_id": 23932761,
    "age_days": 574
   },
   {
    "name": "operating_income_q",
    "value": 428600000.0,
    "kind": "current",
    "source": "SEC XBRL OperatingIncomeLoss (quarter CY2026Q2)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 23915348,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "operating_income_q",
    "value": 420200000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss (quarter CY2025Q2)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 23928444,
    "age_days": 483
   },
   {
    "name": "current_assets",
    "value": 9680500000.0,
    "kind": "current",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24341502,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "current_liabilities",
    "value": 8296400000.0,
    "kind": "current",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24368408,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "cash",
    "value": 361800000.0,
    "kind": "current",
    "source": "SEC XBRL CashAndCashEquivalentsAtCarryingValue",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24534974,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "ppe_net",
    "value": 166000000.0,
    "kind": "current",
    "source": "SEC XBRL PropertyPlantAndEquipmentNet",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24561233,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "lt_debt",
    "value": 4808100000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24418242,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "debt_lt_current",
    "value": 1008900000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24438911,
    "age_days": 118,
    "stale": false
   },
   {
    "name": "shares_out",
    "value": 125017426.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0001402057-26-000065 (125,017,426 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/cdw-20260630.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/R1.htm",
    "period": "2026-07-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24599887,
    "age_days": 87,
    "stale": false
   },
   {
    "name": "Price (close)",
    "value": 165.11,
    "kind": "price",
    "source": "Yahoo Finance / Alpaca Market Data",
    "url": null,
    "period": "2026-10-23",
    "age_days": 3,
    "stale": false
   },
   {
    "name": "note",
    "value": "debt = LongTermDebtNoncurrent + LongTermDebtCurrent"
   }
  ],
  "momentum": [
   {
    "name": "Adjusted close series (14 months)",
    "value": 165.11,
    "kind": "price",
    "source": "Yahoo Finance / Alpaca Market Data daily history",
    "url": null,
    "period": "2026-10-23",
    "age_days": 3,
    "stale": false
   }
  ],
  "insider": [
   {
    "name": "Form 4 S CONNELLY ELIZABETH H. 2026-08-07",
    "value": 3673765.9,
    "shares": 26695.0,
    "price": 137.62,
    "role": "officer",
    "period": "2026-08-07",
    "source": "SEC Form 4 (insider transactions data set)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000068/"
   }
  ],
  "buffett": [
   {
    "name": "Price (close, per traded unit)",
    "value": 165.11,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-23",
    "age_days": 3,
    "stale": false
   },
   {
    "name": "Net income FY2018",
    "value": 643000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "period": "2018-12-31",
    "accession": "0001402057-21-000022",
    "fact_id": 20702690,
    "verified": "unverified",
    "age_days": 2856
   },
   {
    "name": "Equity at FY2018 end",
    "value": 975200000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "period": "2018-12-31",
    "accession": "0001402057-22-000020",
    "fact_id": 22763795,
    "verified": "unverified",
    "age_days": 2856
   },
   {
    "name": "Net income FY2019",
    "value": 736800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "period": "2019-12-31",
    "accession": "0001402057-22-000020",
    "fact_id": 20708948,
    "verified": "unverified",
    "age_days": 2491
   },
   {
    "name": "Equity at FY2019 end",
    "value": 960300000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2019-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 22788713,
    "verified": "unverified",
    "age_days": 2491
   },
   {
    "name": "Net income FY2020",
    "value": 788500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2020-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 20715357,
    "verified": "unverified",
    "age_days": 2125
   },
   {
    "name": "Equity at FY2020 end",
    "value": 1297100000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2020-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 22813358,
    "verified": "unverified",
    "age_days": 2125
   },
   {
    "name": "Net income FY2021",
    "value": 988600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20721953,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Equity at FY2021 end",
    "value": 705700000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2021-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 22839247,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Net income FY2022",
    "value": 1114500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20728992,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Equity at FY2022 end",
    "value": 1603300000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2022-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 22867322,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Net income FY2023",
    "value": 1104300000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20735853,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Equity at FY2023 end",
    "value": 2042500000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 22894859,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Net income FY2024",
    "value": 1077800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20742311,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Equity at FY2024 end",
    "value": 2352700000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 22920371,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Net income FY2025",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Equity at FY2025 end",
    "value": 2606100000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24478021,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Net income FY2016",
    "value": 425100000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "period": "2016-12-31",
    "accession": "0001402057-19-000046",
    "fact_id": 20689797,
    "verified": "unverified",
    "age_days": 3586
   },
   {
    "name": "Net income FY2017",
    "value": 523100000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205720000042/",
    "period": "2017-12-31",
    "accession": "0001402057-20-000042",
    "fact_id": 20696335,
    "verified": "unverified",
    "age_days": 3221
   },
   {
    "name": "Net income FY2018",
    "value": 643000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "period": "2018-12-31",
    "accession": "0001402057-21-000022",
    "fact_id": 20702690,
    "verified": "unverified",
    "age_days": 2856
   },
   {
    "name": "Net income FY2019",
    "value": 736800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "period": "2019-12-31",
    "accession": "0001402057-22-000020",
    "fact_id": 20708948,
    "verified": "unverified",
    "age_days": 2491
   },
   {
    "name": "Net income FY2020",
    "value": 788500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2020-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 20715357,
    "verified": "unverified",
    "age_days": 2125
   },
   {
    "name": "Net income FY2021",
    "value": 988600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20721953,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Net income FY2022",
    "value": 1114500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20728992,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Net income FY2023",
    "value": 1104300000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20735853,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Net income FY2024",
    "value": 1077800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20742311,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Net income FY2025",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "lt_debt",
    "value": 4808100000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24418242,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "debt_lt_current",
    "value": 1008900000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24438911,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "Operating income FY2021",
    "value": 1419000000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20861511,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Revenue FY2021",
    "value": 20820800000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20642735,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Operating income FY2022",
    "value": 1735200000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20867239,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Revenue FY2022",
    "value": 23748700000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20647917,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Operating income FY2023",
    "value": 1680900000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20872809,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Revenue FY2023",
    "value": 21376000000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20652953,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Operating income FY2024",
    "value": 1651300000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20878008,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Revenue FY2024",
    "value": 20998700000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20657760,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Operating income FY2025",
    "value": 1655600000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24306003,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Revenue FY2025",
    "value": 22424100000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24291109,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Operating cash flow FY2021",
    "value": 784600000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20958810,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Capital expenditure FY2021",
    "value": 100000000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 21026450,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Operating cash flow FY2022",
    "value": 1335900000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20965716,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Capital expenditure FY2022",
    "value": 127800000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 21030812,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Operating cash flow FY2023",
    "value": 1598700000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20972458,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Capital expenditure FY2023",
    "value": 148200000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21035057,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Operating cash flow FY2024",
    "value": 1277300000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20978812,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Capital expenditure FY2024",
    "value": 122600000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21039129,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Operating cash flow FY2025",
    "value": 1205200000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24312931,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Capital expenditure FY2025",
    "value": 117100000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24318167,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Shares outstanding",
    "value": 125017426.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0001402057-26-000065 (125,017,426 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/cdw-20260630.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/R1.htm",
    "period": "2026-07-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24599887,
    "age_days": 87,
    "stale": false
   }
  ],
  "lynch": [
   {
    "name": "Price (close, per traded unit)",
    "value": 165.11,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-23",
    "age_days": 3,
    "stale": false
   },
   {
    "name": "EPS diluted FY2025",
    "value": 8.08,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24300829,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "EPS diluted FY2020",
    "value": 5.45,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2020-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 20783795,
    "verified": "unverified",
    "age_days": 2125
   },
   {
    "name": "lt_debt",
    "value": 4808100000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24418242,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "debt_lt_current",
    "value": 1008900000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24438911,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "equity",
    "value": 2442100000.0,
    "kind": "current",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24501453,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "cash",
    "value": 361800000.0,
    "kind": "current",
    "source": "SEC XBRL CashAndCashEquivalentsAtCarryingValue",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24534974,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   }
  ],
  "graham_enterprising": [
   {
    "name": "Price (close, per traded unit)",
    "value": 165.11,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-23",
    "age_days": 3,
    "stale": false
   },
   {
    "name": "current_assets",
    "value": 9680500000.0,
    "kind": "current",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24341502,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "current_liabilities",
    "value": 8296400000.0,
    "kind": "current",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24368408,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "lt_debt",
    "value": 4808100000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24418242,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "debt_lt_current",
    "value": 1008900000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24438911,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "Net income FY2021",
    "value": 988600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "period": "2021-12-31",
    "accession": "0001402057-24-000015",
    "fact_id": 20721953,
    "verified": "unverified",
    "age_days": 1760
   },
   {
    "name": "Net income FY2022",
    "value": 1114500000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "period": "2022-12-31",
    "accession": "0001402057-25-000018",
    "fact_id": 20728992,
    "verified": "unverified",
    "age_days": 1395
   },
   {
    "name": "Net income FY2023",
    "value": 1104300000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2023-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20735853,
    "verified": "unverified",
    "age_days": 1030
   },
   {
    "name": "Net income FY2024",
    "value": 1077800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20742311,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "Net income FY2025",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "Dividend years (Yahoo)",
    "value": [
     2019,
     2020,
     2021,
     2022,
     2023,
     2024,
     2025,
     2026
    ],
    "kind": "history",
    "source": "Yahoo Finance dividend history",
    "url": "https://finance.yahoo.com/quote/CDW/history?filter=div",
    "period": null
   },
   {
    "name": "EPS diluted FY2025",
    "value": 8.08,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24300829,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "EPS diluted FY2020",
    "value": 5.45,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "period": "2020-12-31",
    "accession": "0001402057-23-000052",
    "fact_id": 20783795,
    "verified": "unverified",
    "age_days": 2125
   },
   {
    "name": "equity",
    "value": 2442100000.0,
    "kind": "current",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-06-30",
    "accession": "0001402057-26-000065",
    "fact_id": 24501453,
    "verified": "unverified",
    "age_days": 118,
    "stale": false
   },
   {
    "name": "Shares outstanding",
    "value": 125017426.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0001402057-26-000065 (125,017,426 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/cdw-20260630.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/R1.htm",
    "period": "2026-07-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24599887,
    "age_days": 87,
    "stale": false
   }
  ],
  "piotroski": [
   {
    "name": "net_income 2025-12-31",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 16028200000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24377732,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "cfo 2025-12-31",
    "value": 1205200000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24312931,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "net_income 2025-12-31",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "net_income 2024-12-31",
    "value": 1077800000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20742311,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 16028200000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24377732,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "total_assets 2024-12-31",
    "value": 14678400000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21930478,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "cfo 2025-12-31",
    "value": 1205200000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24312931,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "net_income 2025-12-31",
    "value": 1066600000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss (10-K via companyfacts; frames served proxy 0001308179-26-000251)",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24294836,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "lt_debt 2025-12-31",
    "value": 4622300000.0,
    "kind": "history",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24410600,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "lt_debt 2024-12-31",
    "value": 5607000000.0,
    "kind": "history",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 22085879,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 16028200000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24377732,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "total_assets 2024-12-31",
    "value": 14678400000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21930478,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "current_assets 2025-12-31",
    "value": 8500500000.0,
    "kind": "history",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24323327,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "current_assets 2024-12-31",
    "value": 7373100000.0,
    "kind": "history",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21324363,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "current_liabilities 2025-12-31",
    "value": 7226100000.0,
    "kind": "history",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24350288,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "current_liabilities 2024-12-31",
    "value": 5474400000.0,
    "kind": "history",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21597257,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "shares_out 2026-07-31",
    "value": 125017426.0,
    "kind": "history",
    "source": "SEC XBRL EntityCommonStockSharesOutstanding",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2026-07-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24590017,
    "verified": "unverified",
    "age_days": 87
   },
   {
    "name": "shares_out 2025-08-01",
    "value": 131060745.0,
    "kind": "history",
    "source": "SEC XBRL EntityCommonStockSharesOutstanding",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000145/",
    "period": "2025-08-01",
    "accession": "0001402057-25-000145",
    "fact_id": 24579239,
    "verified": "unverified",
    "age_days": 451
   },
   {
    "name": "operating_income 2025-12-31",
    "value": 1655600000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24306003,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "operating_income 2024-12-31",
    "value": 1651300000.0,
    "kind": "history",
    "source": "SEC XBRL OperatingIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20878008,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "revenue 2025-12-31",
    "value": 22424100000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24291109,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "revenue 2024-12-31",
    "value": 20998700000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20657760,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "revenue 2025-12-31",
    "value": 22424100000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 24291109,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "revenue 2024-12-31",
    "value": 20998700000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 20657760,
    "verified": "unverified",
    "age_days": 664
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 16028200000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000065/",
    "period": "2025-12-31",
    "accession": "0001402057-26-000065",
    "fact_id": 24377732,
    "verified": "unverified",
    "age_days": 299
   },
   {
    "name": "total_assets 2024-12-31",
    "value": 14678400000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "period": "2024-12-31",
    "accession": "0001402057-26-000011",
    "fact_id": 21930478,
    "verified": "unverified",
    "age_days": 664
   }
  ]
 },
 "earnings_record": {
  "net_income_by_fy": [
   {
    "fy": 2013,
    "period_end": "2013-12-31",
    "sec_frame": "CY2013",
    "value": 132800000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205716000057/",
    "accession": "0001402057-16-000057"
   },
   {
    "fy": 2014,
    "period_end": "2014-12-31",
    "sec_frame": "CY2014",
    "value": 244900000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205717000120/",
    "accession": "0001402057-17-000120"
   },
   {
    "fy": 2015,
    "period_end": "2015-12-31",
    "sec_frame": "CY2015",
    "value": 403100000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205718000038/",
    "accession": "0001402057-18-000038"
   },
   {
    "fy": 2016,
    "period_end": "2016-12-31",
    "sec_frame": "CY2016",
    "value": 425100000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "accession": "0001402057-19-000046"
   },
   {
    "fy": 2017,
    "period_end": "2017-12-31",
    "sec_frame": "CY2017",
    "value": 523100000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205720000042/",
    "accession": "0001402057-20-000042"
   },
   {
    "fy": 2018,
    "period_end": "2018-12-31",
    "sec_frame": "CY2018",
    "value": 643000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "accession": "0001402057-21-000022"
   },
   {
    "fy": 2019,
    "period_end": "2019-12-31",
    "sec_frame": "CY2019",
    "value": 736800000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "accession": "0001402057-22-000020"
   },
   {
    "fy": 2020,
    "period_end": "2020-12-31",
    "sec_frame": "CY2020",
    "value": 788500000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "accession": "0001402057-23-000052"
   },
   {
    "fy": 2021,
    "period_end": "2021-12-31",
    "sec_frame": "CY2021",
    "value": 988600000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "accession": "0001402057-24-000015"
   },
   {
    "fy": 2022,
    "period_end": "2022-12-31",
    "sec_frame": "CY2022",
    "value": 1114500000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "accession": "0001402057-25-000018"
   },
   {
    "fy": 2023,
    "period_end": "2023-12-31",
    "sec_frame": "CY2023",
    "value": 1104300000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011"
   },
   {
    "fy": 2024,
    "period_end": "2024-12-31",
    "sec_frame": "CY2024",
    "value": 1077800000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011"
   },
   {
    "fy": 2025,
    "period_end": "2025-12-31",
    "sec_frame": "CY2025",
    "value": 1066600000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011"
   }
  ],
  "eps_diluted_by_fy": [
   {
    "fy": 2013,
    "period_end": "2013-12-31",
    "sec_frame": "CY2013",
    "value": 0.84,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205716000057/",
    "accession": "0001402057-16-000057",
    "value_reported": 0.84,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2014,
    "period_end": "2014-12-31",
    "sec_frame": "CY2014",
    "value": 1.42,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205717000120/",
    "accession": "0001402057-17-000120",
    "value_reported": 1.42,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2015,
    "period_end": "2015-12-31",
    "sec_frame": "CY2015",
    "value": 2.35,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205718000038/",
    "accession": "0001402057-18-000038",
    "value_reported": 2.35,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2016,
    "period_end": "2016-12-31",
    "sec_frame": "CY2016",
    "value": 2.56,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "accession": "0001402057-19-000046",
    "value_reported": 2.56,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2017,
    "period_end": "2017-12-31",
    "sec_frame": "CY2017",
    "value": 3.31,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205720000042/",
    "accession": "0001402057-20-000042",
    "value_reported": 3.31,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2018,
    "period_end": "2018-12-31",
    "sec_frame": "CY2018",
    "value": 4.19,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "accession": "0001402057-21-000022",
    "value_reported": 4.19,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2019,
    "period_end": "2019-12-31",
    "sec_frame": "CY2019",
    "value": 4.99,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "accession": "0001402057-22-000020",
    "value_reported": 4.99,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2020,
    "period_end": "2020-12-31",
    "sec_frame": "CY2020",
    "value": 5.45,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "accession": "0001402057-23-000052",
    "value_reported": 5.45,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2021,
    "period_end": "2021-12-31",
    "sec_frame": "CY2021",
    "value": 7.04,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "accession": "0001402057-24-000015",
    "value_reported": 7.04,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2022,
    "period_end": "2022-12-31",
    "sec_frame": "CY2022",
    "value": 8.13,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "accession": "0001402057-25-000018",
    "value_reported": 8.13,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2023,
    "period_end": "2023-12-31",
    "sec_frame": "CY2023",
    "value": 8.1,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011",
    "value_reported": 8.1,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2024,
    "period_end": "2024-12-31",
    "sec_frame": "CY2024",
    "value": 7.97,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011",
    "value_reported": 7.97,
    "split_factor": 1.0,
    "split_basis": null
   },
   {
    "fy": 2025,
    "period_end": "2025-12-31",
    "sec_frame": "CY2025",
    "value": 8.08,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011",
    "value_reported": 8.08,
    "split_factor": 1.0,
    "split_basis": null
   }
  ],
  "revenue_by_fy": [
   {
    "fy": 2013,
    "period_end": "2013-12-31",
    "sec_frame": "CY2013",
    "value": 10768600000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205714000002/",
    "accession": "0001402057-14-000002"
   },
   {
    "fy": 2014,
    "period_end": "2014-12-31",
    "sec_frame": "CY2014",
    "value": 12074500000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205717000120/",
    "accession": "0001402057-17-000120"
   },
   {
    "fy": 2015,
    "period_end": "2015-12-31",
    "sec_frame": "CY2015",
    "value": 12988700000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205718000038/",
    "accession": "0001402057-18-000038"
   },
   {
    "fy": 2016,
    "period_end": "2016-12-31",
    "sec_frame": "CY2016",
    "value": 13672700000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205719000046/",
    "accession": "0001402057-19-000046"
   },
   {
    "fy": 2017,
    "period_end": "2017-12-31",
    "sec_frame": "CY2017",
    "value": 14832900000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205720000042/",
    "accession": "0001402057-20-000042"
   },
   {
    "fy": 2018,
    "period_end": "2018-12-31",
    "sec_frame": "CY2018",
    "value": 16240500000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205721000022/",
    "accession": "0001402057-21-000022"
   },
   {
    "fy": 2019,
    "period_end": "2019-12-31",
    "sec_frame": "CY2019",
    "value": 18032400000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205722000020/",
    "accession": "0001402057-22-000020"
   },
   {
    "fy": 2020,
    "period_end": "2020-12-31",
    "sec_frame": "CY2020",
    "value": 18467500000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205723000052/",
    "accession": "0001402057-23-000052"
   },
   {
    "fy": 2021,
    "period_end": "2021-12-31",
    "sec_frame": "CY2021",
    "value": 20820800000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205724000015/",
    "accession": "0001402057-24-000015"
   },
   {
    "fy": 2022,
    "period_end": "2022-12-31",
    "sec_frame": "CY2022",
    "value": 23748700000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205725000018/",
    "accession": "0001402057-25-000018"
   },
   {
    "fy": 2023,
    "period_end": "2023-12-31",
    "sec_frame": "CY2023",
    "value": 21376000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011"
   },
   {
    "fy": 2024,
    "period_end": "2024-12-31",
    "sec_frame": "CY2024",
    "value": 20998700000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011"
   },
   {
    "fy": 2025,
    "period_end": "2025-12-31",
    "sec_frame": "CY2025",
    "value": 22424100000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000011/",
    "accession": "0001402057-26-000011"
   }
  ],
  "dividend_years": [
   2013,
   2014,
   2015,
   2016,
   2017,
   2018,
   2019,
   2020,
   2021,
   2022,
   2023,
   2024,
   2025,
   2026
  ]
 },
 "insider_activity": {
  "coverage_through": "2026-10-23",
  "window_start": "2026-07-28",
  "missing_days": 3,
  "recent_transactions": [
   {
    "txn_date": "2026-08-07",
    "insider_name": "CONNELLY ELIZABETH H.",
    "role": "officer",
    "code": "S",
    "shares": 26695.0,
    "price": 137.62,
    "value": 3673765.9,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000068/"
   },
   {
    "txn_date": "2026-05-27",
    "insider_name": "NELMS DAVID W",
    "role": "director",
    "code": "P",
    "shares": 18000.0,
    "price": 111.43,
    "value": 2005740.0000000002,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000040/"
   },
   {
    "txn_date": "2026-05-18",
    "insider_name": "LEAHY CHRISTINE A",
    "role": "officer",
    "code": "P",
    "shares": 4830.0,
    "price": 103.4,
    "value": 499422.0,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/1402057/000140205726000034/"
   }
  ]
 },
 "filings_and_news": {
  "sec_filing_index": "https://www.sec.gov/edgar/browse/?CIK=0001402057",
  "sec_8k": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001402057&type=8-K",
  "sec_form4": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001402057&type=4",
  "xbrl_companyfacts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001402057.json",
  "news_items": [],
  "note": "Press releases are filed as 8-K exhibits; the 8-K link lists them with dates."
 },
 "peer_context": {
  "graham": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "magic_formula": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "momentum": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "insider": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "buffett": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "lynch": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "graham_enterprising": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  },
  "piotroski": {
   "industry": "Retail-Catalog & Mail-Order Houses",
   "scored_peers": 2,
   "rank": null,
   "median": null
  }
 },
 "dossier": null,
 "external_views_link_only": {
  "morningstar": "https://www.morningstar.com/search?query=CDW",
  "finviz": "https://finviz.com/quote.ashx?t=CDW",
  "stockanalysis": "https://stockanalysis.com/stocks/cdw/",
  "seeking_alpha": "https://seekingalpha.com/symbol/CDW",
  "openinsider": "http://openinsider.com/search?q=CDW",
  "google_news": "https://news.google.com/rss/search?q=CDW+stock"
 },
 "limits": [
  "News is not collected for this ticker; use the SEC 8-K and press-release links below"
 ],
 "machine_readable": {
  "stock_json": "https://theclaudetrader.com/s/CDW.json",
  "stock_md": "https://theclaudetrader.com/s/CDW.md",
  "packet": "https://theclaudetrader.com/r/CDW.json",
  "grid": "https://theclaudetrader.com/grid.json",
  "openapi": "https://theclaudetrader.com/openapi.json",
  "index": "https://theclaudetrader.com/llms.txt"
 },
 "cite_as": "The Claude Trader snapshot 2026-10-26, https://theclaudetrader.com/s/CDW; data from SEC EDGAR XBRL and market prices (Alpaca Market Data, Yahoo Finance) to 2026-10-23.",
 "disclaimer": "Scores are deterministic rule outputs from public filings. fair_value_model is a labelled model estimate from the same filings (method at /fair-value), not an opinion or recommendation."
}