Analysis

What a validated dataset lets you say: univariate distributions, cross-tabulations by period and sector, and a first multivariate model of leadership visits, on the full 946-article corpus, with the caveats its validation status imposes.

After Step 5 · Workshop 4:45–4:55
Input: dataset_ai_coded.xlsx, Coder 1, all 946 articles, relevant rows with confidence ≥ 2 (n = 1,333)

The analysis is ordinary. That is the point of the preceding five steps: a dataset extracted by a model, once validated, is analysed like any other, with the same descriptive tables, cross-tabulations and models, and the same obligation to say what the data cannot support. What is new is one extra paragraph in the methods section, reporting the codebook version and the reliability figures.

Section 1The analysis dataset

The analysis uses the full sample: Coder 1's 1,702 rows from all 946 articles in the corpus, not a pilot draw. It keeps relevant rows with coder confidence 2 or 3, which leaves 1,333 instances from 2012 to 2025. Years are grouped into three periods that the exploration in Step 2 suggested and that the article counts in Step 1 support: 2012–2017 (485 instances), 2018–2021 (153), and 2022–2025 (695). The middle period is the thinnest; results involving it are less precise.

The confidence filter is a choice to defend, not a default. It removes 243 low-confidence rows, mostly cases where both province and the event boundary were uncertain. An alternative is to keep every row and report results with and without the filter. For a real project, the filter should follow the validation results: keep the confidence levels at which the AI coding validated, send the others to human review.

Section 2Univariate

Where does state media attention to enterprises go? Heavy industry dominates: steel, machine-building, chemicals and cement together account for 62 percent of instances, and mining for a further 22 percent. Light industry is one row in ten and energy one in fifteen, despite the regional-development and power campaigns of recent years. Remember that these are the four sectors the researcher chose in Step 3; farms and fisheries were removed from the study, not found to be absent.

Figure A.1Instances by sector
Bar chart of instances by sector: heavy industry 823, mining 295, light industry 125, energy 90.
Figure A.2Instances by event type
Bar chart of instances by event type: production 622, leadership visit 469, political and ceremonial 125, construction and modernisation 117.
Table A.1Sector, event type, visiting official and province (n = 1,333)
sectorn%
heavy_industry82361.7
mining29522.1
light_industry1259.4
energy906.8
event_typen%
production62246.7
leadership_visit46935.2
political_ceremonial1259.4
construction_modernization1178.8
leader_visitn%
none82261.7
premier_cabinet49036.8
kim_jong_un211.6
provincen%
unknown53740.3
pyongan_s25118.8
hamgyong_s18914.2
hamgyong_n17313.0
pyongyang987.4
hwanghae_n262.0
kangwon181.4
nampo_rason161.2
chagang90.7
pyongan_n80.6
hwanghae_s50.4
ryanggang30.2
Production is the most common event and leadership visits a close second, but almost all visits are the Premier's or another official's: Kim Jong Un is present in 21 instances. Province is unknown for two rows in five. Among the known, South Pyongan leads (the Namhung chemical complex in Anju and the Sunchon cement works among others), followed by South Hamgyong (the Hamhung and Hungnam chemical complexes) and North Hamgyong (the Kim Chaek and Musan works).
Figure A.3Instances by year
Bar chart of instances per year, 2012 to 2025, peaking in 2016 and again, more sharply, in 2024.
Figure A.4Most frequently reported enterprises
Horizontal bar chart of the most frequently reported enterprises, led by Kim Chaek Iron and Steel at 79 and Hwanghae Iron and Steel at 78, then Hungnam Fertiliser at 72 and Chollima Steel at 70.
Table A.2Enterprises with five or more instances
enterpriserows
김책제철련합기업소79
황해제철련합기업소78
흥남비료련합기업소72
천리마제강련합기업소70
남흥청년화학련합기업소68
무산광산련합기업소63
상원세멘트련합기업소54
룡성기계련합기업소49
대안중기계련합기업소45
북창화력발전련합기업소43
순천세멘트련합기업소43
2.8비날론련합기업소37
Three steel works and the Hungnam fertiliser complex account for one instance in four; the twelve enterprises listed account for more than half. A study of "enterprises" in this corpus is, to a large degree, a study of a dozen flagship plants.

Section 3Bivariate

Has what is reported about enterprises changed? Cross-tabulating event type by period shows the shift: in 2012–2017 two instances in three were leadership visits; in 2022–2025 more than two in three are production results, and visits are one in sixteen. Cross-tabulating sector by visiting official shows that visits, when they happen, concentrate in heavy industry and energy; mining enterprises are mostly reported without a visitor.

