← Blog

When the Data Doesn't Exist: Modelling China Gas Demand by Sector

In my previous post, I called dashboards one of the lowest-hanging fruits for analysts using AI. Once the data exists, an AI agent can turn it into something useful remarkably quickly.

But what happens when you do not have the data you need?

It turns out that an AI Agent is capable of independently thinking of reasonable workarounds, and is mighty fast at it too.

Modelling China Gas Demand by Sector without Paid Subscriptions

On the demand side of Gas SnD models, a commonly used breakdown of demand drivers are:

  • Power
  • Industry (chemical)
  • Buildings (heating, city gas)
  • Transport
Side note

In a hedge fund/trading house/ other institutional setup, you would normally buy this data from a vendor (e.g. ICIS, Argus, Bloomberg, Refinitiv, Kpler, WoodMac) and build the model from there, rather than assembling it bottom-up. The analyst's job then becomes layering on the shop's own views, or comparing vendor models against your in-house model to see whether you differ from consensus, and why.

The challenge: JODI publishes China’s monthly gas balance, but it does not provide demand by sector. The IEA publishes annual sector data, but not the monthly history I wanted. I also did not have access to paid data.

With little expectations, I gave the AI agent this prompt:

Model monthly China gas demand by sector: power, industrial, residential and commercial heating, and transport. I have no paid subscriptions. Be creative and work with data you can find online, including Chinese sources.

24mins later, the first version of the dashboard was online.

You can explore it here: China Gas Apparent Sector Demand Model

The Agent’s Workaround

The agent could not find a public monthly sector-consumption dataset because there wasn’t one. Instead, it combined three different public sources:

  1. JODI provided the monthly total for China.
  2. The IEA China natural gas page provided the 2023 annual gas-consumption split.
  3. Carbon Monitor China provided daily provincial carbon emissions for power, industry, residential buildings and ground transport.

The most interesting part was that the AI agent figured out to use Carbon Monitor’s emissions data as an activity indicator, and then used that to scale sector demand based on fixed IEA 2023 annual gas consumption split. This was done without explicit prompting to piece together these 3 public data sources.

Basically:

The agent aggregated Carbon Monitor’s daily provincial data into national monthly totals. It then compared each sector with its trailing 12-month average.

An index of 1.00 means activity was close to normal. An index of 1.20 means it was about 20% above its recent average.

It then applied this index to the 2023 annual gas consumption split, and then normalised the splits back to 100% to ensure four sectors always scaled back to the monthly JODI total.

A Numerical Example

E.g. For March 2026, JODI reported apparent demand of 33.554 bcm.

The starting 2023 sector shares were:

  • Power and residual: 24.2%
  • Industry and chemicals: 46.0%
  • Buildings and city gas: 21.2%
  • Transport: 8.6%

The Carbon Monitor calculated indices were:

  • Power and residual: 0.999
  • Industry and chemicals: 1.026
  • Buildings and city gas: 1.390
  • Transport: 1.036

The calculated sector splits were then calculated as the starting 2023 sector shares scaled by the Carbon Monitor indices:

  • Power and residual: [24.2% x 0.999] / 1.0976 = 22%
  • Industry and chemicals: [46.0% x 1.026] / 1.0976 = 43%
  • Buildings and city gas: [21.2% x 1.390] / 1.0976 = 26.9%
  • Transport: [8.6% x 1.036] / 1.0976 = 8.1%

Where we divide by 1.0967 for purposes of normalising

1.0967 = 24.2% x 0.999 + 46.0% x 1.026 + 21.2% x 1.390 + 8.6% x 1.036

How AI found and processed data

Notably, in the AI agent’s quest for data, it hit a blocker from China NBS website’s firewall, which it was not able to pass. It also faced difficulty extracting data from the Carbon Monitor, where the first download address returned a 404, but the agent was able to inspect the website’s code, found the underlying dataset endpoint and downloaded a roughly 19 MB file containing daily provincial observations.

It then wrote the transformation script, created the charts and table, checked that all 87 historical months reconciled with JODI, tested the page on desktop and mobile, and published it.

The largest reconciliation difference was 0.001 bcm, caused by rounding.

Some Limitations

Hallucinations

Initially, the agent used an IEA electricity and CHP split that it said came from the IEA data browser. But when I asked for the exact public source, it could not produce a link showing those figures.

The agent then admitted that this part was weakly sourced and removed it.

Categories do not match perfectly perfect

For example, Carbon Monitor has a Residential category but no separate commercial-services proxy. Residential emissions therefore shape the entire buildings bucket.

Overall, it is a very rough workaround - but still very impressive for the speed!