Skip to main content
Lesson 5 of 12 · OpenAI Reasoning: Reflection and Effort Levels, from ChatGPT to API

Automatically Analyze Multi-Source Data

Lesson 5 of 12 Updated November 5, 2026 Intermediate
On this page
  1. Turn Raw Data into Actionable Insights
  2. The Problem of Scattered Data
  3. Three Ways to Provide Your Sources
  4. Conduct the Analysis in Four Steps
  5. The Cross-Reference You Wouldn’t Have Asked For
  6. Your Turn
  7. Key Takeaways

Turn Raw Data into Actionable Insights

One of the greatest strengths of a model set to a high reasoning level is its ability to ingest data from different sources, cross-reference it, and draw coherent conclusions. This lesson shows you how to leverage this capability to automate your analyses, from how you provide the data to how you interpret the model’s output.

The Problem of Scattered Data

In business, data never lives in one place. Revenue figures sit in an Excel spreadsheet, market research in a PDF, customer feedback in an email thread, and web metrics in a CSV export. Manually reconciling all of this takes hours, and you have to redo the work every period.

A high-reasoning model processes these heterogeneous sources in a single conversation and produces an integrated synthesis. In ChatGPT, you attach spreadsheets, PDFs, documents, and images; calculations run through Data Analysis, which executes Python code. A photographed dashboard can serve as a source, with one caveat: OpenAI warns that exact values from a table in an image are not extracted reliably, so it is better to provide the original file when numbers matter.

Three Ways to Provide Your Sources

The first and most direct method is file upload. ChatGPT accepts multiple files in a single conversation—Excel workbooks and CSVs, PDF documents, images of charts or screenshots, and text files—and the model analyzes them simultaneously. You drop them in together and phrase your cross-referencing request in one sentence.

“Here is my Q1 sales file (Excel), the industry report (PDF), and Google Analytics metrics (CSV). Cross-reference these three sources and identify the top 5 trends with the supporting data.”

The second method, structured copy-paste, works for lighter datasets that you paste directly into the prompt. The key is to explicitly name each block; otherwise, the model has to guess what belongs to what.

“Source 1 — Sales by Region: [table] Source 2 — Customer Satisfaction by Region: [table] Source 3 — Marketing Budget by Region: [table] Analyze the correlation between marketing budget, sales, and satisfaction by region.”

The third method becomes necessary when documents are too large to provide as-is: you summarize them yourself and transmit only the key data. You lose the detail, but you keep what drives the analysis, as in the following example where the gap between market growth and internal growth is the real issue.

“I have three sources. The industry report indicates market growth of 12% in 2025. Our internal sales show +8%. Customer feedback mentions delivery times that are too long (NPS dropped from 42 to 35). Analyze the gap between market growth and our growth, incorporating customer feedback.”

If you automate analysis via the API, the Responses API lets you connect tools (code execution, search, file access) to a model set to high effort. With Programmatic Tool Calling, the model writes and executes JavaScript in an isolated V8 environment to call these tools, potentially in parallel. It then filters, groups, or aggregates intermediate results before returning a more compact outcome to the model. OpenAI recommends this approach when multiple results can be sorted or aggregated by code, and advises direct calling when each result requires fresh model judgment.

Cross-reference multiple sources Four steps: frame what you are looking for; provide original files with aligned periods and units; request a synthesis of findings, causes, and actions; dig into one point, then another. MULTI-SOURCE ANALYSIS Cross-reference multiple sources 1 Frame What you are looking for 2 Provide Original files, aligned 3 Synthesize Findings, causes, actions 4 Dig deeper One point, then another Calculations run through Data Analysis; a table in an image is not reliable down to the exact digit.
Based on the article "Data analysis with ChatGPT" from the OpenAI Help Center (November 2026).

Conduct the Analysis in Four Steps

It all starts with framing, and this step happens before you upload any files. Tell the model what you are looking for—“I am going to provide 3 files. I want a comparative analysis that identifies performance gaps between our regions, correlations with the marketing budget, and actionable recommendations.”—and it will know what to retain from each source instead of summarizing everything flatly.

Next, provide the data at a high reasoning level (High in Chat, high in the API) to ensure rigorous cross-referencing. Then, ask for a structured synthesis rather than a stream-of-consciousness text: “Produce a report in 3 parts: (1) Factual findings with figures, (2) Cause analysis, (3) Priority recommendations. Use tables where relevant.” Finally, iterate. The model retains the context of the entire conversation, allowing you to dig into a specific point—“Zoom in on the Île-de-France region. Why is NPS dropping while sales are rising?”—without reloading everything. The first analysis is rarely the best; useful insights emerge during the back-and-forth.

The Cross-Reference You Wouldn’t Have Asked For

The true power of high-level reasoning appears when you invite the model to combine dimensions you might not have considered, for example: “Is there a correlation between days with high web traffic and days with increased complaints? If so, propose an explanatory hypothesis.” The model then aligns the time series, calculates correlations, formulates causal hypotheses, and, crucially, explicitly distinguishes correlation from causation instead of jumping to conclusions. However, this safeguard remains partial: establishing causality is your domain expertise, not the model’s.

Your Turn

Three sources, one cross-reference. Prepare three sources from your own work, even simple ones. Attach an Excel file of sales or metrics, add a second file covering another dimension—budget, satisfaction, headcount—and request a cross-reference at a high reasoning level, with calculations performed by Data Analysis. If you have nothing on hand, ask the model to generate a realistic fictitious dataset for your industry first, then analyze it as if it were real.

Two pitfalls ruin most first attempts. The first is dumping ten files without direction: without framing, the model produces a generic summary. The second is more insidious: inconsistent data. Verify that periods, units, and categories align across your sources before launching anything; otherwise, you will get a perfectly reasoned analysis based on numbers that cannot be compared.

Official Sources: Data analysis with ChatGPT (OpenAI Help Center: files, Python, tables in images) · Programmatic Tool Calling (OpenAI API: programs that orchestrate tools, when to use) · Reasoning models (effort levels)

Key Takeaways

  • A high reasoning level cross-references spreadsheets, PDFs, CSVs, and images; calculations run through Data Analysis
  • Frame your analysis before providing data, and enable high reasoning for cross-referencing
  • Via the Responses API, Programmatic Tool Calling lets an isolated JavaScript program orchestrate tools and filter intermediate results
  • Request structured syntheses (findings, analysis, recommendations) and iterate on interesting points
  • Always distinguish between correlation and causation in the results