Content Quality Data Pipeline
15,000-query empirical research pipeline measuring which content quality signals predict ChatGPT citation. Six idempotent pipeline steps collect ChatGPT responses through the real consumer interface, join against Google SERP data for original and fan-out queries, extract 24 content quality signals per page, and run multi-method statistical analysis.
IG-Prediction is a 15,000-query empirical research pipeline that measures which content quality signals predict whether a page will be cited in GPT-5.1 responses. It separates the Google retrieval decision, the ChatGPT retrieval decision, and the ChatGPT citation decision so each can be analyzed independently rather than collapsed into a single ranking-factors-style answer.
The gap it closes
Public AI-search studies tend to answer “what predicts citation” by sending queries through developer-facing endpoints and comparing cited URLs against the original-query SERP. That setup conflates three separate decisions (Google ranking, ChatGPT retrieval, ChatGPT citation) into one and misses the fan-out sub-queries ChatGPT generates internally before retrieving anything.
The pipeline closes that gap by:
- Querying the surface end users actually see, not the developer endpoints that route through a different retrieval pipeline.
- Capturing fan-out sub-queries and pulling SERPs for each one alongside the original query.
- Storing the full pool of seen-but-not-cited pages as the controlled comparison set for the citation analysis.
Pipeline architecture
Six idempotent and resumable steps with a relational schema designed for cross-decision joinability. The schema tracks three decision layers separately. The citation chain runs queries → responses → citations. The retrieval chain runs responses → search_calls → search_results and stores the seen-but-not-cited pool. The Google SERP layer runs queries → serp_queries → serp_results. On-page features and domain authority sit in their own tables. A unified analysis view joins all layers on a normalized URL key (lowercase, no www, no fragment, no tracking params) and emits one row per retrieved URL per response, labeled cited or not.
Statistical methodology
Two populations, never mixed
Population 1 is every URL in Google’s top-20 for any original or fan-out query, regardless of whether ChatGPT retrieved it, used for SERP-rank vs. citation analyses. Population 2 is only pages ChatGPT actually retrieved (cited or not), used for all on-page signal analyses, logistic regression, random forest, and bucket stratification. Findings always identify which population the analysis ran on.
Multi-method triangulation
Every finding is checked against multiple analyses before it ships. Logistic regression for coefficients and AUC. Random forest for feature importance. VIF for multicollinearity. Cohen’s d for effect sizes. Mann-Whitney U for non-parametric group comparisons. Pearson, Spearman, and point-biserial correlations. Bootstrap by query type for confidence intervals. DA and backlink bucket stratification at 20-percentile cut points. A rank-controlled six-model decomposition (rank only, authority only, content only, rank+authority, content+authority, all combined) isolates the marginal contribution of each layer. DA × rank tier cross-stratification surfaces interaction effects.
Information-gain proxy
Content novelty is measured as the cosine distance between a candidate page’s embedding and the median embedding of the top-10 SERP results, inspired by Google’s “Contextual estimation of link information gain” patent. Multiple embedding backends and baseline aggregation methods are supported so the signal is robust to the choice of either.
What shipped
Full 15,000-query dataset processed end-to-end. The pipeline produced the data behind two published research reports: Inside ChatGPT’s Search-to-Citation Funnel and Surviving the Citation Gate: What ChatGPT Cites When Buyers Are Asking.