{
 "schema": "theclaudetrader.research_packet.v1",
 "generated_at": "2026-10-31T18:13:01+00:00",
 "snapshot_date": "2026-10-31",
 "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": "PPG",
  "name": "PPG Industries Inc",
  "legal_name": "PPG INDUSTRIES INC",
  "cik": "0000079879",
  "exchange": "NYSE",
  "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
  "sic": "2851",
  "fiscal_year_end": "1231",
  "is_financial": false,
  "is_utility": false
 },
 "price": {
  "value": 119.52,
  "as_of": "2026-10-30",
  "source": "Alpaca Market Data (consolidated SIP daily bar)",
  "url": "https://docs.alpaca.markets/docs/historical-stock-data-1"
 },
 "market_cap": {
  "value": 26401968000.0,
  "as_of": "2026-10-30",
  "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": 119.52,
    "as_of": "2026-10-30",
    "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": 220900000.0,
    "unit": "underlying shares",
    "concept": "SEC cover page 10-Q 0000079879-26-000318 (220,900,000 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/ppg-20260930.htm",
    "period_end": "2026-09-30",
    "accession": "0000079879-26-000318",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/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-09-30",
   "share_count_age_days_at_price_date": 30,
   "warning": null,
   "computed": "119.52 (price 2026-10-30) / 1 x 220,900,000 (shares at 2026-09-30) = 26,401,968,000"
  }
 },
 "scores": {
  "graham": {
   "score": 51.7,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Graham Defensive: 52 of 100 (ok). Adequate size: 15.88 revenue $B \u2192 5.0/5; Current ratio: 1.58 \u2192 8.7/15; Long-term debt vs working capital: 2.04 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: 20 of 20 \u2192 15.0/15; EPS growth, 3-yr avg now vs 10 yrs ago: 5.31 -> 5.68 (+7%) \u2192 2.1/10; P/E on 3-year average EPS: 21.0 \u2192 5.9/15; P/B <= 1.5, or P/E x P/B <= 22.5: P/B 3.11, product 65.5 \u2192 0.0/10",
   "data_as_of": "2025-12-31",
   "history": [
    "2013",
    "2025"
   ],
   "price_as_of": "2026-10-30",
   "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": 15.88,
     "unit": "revenue $B",
     "threshold": ">= 1",
     "points": 5.0,
     "max": 5
    },
    {
     "test": "2a",
     "name": "Current ratio",
     "value": 1.58,
     "threshold": ">= 2.0",
     "points": 8.7,
     "max": 15
    },
    {
     "test": "2b",
     "name": "Long-term debt vs working capital",
     "value": 2.04,
     "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": "20 of 20",
     "threshold": "20 of 20",
     "points": 15.0,
     "max": 15,
     "missing_years": [],
     "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": "5.31 -> 5.68 (+7%)",
     "threshold": ">= +33%",
     "points": 2.1,
     "max": 10
    },
    {
     "test": "6",
     "name": "P/E on 3-year average EPS",
     "value": 21.0,
     "threshold": "<= 15",
     "points": 5.9,
     "max": 15,
     "note": null
    },
    {
     "test": "7",
     "name": "P/B <= 1.5, or P/E x P/B <= 22.5",
     "value": "P/B 3.11, product 65.5",
     "threshold": "<= 1.5 or <= 22.5",
     "points": 0.0,
     "max": 10
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/graham"
  },
  "magic_formula": {
   "score": null,
   "status": "insufficient data (latest annual operating income is CY2023)",
   "summary": "Not scored: insufficient data (latest annual operating income is CY2023).",
   "warnings": [],
   "components": []
  },
  "momentum": {
   "score": 64.6,
   "status": "ok",
   "complete": true,
   "passes_all": null,
   "summary": "Momentum: 65 of 100 (ok). 12-1 month return: 9.9 % \u2192 27.5/50; 6 month return: 11.6 % \u2192 12.9/20; Price / 52-week high: 0.925 \u2192 13.9/15; Volatility penalty (60d annualised): 23.2 % \u2192 10.4/15",
   "data_as_of": "2026-10-30",
   "history": [
    null,
    null
   ],
   "price_as_of": "2026-10-30",
   "coverage": null,
   "verification": null,
   "warnings": [],
   "components": [
    {
     "name": "12-1 month return",
     "value": 9.9,
     "unit": "%",
     "percentile": 54.9,
     "points": 27.5,
     "max": 50
    },
    {
     "name": "6 month return",
     "value": 11.6,
     "unit": "%",
     "percentile": 64.4,
     "points": 12.9,
     "max": 20
    },
    {
     "name": "Price / 52-week high",
     "value": 0.925,
     "points": 13.9,
     "max": 15
    },
    {
     "name": "Volatility penalty (60d annualised)",
     "value": 23.2,
     "unit": "%",
     "points": 10.4,
     "max": 15
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/momentum"
  },
  "insider": {
   "score": 25.2,
   "status": "ok",
   "complete": true,
   "passes_all": null,
   "summary": "Insider: 25 of 100 (ok). Open-market buy value / market cap (percentile among buyers): 0.0 bp \u2192 1.8/35; Distinct buyers: 1 \u2192 6.2/25; Buyer seniority: 0.7 \u2192 14.0/20; Recency (half-life 30d): 0.31 \u2192 3.1/10; Sales penalty (excludes 10b5-1 plan sales): 0.0 bp \u2192 -0.0/0",
   "data_as_of": "2026-10-30",
   "history": [
    null,
    null
   ],
   "price_as_of": null,
   "coverage": {
    "window_start": "2026-08-02",
    "through": "2026-10-30",
    "missing_days": 1,
    "note": "Form 4 data loaded through 2026-10-30"
   },
   "verification": null,
   "warnings": [],
   "components": [
    {
     "name": "Open-market buy value / market cap (percentile among buyers)",
     "value": 0.0,
     "unit": "bp",
     "points": 1.8,
     "max": 35
    },
    {
     "name": "Distinct buyers",
     "value": 1,
     "points": 6.2,
     "max": 25
    },
    {
     "name": "Buyer seniority",
     "value": 0.7,
     "points": 14.0,
     "max": 20
    },
    {
     "name": "Recency (half-life 30d)",
     "value": 0.31,
     "points": 3.1,
     "max": 10
    },
    {
     "name": "Sales penalty (excludes 10b5-1 plan sales)",
     "value": 0.0,
     "unit": "bp",
     "points": -0.0,
     "max": 0
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/insider"
  },
  "buffett": {
   "score": 64.6,
   "status": "partial: 5",
   "complete": false,
   "passes_all": false,
   "summary": "Buffett Quality: 65 of 100 (partial: 5). Average return on equity (net income / year-end equity): 20.3% 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: +0.6% a year \u2192 0.6/10; Borrowings / 3-yr average earnings (years to repay): 5.2 years \u2192 10.6/15; Operating margin, 5-yr average: insufficient (needs at least 4 of the last 5 years); Free cash flow / net income, 5-yr (operating cash flow minus capex): 0.84 \u2192 6.9/10; Owner-earnings yield (3-yr avg free cash flow / market cap): 4.7% \u2192 6.5/15",
   "data_as_of": "2026-09-30",
   "history": [
    "2016",
    "2025"
   ],
   "price_as_of": "2026-10-30",
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 38,
    "not_cross_checked": 2
   },
   "warnings": [
    "partial score: tests 5 could not be computed; not comparable with complete scores"
   ],
   "components": [
    {
     "test": "1",
     "name": "Average return on equity (net income / year-end equity)",
     "value": "20.3% 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": "+0.6% a year",
     "threshold": ">= +10%",
     "points": 0.6,
     "max": 10
    },
    {
     "test": "4",
     "name": "Borrowings / 3-yr average earnings (years to repay)",
     "value": 5.2,
     "threshold": "<= 4",
     "points": 10.6,
     "max": 15,
     "unit": "years",
     "note": "LongTermDebt (incl. current maturities) + short-term borrowings"
    },
    {
     "test": "5",
     "name": "Operating margin, 5-yr average",
     "value": "3 years with operating income and revenue",
     "threshold": ">= 20%",
     "points": null,
     "max": 10,
     "note": "needs at least 4 of the last 5 years"
    },
    {
     "test": "6",
     "name": "Free cash flow / net income, 5-yr (operating cash flow minus capex)",
     "value": "0.84",
     "threshold": ">= 1.0",
     "points": 6.9,
     "max": 10
    },
    {
     "test": "7",
     "name": "Owner-earnings yield (3-yr avg free cash flow / market cap)",
     "value": "4.7%",
     "threshold": ">= 7%",
     "points": 6.5,
     "max": 15
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/buffett"
  },
  "lynch": {
   "score": 50.8,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Lynch GARP: 51 of 100 (ok). PEG: P/E divided by 5-yr EPS growth (in % points): 1.85 \u2192 4.4/30; EPS growth, 5-yr compound rate: +9.3% a year \u2192 15.5/20; P/E on latest annual EPS: 17.2 \u2192 10.0/10; Borrowings / equity: 0.81 \u2192 10.4/15; Years of the last 5 in which EPS rose: 3 of 5 \u2192 9.0/15; Net cash (cash minus borrowings) / market cap: -19.9% \u2192 1.5/10",
   "data_as_of": "2026-09-30",
   "history": [
    "2020",
    "2025"
   ],
   "price_as_of": "2026-10-30",
   "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": 1.85,
     "threshold": "<= 1.0",
     "points": 4.4,
     "max": 30
    },
    {
     "test": "2",
     "name": "EPS growth, 5-yr compound rate",
     "value": "+9.3% a year",
     "threshold": "12% to 35% a year",
     "points": 15.5,
     "max": 20
    },
    {
     "test": "3",
     "name": "P/E on latest annual EPS",
     "value": 17.2,
     "threshold": "<= 25",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "4",
     "name": "Borrowings / equity",
     "value": 0.81,
     "threshold": "<= 0.5",
     "points": 10.4,
     "max": 15,
     "note": "LongTermDebt (incl. current maturities) + short-term borrowings"
    },
    {
     "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": "-19.9%",
     "threshold": ">= +10%",
     "points": 1.5,
     "max": 10
    }
   ],
   "rules_url": "https://theclaudetrader.com/p/lynch"
  },
  "graham_enterprising": {
   "score": 50.0,
   "status": "ok",
   "complete": true,
   "passes_all": false,
   "summary": "Graham Enterprising: 50 of 100 (ok). Current ratio: 1.58 \u2192 15.0/15; Borrowings vs working capital: 2.26 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: 4.45 -> 6.94 \u2192 10.0/10; Price / book value per share: 3.11 \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-09-30",
   "history": [
    "2020",
    "2025"
   ],
   "price_as_of": "2026-10-30",
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 12,
    "not_cross_checked": 3
   },
   "warnings": [],
   "components": [
    {
     "test": "1",
     "name": "Current ratio",
     "value": 1.58,
     "threshold": ">= 1.5",
     "points": 15.0,
     "max": 15
    },
    {
     "test": "2",
     "name": "Borrowings vs working capital",
     "value": 2.26,
     "threshold": "<= 1.1x",
     "points": 0.0,
     "max": 15,
     "unit": "x",
     "note": "LongTermDebt (incl. current maturities) + short-term borrowings"
    },
    {
     "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": "4.45 -> 6.94",
     "threshold": "higher",
     "points": 10.0,
     "max": 10
    },
    {
     "test": "6",
     "name": "Price / book value per share",
     "value": 3.11,
     "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": 66.7,
   "status": "partial: 8",
   "complete": false,
   "passes_all": false,
   "summary": "Piotroski F-Score: 67 of 100 (partial: 8). Return on assets is positive: 7.1% \u2192 11.11111111111111/11.11111111111111; Operating cash flow is positive: 1,941M \u2192 11.11111111111111/11.11111111111111; Return on assets improved on the prior year: 5.7% -> 7.1% \u2192 11.11111111111111/11.11111111111111; Operating cash flow exceeds net income (accruals): 1,941M vs 1,576M \u2192 11.11111111111111/11.11111111111111; Long-term debt / assets fell: 25.1% -> 29.9% \u2192 0.0/11.11111111111111; Current ratio improved: 1.31 -> 1.62 \u2192 11.11111111111111/11.11111111111111; No new shares issued (share count did not rise): 224M -> 221M \u2192 11.11111111111111/11.11111111111111; Operating margin improved (stand-in for gross margin, which the dataset does not carry): insufficient (an input is not reported for one of the two years); Asset turnover (revenue / assets) improved: 0.82 -> 0.72 \u2192 0.0/11.11111111111111",
   "data_as_of": null,
   "history": [
    "2024",
    "2026"
   ],
   "price_as_of": null,
   "coverage": null,
   "verification": {
    "verified": 0,
    "mismatch": 0,
    "unverified": 23,
    "not_cross_checked": 0
   },
   "warnings": [
    "partial score: tests 8 could not be computed; not comparable with complete scores"
   ],
   "components": [
    {
     "test": "1",
     "name": "Return on assets is positive",
     "value": "7.1%",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "2",
     "name": "Operating cash flow is positive",
     "value": "1,941M",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "3",
     "name": "Return on assets improved on the prior year",
     "value": "5.7% -> 7.1%",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "4",
     "name": "Operating cash flow exceeds net income (accruals)",
     "value": "1,941M vs 1,576M",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "5",
     "name": "Long-term debt / assets fell",
     "value": "25.1% -> 29.9%",
     "threshold": "pass = 1",
     "points": 0.0,
     "max": 11.11111111111111
    },
    {
     "test": "6",
     "name": "Current ratio improved",
     "value": "1.31 -> 1.62",
     "threshold": "pass = 1",
     "points": 11.11111111111111,
     "max": 11.11111111111111
    },
    {
     "test": "7",
     "name": "No new shares issued (share count did not rise)",
     "value": "224M -> 221M",
     "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": null,
     "threshold": "pass = 1",
     "points": null,
     "max": 11.11111111111111,
     "note": "an input is not reported for one of the two years"
    },
    {
     "test": "9",
     "name": "Asset turnover (revenue / assets) improved",
     "value": "0.82 -> 0.72",
     "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": 119.52,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-30",
    "age_days": 1,
    "stale": false
   },
   {
    "name": "Revenue",
    "value": 15875000000.0,
    "kind": "current",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25857890,
    "verified": "unverified",
    "age_days": 304,
    "stale": true
   },
   {
    "name": "current_assets",
    "value": 8242000000.0,
    "kind": "current",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25907393,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "current_liabilities",
    "value": 5221000000.0,
    "kind": "current",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25934610,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "lt_debt",
    "value": 6155000000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25986194,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "equity",
    "value": 8486000000.0,
    "kind": "current",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26068947,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "Net income FY2016",
    "value": 873000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "period": "2016-12-31",
    "accession": "0000079879-19-000008",
    "fact_id": 20686306,
    "verified": "unverified",
    "age_days": 3591
   },
   {
    "name": "Net income FY2017",
    "value": 1594000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987920000008/",
    "period": "2017-12-31",
    "accession": "0000079879-20-000008",
    "fact_id": 20693069,
    "verified": "unverified",
    "age_days": 3226
   },
   {
    "name": "Net income FY2018",
    "value": 1341000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "period": "2018-12-31",
    "accession": "0000079879-21-000008",
    "fact_id": 20699623,
    "verified": "unverified",
    "age_days": 2861
   },
   {
    "name": "Net income FY2019",
    "value": 1243000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "period": "2019-12-31",
    "accession": "0000079879-22-000009",
    "fact_id": 20706053,
    "verified": "unverified",
    "age_days": 2496
   },
   {
    "name": "Net income FY2020",
    "value": 1059000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2020-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 20712555,
    "verified": "unverified",
    "age_days": 2130
   },
   {
    "name": "Net income FY2021",
    "value": 1439000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 20719237,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Net income FY2022",
    "value": 1026000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 20726411,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Net income FY2023",
    "value": 1270000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20733459,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Net income FY2024",
    "value": 1116000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20740068,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Net income FY2025",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "Dividend years (Yahoo)",
    "value": [
     2002,
     2003,
     2004,
     2005,
     2006,
     2007,
     2008,
     2009,
     2010,
     2011,
     2012,
     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/PPG/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": 1.21,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987916000065/",
    "period": "2013-12-31",
    "accession": "0000079879-16-000065",
    "fact_id": 20887207,
    "verified": "verified",
    "age_days": 4687
   },
   {
    "name": "Dividends per share FY2014 (XBRL)",
    "value": 1.31,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987917000009/",
    "period": "2014-12-31",
    "accession": "0000079879-17-000009",
    "fact_id": 20889098,
    "verified": "verified",
    "age_days": 4322
   },
   {
    "name": "Dividends per share FY2015 (XBRL)",
    "value": 1.41,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987918000039/",
    "period": "2015-12-31",
    "accession": "0000079879-18-000039",
    "fact_id": 20890924,
    "verified": "verified",
    "age_days": 3957
   },
   {
    "name": "Dividends per share FY2016 (XBRL)",
    "value": 1.56,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "period": "2016-12-31",
    "accession": "0000079879-19-000008",
    "fact_id": 20892750,
    "verified": "verified",
    "age_days": 3591
   },
   {
    "name": "Dividends per share FY2017 (XBRL)",
    "value": 0.4,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareDeclared",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987918000040/",
    "period": "2017-12-31",
    "accession": "0000079879-18-000040",
    "fact_id": 20893303,
    "verified": "verified",
    "age_days": 3226
   },
   {
    "name": "Dividends per share FY2018 (XBRL)",
    "value": 1.86,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "period": "2018-12-31",
    "accession": "0000079879-21-000008",
    "fact_id": 20896260,
    "verified": "verified",
    "age_days": 2861
   },
   {
    "name": "Dividends per share FY2019 (XBRL)",
    "value": 1.98,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "period": "2019-12-31",
    "accession": "0000079879-22-000009",
    "fact_id": 20897907,
    "verified": "verified",
    "age_days": 2496
   },
   {
    "name": "Dividends per share FY2020 (XBRL)",
    "value": 2.1,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2020-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 20899529,
    "verified": "verified",
    "age_days": 2130
   },
   {
    "name": "Dividends per share FY2021 (XBRL)",
    "value": 2.26,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 20901103,
    "verified": "verified",
    "age_days": 1765
   },
   {
    "name": "Dividends per share FY2022 (XBRL)",
    "value": 2.42,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 20902758,
    "verified": "verified",
    "age_days": 1400
   },
   {
    "name": "Dividends per share FY2023 (XBRL)",
    "value": 2.54,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20904423,
    "verified": "verified",
    "age_days": 1035
   },
   {
    "name": "Dividends per share FY2024 (XBRL)",
    "value": 2.66,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20906058,
    "verified": "verified",
    "age_days": 669
   },
   {
    "name": "Dividends per share FY2025 (XBRL)",
    "value": 2.78,
    "kind": "history",
    "source": "SEC XBRL CommonStockDividendsPerShareCashPaid",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25877885,
    "verified": "verified",
    "age_days": 304
   },
   {
    "name": "EPS diluted FY2014",
    "value": 7.52,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987917000009/",
    "period": "2014-12-31",
    "accession": "0000079879-17-000009",
    "fact_id": 20757230,
    "verified": "unverified",
    "age_days": 4322
   },
   {
    "name": "EPS diluted FY2015",
    "value": 5.14,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987918000039/",
    "period": "2015-12-31",
    "accession": "0000079879-18-000039",
    "fact_id": 20761659,
    "verified": "unverified",
    "age_days": 3957
   },
   {
    "name": "EPS diluted FY2016",
    "value": 3.27,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "period": "2016-12-31",
    "accession": "0000079879-19-000008",
    "fact_id": 20765844,
    "verified": "unverified",
    "age_days": 3591
   },
   {
    "name": "EPS diluted FY2023",
    "value": 5.35,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20798361,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "EPS diluted FY2024",
    "value": 4.75,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20804277,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "EPS diluted FY2025",
    "value": 6.94,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25866568,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "Shares outstanding",
    "value": 220900000.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0000079879-26-000318 (220,900,000 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/ppg-20260930.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/R1.htm",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26171055,
    "age_days": 31,
    "stale": false
   }
  ],
  "magic_formula": [],
  "momentum": [
   {
    "name": "Adjusted close series (14 months)",
    "value": 119.52,
    "kind": "price",
    "source": "Yahoo Finance / Alpaca Market Data daily history",
    "url": null,
    "period": "2026-10-30",
    "age_days": 1,
    "stale": false
   }
  ],
  "insider": [
   {
    "name": "Form 4 P Hefel Juliane M. 2026-09-11",
    "value": 358.0815,
    "shares": 3.35,
    "price": 106.89,
    "role": "officer",
    "period": "2026-09-11",
    "source": "SEC Form 4 (insider transactions data set)",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000290/"
   },
   {
    "name": "Form 4 P Hefel Juliane M. 2026-09-11",
    "value": 1050.9433999999999,
    "shares": 10.03,
    "price": 104.78,
    "role": "officer",
    "period": "2026-09-11",
    "source": "SEC Form 4 (insider transactions data set)",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000290/"
   }
  ],
  "buffett": [
   {
    "name": "Price (close, per traded unit)",
    "value": 119.52,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-30",
    "age_days": 1,
    "stale": false
   },
   {
    "name": "Net income FY2018",
    "value": 1341000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "period": "2018-12-31",
    "accession": "0000079879-21-000008",
    "fact_id": 20699623,
    "verified": "unverified",
    "age_days": 2861
   },
   {
    "name": "Equity at FY2018 end",
    "value": 4630000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987920000008/",
    "period": "2018-12-31",
    "accession": "0000079879-20-000008",
    "fact_id": 22760694,
    "verified": "unverified",
    "age_days": 2861
   },
   {
    "name": "Net income FY2019",
    "value": 1243000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "period": "2019-12-31",
    "accession": "0000079879-22-000009",
    "fact_id": 20706053,
    "verified": "unverified",
    "age_days": 2496
   },
   {
    "name": "Equity at FY2019 end",
    "value": 5284000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "period": "2019-12-31",
    "accession": "0000079879-21-000008",
    "fact_id": 22785781,
    "verified": "unverified",
    "age_days": 2496
   },
   {
    "name": "Net income FY2020",
    "value": 1059000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2020-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 20712555,
    "verified": "unverified",
    "age_days": 2130
   },
   {
    "name": "Equity at FY2020 end",
    "value": 5689000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "period": "2020-12-31",
    "accession": "0000079879-22-000009",
    "fact_id": 22810545,
    "verified": "unverified",
    "age_days": 2130
   },
   {
    "name": "Net income FY2021",
    "value": 1439000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 20719237,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Equity at FY2021 end",
    "value": 6286000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2021-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 22836557,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Net income FY2022",
    "value": 1026000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 20726411,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Equity at FY2022 end",
    "value": 6592000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2022-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 22864771,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Net income FY2023",
    "value": 1270000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20733459,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Equity at FY2023 end",
    "value": 7832000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2023-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 22892506,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Net income FY2024",
    "value": 1116000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20740068,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Equity at FY2024 end",
    "value": 6785000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 22918188,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Net income FY2025",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "Equity at FY2025 end",
    "value": 7941000000.0,
    "kind": "history",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 26045698,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "Net income FY2016",
    "value": 873000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "period": "2016-12-31",
    "accession": "0000079879-19-000008",
    "fact_id": 20686306,
    "verified": "unverified",
    "age_days": 3591
   },
   {
    "name": "Net income FY2017",
    "value": 1594000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987920000008/",
    "period": "2017-12-31",
    "accession": "0000079879-20-000008",
    "fact_id": 20693069,
    "verified": "unverified",
    "age_days": 3226
   },
   {
    "name": "Net income FY2018",
    "value": 1341000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "period": "2018-12-31",
    "accession": "0000079879-21-000008",
    "fact_id": 20699623,
    "verified": "unverified",
    "age_days": 2861
   },
   {
    "name": "Net income FY2019",
    "value": 1243000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "period": "2019-12-31",
    "accession": "0000079879-22-000009",
    "fact_id": 20706053,
    "verified": "unverified",
    "age_days": 2496
   },
   {
    "name": "Net income FY2020",
    "value": 1059000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2020-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 20712555,
    "verified": "unverified",
    "age_days": 2130
   },
   {
    "name": "Net income FY2021",
    "value": 1439000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 20719237,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Net income FY2022",
    "value": 1026000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 20726411,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Net income FY2023",
    "value": 1270000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20733459,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Net income FY2024",
    "value": 1116000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20740068,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Net income FY2025",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "debt_incl_current",
    "value": 6831000000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebt",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25997741,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "debt_short",
    "value": 4000000.0,
    "kind": "current",
    "source": "SEC XBRL ShortTermBorrowings",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26013099,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "Operating cash flow FY2021",
    "value": 1562000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 20956007,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Capital expenditure FY2021",
    "value": 371000000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 21024512,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Operating cash flow FY2022",
    "value": 963000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 20963056,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Capital expenditure FY2022",
    "value": 486000000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 21028979,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Operating cash flow FY2023",
    "value": 2411000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20970007,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Capital expenditure FY2023",
    "value": 516000000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21033383,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Operating cash flow FY2024",
    "value": 1420000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20976516,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Capital expenditure FY2024",
    "value": 721000000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21037574,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Operating cash flow FY2025",
    "value": 1941000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25878535,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "Capital expenditure FY2025",
    "value": 778000000.0,
    "kind": "history",
    "source": "SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25884487,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "Shares outstanding",
    "value": 220900000.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0000079879-26-000318 (220,900,000 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/ppg-20260930.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/R1.htm",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26171055,
    "age_days": 31,
    "stale": false
   }
  ],
  "lynch": [
   {
    "name": "Price (close, per traded unit)",
    "value": 119.52,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-30",
    "age_days": 1,
    "stale": false
   },
   {
    "name": "EPS diluted FY2025",
    "value": 6.94,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25866568,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "EPS diluted FY2020",
    "value": 4.45,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2020-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 20781568,
    "verified": "unverified",
    "age_days": 2130
   },
   {
    "name": "debt_incl_current",
    "value": 6831000000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebt",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25997741,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "debt_short",
    "value": 4000000.0,
    "kind": "current",
    "source": "SEC XBRL ShortTermBorrowings",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26013099,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "equity",
    "value": 8486000000.0,
    "kind": "current",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26068947,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "cash",
    "value": 1593000000.0,
    "kind": "current",
    "source": "SEC XBRL CashAndCashEquivalentsAtCarryingValue",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26103197,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   }
  ],
  "graham_enterprising": [
   {
    "name": "Price (close, per traded unit)",
    "value": 119.52,
    "kind": "price",
    "source": "Alpaca Market Data (consolidated SIP daily bar)",
    "url": "https://docs.alpaca.markets/docs/historical-stock-data-1",
    "period": "2026-10-30",
    "age_days": 1,
    "stale": false
   },
   {
    "name": "current_assets",
    "value": 8242000000.0,
    "kind": "current",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25907393,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "current_liabilities",
    "value": 5221000000.0,
    "kind": "current",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25934610,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "debt_incl_current",
    "value": 6831000000.0,
    "kind": "current",
    "source": "SEC XBRL LongTermDebt",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 25997741,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "debt_short",
    "value": 4000000.0,
    "kind": "current",
    "source": "SEC XBRL ShortTermBorrowings",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26013099,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "Net income FY2021",
    "value": 1439000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "period": "2021-12-31",
    "accession": "0000079879-24-000040",
    "fact_id": 20719237,
    "verified": "unverified",
    "age_days": 1765
   },
   {
    "name": "Net income FY2022",
    "value": 1026000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "period": "2022-12-31",
    "accession": "0000079879-25-000034",
    "fact_id": 20726411,
    "verified": "unverified",
    "age_days": 1400
   },
   {
    "name": "Net income FY2023",
    "value": 1270000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2023-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20733459,
    "verified": "unverified",
    "age_days": 1035
   },
   {
    "name": "Net income FY2024",
    "value": 1116000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20740068,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "Net income FY2025",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "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/PPG/history?filter=div",
    "period": null
   },
   {
    "name": "EPS diluted FY2025",
    "value": 6.94,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25866568,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "EPS diluted FY2020",
    "value": 4.45,
    "kind": "history",
    "source": "SEC XBRL EarningsPerShareDiluted",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "period": "2020-12-31",
    "accession": "0000079879-23-000007",
    "fact_id": 20781568,
    "verified": "unverified",
    "age_days": 2130
   },
   {
    "name": "equity",
    "value": 8486000000.0,
    "kind": "current",
    "source": "SEC XBRL StockholdersEquity",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26068947,
    "verified": "unverified",
    "age_days": 31,
    "stale": false
   },
   {
    "name": "Shares outstanding",
    "value": 220900000.0,
    "kind": "current",
    "source": "SEC cover page 10-Q 0000079879-26-000318 (220,900,000 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/ppg-20260930.htm",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/R1.htm",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26171055,
    "age_days": 31,
    "stale": false
   }
  ],
  "piotroski": [
   {
    "name": "net_income 2025-12-31",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 22098000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25943933,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "cfo 2025-12-31",
    "value": 1941000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25878535,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "net_income 2025-12-31",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "net_income 2024-12-31",
    "value": 1116000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20740068,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 22098000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25943933,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "total_assets 2024-12-31",
    "value": 19433000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21928158,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "cfo 2025-12-31",
    "value": 1941000000.0,
    "kind": "history",
    "source": "SEC XBRL NetCashProvidedByUsedInOperatingActivities",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25878535,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "net_income 2025-12-31",
    "value": 1576000000.0,
    "kind": "history",
    "source": "SEC XBRL NetIncomeLoss",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25860391,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "lt_debt 2025-12-31",
    "value": 6602000000.0,
    "kind": "history",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25978652,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "lt_debt 2024-12-31",
    "value": 4876000000.0,
    "kind": "history",
    "source": "SEC XBRL LongTermDebtNoncurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 22085103,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 22098000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25943933,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "total_assets 2024-12-31",
    "value": 19433000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21928158,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "current_assets 2025-12-31",
    "value": 7959000000.0,
    "kind": "history",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25889425,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "current_assets 2024-12-31",
    "value": 6557000000.0,
    "kind": "history",
    "source": "SEC XBRL AssetsCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21322590,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "current_liabilities 2025-12-31",
    "value": 4900000000.0,
    "kind": "history",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25916692,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "current_liabilities 2024-12-31",
    "value": 5014000000.0,
    "kind": "history",
    "source": "SEC XBRL LiabilitiesCurrent",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21595482,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "shares_out 2026-09-30",
    "value": 220900000.0,
    "kind": "history",
    "source": "SEC XBRL EntityCommonStockSharesOutstanding",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2026-09-30",
    "accession": "0000079879-26-000318",
    "fact_id": 26158168,
    "verified": "unverified",
    "age_days": 31
   },
   {
    "name": "shares_out 2025-09-30",
    "value": 224400000.0,
    "kind": "history",
    "source": "SEC XBRL EntityCommonStockSharesOutstanding",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000311/",
    "period": "2025-09-30",
    "accession": "0000079879-25-000311",
    "fact_id": 26143114,
    "verified": "unverified",
    "age_days": 396
   },
   {
    "name": "revenue 2025-12-31",
    "value": 15875000000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 25857890,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "revenue 2024-12-31",
    "value": 15845000000.0,
    "kind": "history",
    "source": "SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 20656871,
    "verified": "unverified",
    "age_days": 669
   },
   {
    "name": "total_assets 2025-12-31",
    "value": 22098000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000318/",
    "period": "2025-12-31",
    "accession": "0000079879-26-000318",
    "fact_id": 25943933,
    "verified": "unverified",
    "age_days": 304
   },
   {
    "name": "total_assets 2024-12-31",
    "value": 19433000000.0,
    "kind": "history",
    "source": "SEC XBRL Assets",
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "period": "2024-12-31",
    "accession": "0000079879-26-000046",
    "fact_id": 21928158,
    "verified": "unverified",
    "age_days": 669
   }
  ]
 },
 "earnings_record": {
  "net_income_by_fy": [
   {
    "fy": 2013,
    "period_end": "2013-12-31",
    "sec_frame": "CY2013",
    "value": 3231000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987916000065/",
    "accession": "0000079879-16-000065"
   },
   {
    "fy": 2014,
    "period_end": "2014-12-31",
    "sec_frame": "CY2014",
    "value": 2102000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987917000009/",
    "accession": "0000079879-17-000009"
   },
   {
    "fy": 2015,
    "period_end": "2015-12-31",
    "sec_frame": "CY2015",
    "value": 1406000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987918000039/",
    "accession": "0000079879-18-000039"
   },
   {
    "fy": 2016,
    "period_end": "2016-12-31",
    "sec_frame": "CY2016",
    "value": 873000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "accession": "0000079879-19-000008"
   },
   {
    "fy": 2017,
    "period_end": "2017-12-31",
    "sec_frame": "CY2017",
    "value": 1594000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987920000008/",
    "accession": "0000079879-20-000008"
   },
   {
    "fy": 2018,
    "period_end": "2018-12-31",
    "sec_frame": "CY2018",
    "value": 1341000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "accession": "0000079879-21-000008"
   },
   {
    "fy": 2019,
    "period_end": "2019-12-31",
    "sec_frame": "CY2019",
    "value": 1243000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "accession": "0000079879-22-000009"
   },
   {
    "fy": 2020,
    "period_end": "2020-12-31",
    "sec_frame": "CY2020",
    "value": 1059000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "accession": "0000079879-23-000007"
   },
   {
    "fy": 2021,
    "period_end": "2021-12-31",
    "sec_frame": "CY2021",
    "value": 1439000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "accession": "0000079879-24-000040"
   },
   {
    "fy": 2022,
    "period_end": "2022-12-31",
    "sec_frame": "CY2022",
    "value": 1026000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "accession": "0000079879-25-000034"
   },
   {
    "fy": 2023,
    "period_end": "2023-12-31",
    "sec_frame": "CY2023",
    "value": 1270000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046"
   },
   {
    "fy": 2024,
    "period_end": "2024-12-31",
    "sec_frame": "CY2024",
    "value": 1116000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046"
   },
   {
    "fy": 2025,
    "period_end": "2025-12-31",
    "sec_frame": "CY2025",
    "value": 1576000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046"
   }
  ],
  "eps_diluted_by_fy": [
   {
    "fy": 2013,
    "period_end": "2013-12-31",
    "sec_frame": "CY2013",
    "value": 11.13,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987916000065/",
    "accession": "0000079879-16-000065",
    "value_reported": 11.13,
    "split_factor": 1.0,
    "split_basis": "filed between 2016-01-31 and 2016-05-30"
   },
   {
    "fy": 2014,
    "period_end": "2014-12-31",
    "sec_frame": "CY2014",
    "value": 7.52,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987917000009/",
    "accession": "0000079879-17-000009",
    "value_reported": 7.52,
    "split_factor": 1.0,
    "split_basis": "filed between 2017-01-31 and 2017-05-31"
   },
   {
    "fy": 2015,
    "period_end": "2015-12-31",
    "sec_frame": "CY2015",
    "value": 5.14,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987918000039/",
    "accession": "0000079879-18-000039",
    "value_reported": 5.14,
    "split_factor": 1.0,
    "split_basis": "filed between 2018-01-31 and 2018-05-31"
   },
   {
    "fy": 2016,
    "period_end": "2016-12-31",
    "sec_frame": "CY2016",
    "value": 3.27,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "accession": "0000079879-19-000008",
    "value_reported": 3.27,
    "split_factor": 1.0,
    "split_basis": "filed between 2019-01-31 and 2019-05-31"
   },
   {
    "fy": 2017,
    "period_end": "2017-12-31",
    "sec_frame": "CY2017",
    "value": 6.18,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987920000008/",
    "accession": "0000079879-20-000008",
    "value_reported": 6.18,
    "split_factor": 1.0,
    "split_basis": "filed between 2020-01-31 and 2020-05-30"
   },
   {
    "fy": 2018,
    "period_end": "2018-12-31",
    "sec_frame": "CY2018",
    "value": 5.47,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "accession": "0000079879-21-000008",
    "value_reported": 5.47,
    "split_factor": 1.0,
    "split_basis": "filed between 2021-01-31 and 2021-05-31"
   },
   {
    "fy": 2019,
    "period_end": "2019-12-31",
    "sec_frame": "CY2019",
    "value": 5.22,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "accession": "0000079879-22-000009",
    "value_reported": 5.22,
    "split_factor": 1.0,
    "split_basis": "filed between 2022-01-31 and 2022-05-31"
   },
   {
    "fy": 2020,
    "period_end": "2020-12-31",
    "sec_frame": "CY2020",
    "value": 4.45,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "accession": "0000079879-23-000007",
    "value_reported": 4.45,
    "split_factor": 1.0,
    "split_basis": "filed 2023-02-16"
   },
   {
    "fy": 2021,
    "period_end": "2021-12-31",
    "sec_frame": "CY2021",
    "value": 6.01,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "accession": "0000079879-24-000040",
    "value_reported": 6.01,
    "split_factor": 1.0,
    "split_basis": "filed 2024-02-15"
   },
   {
    "fy": 2022,
    "period_end": "2022-12-31",
    "sec_frame": "CY2022",
    "value": 4.32,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "accession": "0000079879-25-000034",
    "value_reported": 4.32,
    "split_factor": 1.0,
    "split_basis": "filed 2025-02-20"
   },
   {
    "fy": 2023,
    "period_end": "2023-12-31",
    "sec_frame": "CY2023",
    "value": 5.35,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046",
    "value_reported": 5.35,
    "split_factor": 1.0,
    "split_basis": "filed 2026-02-19"
   },
   {
    "fy": 2024,
    "period_end": "2024-12-31",
    "sec_frame": "CY2024",
    "value": 4.75,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046",
    "value_reported": 4.75,
    "split_factor": 1.0,
    "split_basis": "filed 2026-02-19"
   },
   {
    "fy": 2025,
    "period_end": "2025-12-31",
    "sec_frame": "CY2025",
    "value": 6.94,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046",
    "value_reported": 6.94,
    "split_factor": 1.0,
    "split_basis": "filed 2026-02-19"
   }
  ],
  "revenue_by_fy": [
   {
    "fy": 2013,
    "period_end": "2013-12-31",
    "sec_frame": "CY2013",
    "value": 15108000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987914000010/",
    "accession": "0000079879-14-000010"
   },
   {
    "fy": 2014,
    "period_end": "2014-12-31",
    "sec_frame": "CY2014",
    "value": 14791000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987917000009/",
    "accession": "0000079879-17-000009"
   },
   {
    "fy": 2015,
    "period_end": "2015-12-31",
    "sec_frame": "CY2015",
    "value": 14241000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987918000039/",
    "accession": "0000079879-18-000039"
   },
   {
    "fy": 2016,
    "period_end": "2016-12-31",
    "sec_frame": "CY2016",
    "value": 14270000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987919000008/",
    "accession": "0000079879-19-000008"
   },
   {
    "fy": 2017,
    "period_end": "2017-12-31",
    "sec_frame": "CY2017",
    "value": 14748000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987920000008/",
    "accession": "0000079879-20-000008"
   },
   {
    "fy": 2018,
    "period_end": "2018-12-31",
    "sec_frame": "CY2018",
    "value": 15374000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987921000008/",
    "accession": "0000079879-21-000008"
   },
   {
    "fy": 2019,
    "period_end": "2019-12-31",
    "sec_frame": "CY2019",
    "value": 15146000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987922000009/",
    "accession": "0000079879-22-000009"
   },
   {
    "fy": 2020,
    "period_end": "2020-12-31",
    "sec_frame": "CY2020",
    "value": 13834000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987923000007/",
    "accession": "0000079879-23-000007"
   },
   {
    "fy": 2021,
    "period_end": "2021-12-31",
    "sec_frame": "CY2021",
    "value": 16802000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987924000040/",
    "accession": "0000079879-24-000040"
   },
   {
    "fy": 2022,
    "period_end": "2022-12-31",
    "sec_frame": "CY2022",
    "value": 15614000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987925000034/",
    "accession": "0000079879-25-000034"
   },
   {
    "fy": 2023,
    "period_end": "2023-12-31",
    "sec_frame": "CY2023",
    "value": 16242000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046"
   },
   {
    "fy": 2024,
    "period_end": "2024-12-31",
    "sec_frame": "CY2024",
    "value": 15845000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046"
   },
   {
    "fy": 2025,
    "period_end": "2025-12-31",
    "sec_frame": "CY2025",
    "value": 15875000000.0,
    "url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000046/",
    "accession": "0000079879-26-000046"
   }
  ],
  "dividend_years": [
   1983,
   1984,
   1985,
   1986,
   1987,
   1988,
   1989,
   1990,
   1991,
   1992,
   1993,
   1994,
   1995,
   1996,
   1997,
   1998,
   1999,
   2000,
   2001,
   2002,
   2003,
   2004,
   2005,
   2006,
   2007,
   2008,
   2009,
   2010,
   2011,
   2012,
   2013,
   2014,
   2015,
   2016,
   2017,
   2018,
   2019,
   2020,
   2021,
   2022,
   2023,
   2024,
   2025,
   2026
  ]
 },
 "insider_activity": {
  "coverage_through": "2026-10-30",
  "window_start": "2026-08-02",
  "missing_days": 1,
  "recent_transactions": [
   {
    "txn_date": "2026-09-11",
    "insider_name": "Hefel Juliane M.",
    "role": "officer",
    "code": "P",
    "shares": 3.35,
    "price": 106.89,
    "value": 358.0815,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000290/"
   },
   {
    "txn_date": "2026-09-11",
    "insider_name": "Hefel Juliane M.",
    "role": "officer",
    "code": "P",
    "shares": 10.03,
    "price": 104.78,
    "value": 1050.9433999999999,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000290/"
   },
   {
    "txn_date": "2026-06-12",
    "insider_name": "Hefel Juliane M.",
    "role": "officer",
    "code": "P",
    "shares": 8.73,
    "price": 114.84,
    "value": 1002.5532000000001,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000214/"
   },
   {
    "txn_date": "2026-06-12",
    "insider_name": "Hefel Juliane M.",
    "role": "officer",
    "code": "P",
    "shares": 2.81,
    "price": 121.45,
    "value": 341.2745,
    "is_10b5_1": 0,
    "source_url": "https://www.sec.gov/Archives/edgar/data/79879/000007987926000214/"
   }
  ]
 },
 "filings_and_news": {
  "sec_filing_index": "https://www.sec.gov/edgar/browse/?CIK=0000079879",
  "sec_8k": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000079879&type=8-K",
  "sec_form4": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000079879&type=4",
  "xbrl_companyfacts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000079879.json",
  "news_items": [],
  "note": "Press releases are filed as 8-K exhibits; the 8-K link lists them with dates."
 },
 "peer_context": {
  "graham": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 1,
   "rank": null,
   "median": null
  },
  "magic_formula": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 0,
   "rank": null,
   "median": null
  },
  "momentum": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 1,
   "rank": null,
   "median": null
  },
  "insider": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 1,
   "rank": null,
   "median": null
  },
  "buffett": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 0,
   "rank": null,
   "median": null
  },
  "lynch": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 1,
   "rank": null,
   "median": null
  },
  "graham_enterprising": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 1,
   "rank": null,
   "median": null
  },
  "piotroski": {
   "industry": "Paints, Varnishes, Lacquers, Enamels & Allied Prods",
   "scored_peers": 0,
   "rank": null,
   "median": null
  }
 },
 "dossier": null,
 "external_views_link_only": {
  "morningstar": "https://www.morningstar.com/search?query=PPG",
  "finviz": "https://finviz.com/quote.ashx?t=PPG",
  "stockanalysis": "https://stockanalysis.com/stocks/ppg/",
  "seeking_alpha": "https://seekingalpha.com/symbol/PPG",
  "openinsider": "http://openinsider.com/search?q=PPG",
  "google_news": "https://news.google.com/rss/search?q=PPG+stock"
 },
 "limits": [
  "Magic Formula: insufficient data (latest annual operating income is CY2023)",
  "Buffett Quality: partial, missing tests 5",
  "Piotroski F-Score: partial, missing tests 8",
  "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/PPG.json",
  "stock_md": "https://theclaudetrader.com/s/PPG.md",
  "packet": "https://theclaudetrader.com/r/PPG.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-31, https://theclaudetrader.com/s/PPG; data from SEC EDGAR XBRL and market prices (Alpaca Market Data, Yahoo Finance) to 2026-10-30.",
 "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."
}