Figure A.5Event type by period
Stacked bar chart of event type shares in three periods, showing leadership visits dominant in 2012 to 2017 and production and construction dominant in 2022 to 2025.
Figure A.6Visiting official by sector
Grouped bar chart of visiting official by sector.
Table A.3Event type by period, and visiting official by period (row percentages)
period \ eventconstruction_modernizationleadership_visitpolitical_ceremonialproductiontotal
2012-20172032734104485
2018-20211197342153
2022-2025864588476695
period \ leader_visit (%)kim_jong_unnonepremier_cabinet
2012-20173.130.566.4
2018-20211.330.168.6
2022-20250.690.49.1
Table A.4Sector by event type, and sector by visiting official (counts)
sector \ eventconstruction_modernizationleadership_visitpolitical_ceremonialproductiontotal
energy34254090
heavy_industry8833674325823
light_industry0382859125
mining265318198295
sector \ leader_visitkim_jong_unnonepremier_cabinettotal
energy0484290
heavy_industry21455347823
light_industry08738125
mining023263295
Two readings of the same table

The fall in reported visits after 2022 could mean that officials visit enterprises less, that the newspapers report visits less, or that the keyword corpus catches fewer visit articles because visit headlines now name the leader rather than the enterprise. A corpus built by keyword search can only speak to how enterprises are written about when they are the headline subject. Say so.

Section 4Multivariate

Does the period effect survive controlling for sector, given that the sectoral mix of reported enterprises has also shifted? A logistic regression of any official visit (leader_visit ≠ none) on sector and period, with heavy industry and 2012–2017 as reference categories, says it does.

Table A.5Logit: any official visit on sector and period
termcoefodds ratios.e.p
Intercept1.2843.6120.1270.0
C(sector)[T.energy]-0.4380.6450.2810.119
C(sector)[T.mining]-1.2370.290.1960.0
C(sector)[T.light_industry]-1.2590.2840.2490.0
C(period)[T.2018-2021]-0.0580.9430.2110.782
C(period)[T.2022-2025]-3.1960.0410.1710.0
n = 1,333. Pseudo-R² = 0.34. Coefficients, odds ratios, standard errors and p-values; reference categories heavy_industry and 2012–2017.

Holding sector constant, an instance in 2022–2025 has about one twenty-fifth the odds of involving a reported visit as an instance in 2012–2017 (OR 0.04, p < .001); 2018–2021 does not differ from 2012–2017 (OR 0.94, p = .78). Light-industry enterprises (OR 0.28, p < .001) and mines (OR 0.29, p < .001) are less likely to be visited than heavy-industry plants; energy is not distinguishable from heavy industry (OR 0.65, p = .12). The result is descriptive of reporting, not of policy, for the reason given above. It rests on 1,333 rows from the full corpus that three AI coders agree on but that a full human sample has not yet validated. It is a finding to validate, not yet one for a journal.

Section 5Reporting

A methods paragraph for a dataset built this way needs to state, in order: the source corpus and the keyword restriction with its counts (Step 1); the unit of analysis and the variables (Step 3); the codebook version used and where it is archived; the model and date of extraction and the number of articles coded (Step 4); the number of independent AI coders and their agreement, then the human sample size and the human–AI reliability statistics by variable, with the human–human figures as the comparison (Step 5); and any filter applied to the dataset before analysis (this page, Section 1). All of it exists already in the project folder; the run log, codebook README and validation report were written for exactly this paragraph.

  • analysis_tables.xlsxEvery table on this page as a sheet.10 KB · xlsx
  • analyze.pyProduces the tables and figures from dataset_ai_coded.xlsx. Arguments: --data, --min-confidence.python

From here the work is validation and extension. A human sample of 10 to 20 percent of this dataset, coded as in Step 5, turns the AI–AI consistency reported there into a validated dataset; the same codebook and prompts can then be run over a larger corpus, such as further newspapers or years. Freeze the codebook version, the prompts, the model name and the seeds before you do, and the result will be reproducible by the next person, human or otherwise.

Terminology

Analysis dataset
The subset of extracted rows that passes the filters stated in the methods (here: relevant, confidence ≥ 2).
Univariate / bivariate / multivariate
Descriptions of one variable's distribution; of the relation between two; and of one outcome's relation to several predictors at once.
Odds ratio
In a logistic regression, the multiplicative change in the odds of the outcome for a one-unit change in a predictor, relative to the reference category.
Run manifest
The record of corpus version, codebook version, prompts, model, seeds and dates that makes an extraction reproducible.