Influence IQ: contextual and behavioral advertising

Source: Eurostat isoc_cismt, 2024 survey, retrieved 17 October 2026.
Dataset: https://doi.org/10.2908/ISOC_CISMT
Source percentages: PC_ENT_ADS, enterprises using internet advertising.
Population: selected NACE Rev. 2 C-J, L-N and 95.1 industries; enterprises
with 10 or more employees and self-employed persons. The model questionnaire
asks about the current situation in 2024, not 2023 advertising spending.

Reproduce with Python 3, standard library only, without an account:
  python3 verify.py
  python3 analyze.py
  python3 bounds.py
  python3 consistency.py
  python3 export.py
These commands verify the frozen inputs, regenerate cells.csv, overlap-bounds.csv
and results.json, check denominator consistency, and regenerate results.csv.
The final export retains all 112
country/size rows, including missing estimates; each numeric input and bound
can be matched to those regenerated files. Blank values are unavailable, not zero.

C = contextual (content or current search keywords); B = behavioral (past
activity or profile); G = geolocation; U = any of C, B or G. All four refer to
the same country, year and business size, and share the
native advertiser denominator. The manual defines U with OR, not addition:
  max(0,C+B-U) <= overlap(C,B) <= min(C,B,C+B+G-U).
Divide by B and multiply by 100 for the percentage among behavioral advertisers.
bounds.py independently enumerates feasible joint-distribution vertices using
exact rational arithmetic. For rounding sensitivity, inputs may vary by 0.005
percentage points. The adverse lower conditional endpoint is
  100*max(0,1+((C-0.005)-(U+0.005))/(B-0.005)).
The article's minimum column rounds that endpoint down to one decimal.
These are bounds on published estimates, not observed exact joint shares or
confidence intervals. Sampling errors/covariance are not supplied here.

Eighteen EU countries have complete main method estimates. Austria, Belgium,
Denmark, Estonia, France, Croatia, Italy, Luxembourg and Sweden do not.
Portugal's medium-size contextual and union cells are unavailable with flag u
(low reliability); their missing values remain blank. Native EU aggregates
include estimates unavailable publicly at national level under Eurostat's
aggregation rules. Do not reconstruct the EU aggregate from visible countries.
Do not divide EU all-enterprise method percentages by headline advertising
participation: coverage differs. consistency.py demonstrates this mismatch.

The study measures enterprise adoption, not campaign combinations, ad spend,
effectiveness, privacy compliance or causal effects. Every observed conditional
interval extends to 100%, so lower endpoints do not rank actual country overlap.
Fictional retailer and budget examples in the article are not survey findings.

Method and reference-period authority: European businesses statistics compilers'
manual for ICT usage and e-commerce in enterprises, 2024 survey edition,
model-questionnaire reference-period note and questions A8-A9; transmission
definitions for E_ADS_KW, E_ADS_TRK, E_ADS_LOC and E_ADS3. sources.json gives exact URLs.
The three all-year extracts establish the latest populated wave in this snapshot;
future data may differ. Source URLs, dates and hashes are in source-manifest.json.

Eurostat permits reuse with attribution. Calculations, interpretation and
translations are by Influence IQ. Eurostat is not responsible for these
adaptations. This package contains public aggregate data, not respondent data.
https://ec.europa.eu/eurostat/en/help/copyright-notice
