AI Adoption Tracker Data as of Nov 1, 2026

Do developer-adoption signals lead revenue?

A research note on six public data-infrastructure companies: Snowflake, Datadog, MongoDB, Confluent, Elastic and Cloudflare.

SummaryQuestionDataMethodFindingsInterpretationLimitationsAll results

Summary.
  • HN hiring-post share: No detectable lead. 0 of 10 pooled lag × fixed-effect cells have p < 0.05; 0 of 8 leading cells (k ≥ 1) have a 95% CI entirely above zero. (no cell reaches p < 0.05; strongest cell: lag 1q, company FE, r = +0.11 [-0.05, +0.27], p = 0.180, lag-adjusted p = 0.899, n = 161 quarter-obs across 6 companies)
  • npm downloads: Weak / inconsistent evidence. 8 of 10 pooled lag × fixed-effect cells have p < 0.05; 7 of 8 leading cells (k ≥ 1) have a 95% CI entirely above zero. (some cells have p < 0.05 but none survive lag adjustment under both FE variants; strongest cell: lag 0q, company FE, r = +0.51 [+0.18, +0.74], p = 0.005, lag-adjusted p = 0.023, n = 142 quarter-obs across 5 companies)
  • PyPI downloads: not testable yet (not enough overlapping quarters yet).
  • npm vs baseline (post-hoc): Weak / inconsistent evidence. 7 of 10 pooled lag × fixed-effect cells have p < 0.05; 6 of 8 leading cells (k ≥ 1) have a 95% CI entirely above zero. (some cells have p < 0.05 but none survive lag adjustment under both FE variants; strongest cell: lag 0q, company FE, r = +0.42 [+0.11, +0.66], p = 0.011, lag-adjusted p = 0.056, n = 142 quarter-obs across 5 companies)
  • Company by company: 0 of 55 pre-registered tests have p < 0.05, against ≈2.8 expected from chance alone; 0 survive a false-discovery-rate correction.
  • What it means: the interpretation (section 4.5) →
  • PyPI downloads cannot be tested yet (only ~180 days of history), and every result rests on 6 companies with short, smooth series. Treat the verdicts as “what this data can detect”, not as proof either way.

1. Question

Analysts increasingly use alternative data such as package downloads and job postings to read product adoption ahead of reported numbers. If developers adopting a data-infrastructure product shows up first in what they install and what employers hire for, then growth in those signals should precede growth in reported revenue. This note tests that directly: does year-over-year growth in a company's developer-adoption signals correlate with its year-over-year revenue growth 0–4 quarters later?

2. Data

CompanyFY endsRevenue quarters# quarters# revenue YoY# HN YoY# npm YoYnpm proxy
Snowflake (SNOW)01-312019-10 → 2026-0728242424snowflake-sdk
Datadog (DDOG)12-312018-09 → 2026-0632282828dd-trace
MongoDB (MDB)01-312016-10 → 2026-0740363636mongodb
Confluent (CFLT)12-312020-06 → 2025-122319193@confluentinc/kafka-javascript
Elastic (ESTC)04-302017-10 → 2026-0736323226@elastic/elasticsearch
Cloudflare (NET)12-312018-09 → 2026-0632282828wrangler

Revenue: SEC XBRL company facts (10-K/10-Q). Q4 is derived as full-year minus nine-month YTD. Fiscal years ending in January (SNOW, MDB) and April (ESTC) are handled by aggregating every signal over each company's exact fiscal-quarter dates. HN share: share of monthly Who is hiring? job posts mentioning the product, excluding the company's own job posts and customer/investor lists. npm: the company's official client package (proxy rationale). PyPI history only began ~180 days before the first pull, so PyPI cannot be tested yet.

3. Method

  • Variables: log YoY growth (same fiscal quarter a year earlier) of revenue and of each signal.
  • Lags: corr(signalt−k, revenuet) for k = 0, 1, 2, 3, 4 quarters. All lags are reported; none is selected.
  • Uncertainty: YoY series are highly autocorrelated, so 30 quarters are worth far fewer independent observations. CIs and p-values use a Bartlett effective sample size (neff). A null simulation run before any data was pulled showed that a naive test flags up to 58% of unrelated persistent series as “significant”; the neff test keeps that near 5%.
  • Multiple testing: a Bonferroni p over the five lags (paying for “picking the best lag”) and Benjamini-Hochberg q-values across all company tests.
  • Pooled panel: the six companies stacked with company fixed effects, and with company + calendar-quarter fixed effects. The second version removes anything common to all six in a quarter (rates, the 2021 boom and 2022–23 cost-cutting, registry-wide download inflation).
  • Pre-registration: specifications, lags and verdict rules were committed to the repo before the first data pull (commit b02b808, 17 minutes before the first pull in cd5a0b6; both on 2026-11-04, so this guards against tuning to the results, not against prior familiarity with the data). Two signals were added after seeing the data and are labelled post-hoc: npm downloads relative to a basket of mature packages, added because every npm package's downloads inflated together in 2026. Post-hoc results are kept in a separate multiple-testing family.

4. Findings

4.1 Pooled across the six companies

Dots: correlation r at each lag; bars: 95% CI using the effective sample size. Blue: company fixed effects. Orange: company + calendar-quarter fixed effects. A real lead would show up as a positive r at k ≥ 1 that stays clear of zero in both versions.

SignalFixed effectslag 0lag 1lag 2lag 3lag 4Verdict
HN hiring-post sharecompany+0.09
[-0.07, +0.24]
+0.11
[-0.05, +0.27]
+0.09
[-0.07, +0.25]
+0.07
[-0.10, +0.24]
+0.07
[-0.11, +0.25]
null
HN hiring-post sharecompany + quarter+0.07
[-0.09, +0.23]
+0.08
[-0.09, +0.24]
+0.06
[-0.11, +0.23]
+0.02
[-0.15, +0.19]
-0.00
[-0.17, +0.17]
npm downloadscompany+0.51*
[+0.18, +0.74]
+0.51*
[+0.16, +0.75]
+0.51*
[+0.15, +0.76]
+0.49*
[+0.11, +0.74]
+0.49*
[+0.11, +0.75]
mixed/weak
npm downloadscompany + quarter+0.19
[-0.07, +0.42]
+0.24
[-0.02, +0.47]
+0.30*
[+0.04, +0.52]
+0.31*
[+0.05, +0.52]
+0.29*
[+0.04, +0.51]
npm vs baseline post-hoccompany+0.42*
[+0.11, +0.66]
+0.40*
[+0.07, +0.65]
+0.39*
[+0.04, +0.65]
+0.37*
[+0.00, +0.64]
+0.37
[-0.00, +0.65]
mixed/weak
npm vs baseline post-hoccompany + quarter+0.19
[-0.07, +0.42]
+0.24
[-0.02, +0.47]
+0.30*
[+0.04, +0.52]
+0.31*
[+0.06, +0.52]
+0.29*
[+0.04, +0.51]

4.2 Company by company

Signal

Cell = r between the signal's YoY growth k quarters earlier and revenue YoY growth. * marks unadjusted p < 0.05. With 5 lags × several signals × 6 companies, some * cells are expected by chance alone (2.8 expected among 55 pre-registered tests).

Survive the lag adjustment (Bonferroni over 5 lags, p < 0.05): none. Survive false-discovery-rate control (q < 0.10): 0 of 55. Positive correlations: 91% of all cells and 89% of leading cells (k ≥ 1); about 50% is expected if there is no relationship, but the cells are not independent (same company, adjacent lags), so this is descriptive only.

4.3 Robustness: acceleration instead of growth

Using the quarter-on-quarter change in YoY growth (acceleration) on both sides strips out slow shared trends. In the pooled panel, 0 of 20 cells have p < 0.05 and 0 survive the lag adjustment. Strongest cell: HN hiring-post share, lag 1, company FE, r = +0.13 [-0.03, +0.29], p = 0.120.

4.4 Look at the raw series

Log YoY growth by fiscal quarter (0.4 ≈ +49%). Seeing the series explains most of the results above: these are short, smooth, trending series, and a few early hyper-growth quarters can dominate a correlation.

4.5 Interpretation

Written 2026-11-04 on data through the week ending 2026-11-01 (SEC filings through 2026-09). The tables and charts above regenerate weekly; this paragraph is updated by hand when the picture changes.

HN hiring-post share: a clean null. Pooled correlations are small (between −0.01 and +0.11) at every lag, every 95% CI includes zero, and nothing survives the lag adjustment. Faster growth in how often job posts mention Snowflake, Datadog, MongoDB, Kafka, Elastic or Cloudflare did not precede faster revenue growth, at least not by enough to see in 19 to 36 quarters per company.

npm downloads: a real co-movement, and at most a weak hint of a lead. With company fixed effects the pooled correlation is about +0.5 at every lag, including lag 0, and flat across lags. A flat profile is the signature of a shared slow trend: young products start with hyper-growth in both their client library and their revenue, and both decelerate together. Once that trend is stripped out, what is left is small and not statistically detectable:

  • removing anything common to all companies in a quarter (company + quarter fixed effects) shrinks r to +0.19 at lag 0, but it rises with the lag, to +0.30 and +0.31 at lags 2 and 3, and lags 2 to 4 have p < 0.05 with 95% CIs above zero before any correction. That is the shape a lead would have, and at lags 2 and 3 the CIs clear zero in both fixed-effect versions. It does not survive the correction for trying five lags (best lag-adjusted p = 0.09), so it is a pattern to keep watching, not a finding;
  • switching to acceleration (change in YoY growth) on both sides removes slow trends, and all 30 pooled cells (including the post-hoc ones) then have p > 0.1;
  • company by company, r is high (median +0.66) and positive in 25 of 25 cells, but each series has an effective sample of only about 3 to 11 independent observations, so none is significant on its own.

Bottom line: developer-adoption signals track the long arc of these companies' growth. HN hiring share shows no lead at all. npm downloads show no lead that survives the pre-registered correction, but the stricter specification leaves a modest lead-shaped pattern (r ≈ +0.3 at two to three quarters) that this sample, five companies with an npm proxy, is too small to confirm or rule out. So: no detectable lead, not evidence of no lead. The weekly rebuild will firm the pattern up or erase it. The usual limits apply: small samples, CI and bot noise in downloads. PyPI becomes testable in late 2027.

5. What this can and can't tell you

Can
  • Whether, over the available history, faster growth in a developer signal was followed by faster reported revenue growth, with honest uncertainty bands.
  • Whether any apparent relationship survives autocorrelation, the five lags tried, and a common cycle hitting all six companies at once.
Can't
  • Prove causation or forecast revenue. A shared driver (rates, the 2021 boom, 2022–23 cost-cutting) can move both.
  • Detect small effects. Each company has roughly 15–35 quarterly YoY points, and an effective sample often under 10. A null result here means “not detectable with this data”, not “no relationship”.
  • Isolate paid usage. Proxies include open-source and free-tier use (community MongoDB, Apache Kafka, OpenSearch users of Elastic clients) and CI or bot downloads. HN skews toward US startups.
  • Use PyPI yet. pypistats keeps only ~180 days; PyPI YoY becomes testable after about a year of weekly appends.

This is a research exercise, not investment advice.

Appendix: every test run

Show all 300 company-level tests
TickerSignalSpecLagnn_effrCI lowCI highpp (lag-adj)q (BH)p (perm)
CFLTHN hiring-post shared_yoy01818-0.09-0.53+0.400.7351.0000.9390.849
CFLTHN hiring-post shared_yoy11717-0.00-0.48+0.481.0001.0001.0001.000
CFLTHN hiring-post shared_yoy21616+0.32-0.21+0.710.2231.0000.8930.118
CFLTHN hiring-post shared_yoy31515-0.37-0.74+0.180.1760.8810.8930.130
CFLTHN hiring-post shared_yoy41413+0.33-0.27+0.750.2741.0000.8930.394
DDOGHN hiring-post shared_yoy02727-0.09-0.46+0.300.6461.0000.9390.629
DDOGHN hiring-post shared_yoy12626+0.22-0.18+0.560.2841.0000.8930.219
DDOGHN hiring-post shared_yoy22525+0.03-0.37+0.420.8911.0001.0000.821
DDOGHN hiring-post shared_yoy32424-0.07-0.46+0.340.7391.0000.9390.732
DDOGHN hiring-post shared_yoy42323+0.12-0.30+0.510.5761.0000.9390.549
ESTCHN hiring-post shared_yoy03128+0.09-0.29+0.440.6601.0000.9390.644
ESTCHN hiring-post shared_yoy13026-0.00-0.39+0.380.9831.0001.0000.982
ESTCHN hiring-post shared_yoy22921-0.01-0.43+0.420.9821.0001.0000.977
ESTCHN hiring-post shared_yoy32820+0.00-0.44+0.440.9991.0001.0000.999
ESTCHN hiring-post shared_yoy42718+0.09-0.40+0.530.7341.0000.9390.691
MDBHN hiring-post shared_yoy03535+0.06-0.28+0.390.7281.0000.9390.696
MDBHN hiring-post shared_yoy13434+0.21-0.14+0.510.2341.0000.8930.256
MDBHN hiring-post shared_yoy23327-0.16-0.51+0.230.4131.0000.9390.355
MDBHN hiring-post shared_yoy33227-0.09-0.45+0.300.6651.0000.9390.618
MDBHN hiring-post shared_yoy43125+0.27-0.13+0.600.1840.9220.8930.162
NETHN hiring-post shared_yoy02721-0.08-0.49+0.370.7461.0000.9390.746
NETHN hiring-post shared_yoy12623+0.23-0.20+0.590.2821.0000.8930.290
NETHN hiring-post shared_yoy22522-0.14-0.53+0.290.5171.0000.9390.375
NETHN hiring-post shared_yoy32421-0.10-0.50+0.350.6791.0000.9390.640
NETHN hiring-post shared_yoy42323-0.13-0.51+0.300.5641.0000.9390.572
SNOWHN hiring-post shared_yoy02320+0.12-0.33+0.530.6001.0000.9390.708
SNOWHN hiring-post shared_yoy12220+0.21-0.26+0.590.3791.0000.9390.310
SNOWHN hiring-post shared_yoy22119+0.03-0.43+0.470.9091.0001.0000.890
SNOWHN hiring-post shared_yoy32018-0.14-0.57+0.350.5871.0000.9390.618
SNOWHN hiring-post shared_yoy41916+0.18-0.34+0.610.5051.0000.9390.580
CFLTHN hiring-post shareyoy0197+0.36-0.55+0.880.4401.0000.7150.357
CFLTHN hiring-post shareyoy1186+0.33-0.64+0.900.5131.0000.7150.326
CFLTHN hiring-post shareyoy2176+0.36-0.65+0.910.4911.0000.7150.331
CFLTHN hiring-post shareyoy3166+0.38-0.61+0.910.4491.0000.7150.314
CFLTHN hiring-post shareyoy4156+0.44-0.65+0.940.4221.0000.7150.286
DDOGHN hiring-post shareyoy02828+0.05-0.33+0.420.7921.0000.8510.849
DDOGHN hiring-post shareyoy12727+0.12-0.27+0.480.5521.0000.7300.642
DDOGHN hiring-post shareyoy22626+0.14-0.27+0.500.5081.0000.7150.595
DDOGHN hiring-post shareyoy32525+0.12-0.29+0.490.5681.0000.7300.621
DDOGHN hiring-post shareyoy42424+0.15-0.27+0.520.4761.0000.7150.554
ESTCHN hiring-post shareyoy03228+0.13-0.26+0.480.5161.0000.7150.654
ESTCHN hiring-post shareyoy13128+0.15-0.24+0.490.4521.0000.7150.598
ESTCHN hiring-post shareyoy23030+0.22-0.15+0.540.2361.0000.7150.393
ESTCHN hiring-post shareyoy32918+0.20-0.30+0.610.4361.0000.7150.486
ESTCHN hiring-post shareyoy42816+0.19-0.33+0.620.4791.0000.7150.506
MDBHN hiring-post shareyoy03636+0.21-0.12+0.510.2111.0000.7150.272
MDBHN hiring-post shareyoy13535+0.27-0.07+0.560.1130.5650.7150.167
MDBHN hiring-post shareyoy23434+0.18-0.17+0.490.3201.0000.7150.343
MDBHN hiring-post shareyoy33333+0.18-0.18+0.490.3221.0000.7150.358
MDBHN hiring-post shareyoy43232+0.24-0.12+0.540.1950.9760.7150.244
NETHN hiring-post shareyoy02828+0.06-0.32+0.420.7721.0000.8510.825
NETHN hiring-post shareyoy12727+0.05-0.34+0.420.8081.0000.8510.866
NETHN hiring-post shareyoy22626-0.05-0.43+0.350.8251.0000.8510.864
NETHN hiring-post shareyoy32525-0.08-0.46+0.330.7211.0000.8460.757
NETHN hiring-post shareyoy42424-0.08-0.47+0.330.7051.0000.8460.754
SNOWHN hiring-post shareyoy02424+0.06-0.35+0.450.7831.0000.8510.888
SNOWHN hiring-post shareyoy12323+0.09-0.34+0.480.6941.0000.8460.857
SNOWHN hiring-post shareyoy22222+0.05-0.38+0.460.8351.0000.8510.927
SNOWHN hiring-post shareyoy32121-0.02-0.45+0.420.9331.0000.9330.968
SNOWHN hiring-post shareyoy42020-0.07-0.50+0.380.7631.0000.8510.908
CFLTnpm downloadsd_yoy02––––––––
CFLTnpm downloadsd_yoy11––––––––
CFLTnpm downloadsd_yoy20––––––––
CFLTnpm downloadsd_yoy30––––––––
CFLTnpm downloadsd_yoy40––––––––
DDOGnpm downloadsd_yoy02726-0.02-0.40+0.370.9331.0001.0000.941
DDOGnpm downloadsd_yoy12625+0.13-0.28+0.500.5471.0000.9390.520
DDOGnpm downloadsd_yoy22522+0.35-0.09+0.670.1130.5660.8930.243
DDOGnpm downloadsd_yoy32416+0.37-0.15+0.730.1530.7650.8930.169
DDOGnpm downloadsd_yoy42316+0.21-0.33+0.640.4441.0000.9390.429
ESTCnpm downloadsd_yoy02525+0.31-0.10+0.630.1320.6600.8930.179
ESTCnpm downloadsd_yoy12424+0.04-0.37+0.440.8451.0001.0000.862
ESTCnpm downloadsd_yoy22323+0.03-0.38+0.440.8811.0001.0000.805
ESTCnpm downloadsd_yoy32220-0.39-0.71+0.070.0910.4550.8930.193
ESTCnpm downloadsd_yoy42120-0.25-0.63+0.220.2921.0000.8930.371
MDBnpm downloadsd_yoy03535+0.06-0.28+0.380.7511.0000.9390.771
MDBnpm downloadsd_yoy13434+0.12-0.22+0.440.4901.0000.9390.459
MDBnpm downloadsd_yoy23325+0.14-0.27+0.510.4981.0000.9390.430
MDBnpm downloadsd_yoy33225+0.23-0.18+0.570.2681.0000.8930.155
MDBnpm downloadsd_yoy43124-0.28-0.61+0.130.1750.8740.8930.163
NETnpm downloadsd_yoy02727+0.04-0.34+0.410.8381.0001.0000.803
NETnpm downloadsd_yoy12626-0.11-0.48+0.290.5911.0000.9390.614
NETnpm downloadsd_yoy22525+0.08-0.32+0.460.6891.0000.9390.719
NETnpm downloadsd_yoy32424-0.14-0.51+0.280.5251.0000.9390.467
NETnpm downloadsd_yoy42322-0.28-0.63+0.160.2011.0000.8930.169
SNOWnpm downloadsd_yoy02321+0.28-0.17+0.630.2181.0000.8930.289
SNOWnpm downloadsd_yoy12221+0.27-0.18+0.620.2351.0000.8930.275
SNOWnpm downloadsd_yoy22120+0.08-0.37+0.510.7241.0000.9390.736
SNOWnpm downloadsd_yoy32019+0.35-0.12+0.690.1390.6950.8930.245
SNOWnpm downloadsd_yoy41917-0.03-0.50+0.460.9231.0001.0000.919
CFLTnpm downloadsyoy03––––––––
CFLTnpm downloadsyoy12––––––––
CFLTnpm downloadsyoy21––––––––
CFLTnpm downloadsyoy30––––––––
CFLTnpm downloadsyoy40––––––––
DDOGnpm downloadsyoy0284+0.75-0.80+1.000.2681.0000.7150.015
DDOGnpm downloadsyoy1274+0.78-0.82+1.000.2501.0000.7150.010
DDOGnpm downloadsyoy2264+0.81-0.84+1.000.2411.0000.715<0.001
DDOGnpm downloadsyoy3254+0.78-0.90+1.000.2851.0000.7150.008
DDOGnpm downloadsyoy4244+0.76-0.80+1.000.2591.0000.7150.029
ESTCnpm downloadsyoy0263+0.67––0.4931.0000.7150.015
ESTCnpm downloadsyoy1253+0.63––0.5671.0000.7300.027
ESTCnpm downloadsyoy2243+0.65––0.4731.0000.7150.006
ESTCnpm downloadsyoy3233+0.66––0.4921.0000.7150.024
ESTCnpm downloadsyoy4223+0.77–––––0.008
MDBnpm downloadsyoy03611+0.32-0.34+0.770.3301.0000.7150.178
MDBnpm downloadsyoy13510+0.53-0.18+0.880.1280.6410.7150.014
MDBnpm downloadsyoy2348+0.56-0.21+0.900.1350.6740.7150.011
MDBnpm downloadsyoy3338+0.55-0.24+0.900.1520.7590.7150.012
MDBnpm downloadsyoy4328+0.48-0.33+0.880.2241.0000.7150.043
NETnpm downloadsyoy0287+0.60-0.34+0.940.1780.8900.7150.090
NETnpm downloadsyoy1276+0.52-0.53+0.940.3001.0000.7150.150
NETnpm downloadsyoy2266+0.45-0.61+0.930.3961.0000.7150.238
NETnpm downloadsyoy3256+0.35-0.67+0.910.5101.0000.7150.381
NETnpm downloadsyoy4246+0.27-0.71+0.890.6171.0000.7740.509
SNOWnpm downloadsyoy0244+0.81-0.54+0.990.1550.7740.7150.008
SNOWnpm downloadsyoy1234+0.89-0.58+1.000.1260.6280.7150.003
SNOWnpm downloadsyoy2224+0.89-0.69+1.000.1390.6940.7150.001
SNOWnpm downloadsyoy3214+0.89-0.82+1.000.1680.8410.7150.001
SNOWnpm downloadsyoy4203+0.83––0.2711.0000.7150.001
CFLTPyPI downloadsd_yoy00––––––––
CFLTPyPI downloadsd_yoy10––––––––
CFLTPyPI downloadsd_yoy20––––––––
CFLTPyPI downloadsd_yoy30––––––––
CFLTPyPI downloadsd_yoy40––––––––
DDOGPyPI downloadsd_yoy00––––––––
DDOGPyPI downloadsd_yoy10––––––––
DDOGPyPI downloadsd_yoy20––––––––
DDOGPyPI downloadsd_yoy30––––––––
DDOGPyPI downloadsd_yoy40––––––––
ESTCPyPI downloadsd_yoy00––––––––
ESTCPyPI downloadsd_yoy10––––––––
ESTCPyPI downloadsd_yoy20––––––––
ESTCPyPI downloadsd_yoy30––––––––
ESTCPyPI downloadsd_yoy40––––––––
MDBPyPI downloadsd_yoy00––––––––
MDBPyPI downloadsd_yoy10––––––––
MDBPyPI downloadsd_yoy20––––––––
MDBPyPI downloadsd_yoy30––––––––
MDBPyPI downloadsd_yoy40––––––––
NETPyPI downloadsd_yoy00––––––––
NETPyPI downloadsd_yoy10––––––––
NETPyPI downloadsd_yoy20––––––––
NETPyPI downloadsd_yoy30––––––––
NETPyPI downloadsd_yoy40––––––––
SNOWPyPI downloadsd_yoy00––––––––
SNOWPyPI downloadsd_yoy10––––––––
SNOWPyPI downloadsd_yoy20––––––––
SNOWPyPI downloadsd_yoy30––––––––
SNOWPyPI downloadsd_yoy40––––––––
CFLTPyPI downloadsyoy00––––––––
CFLTPyPI downloadsyoy10––––––––
CFLTPyPI downloadsyoy20––––––––
CFLTPyPI downloadsyoy30––––––––
CFLTPyPI downloadsyoy40––––––––
DDOGPyPI downloadsyoy00––––––––
DDOGPyPI downloadsyoy10––––––––
DDOGPyPI downloadsyoy20––––––––
DDOGPyPI downloadsyoy30––––––––
DDOGPyPI downloadsyoy40––––––––
ESTCPyPI downloadsyoy00––––––––
ESTCPyPI downloadsyoy10––––––––
ESTCPyPI downloadsyoy20––––––––
ESTCPyPI downloadsyoy30––––––––
ESTCPyPI downloadsyoy40––––––––
MDBPyPI downloadsyoy00––––––––
MDBPyPI downloadsyoy10––––––––
MDBPyPI downloadsyoy20––––––––
MDBPyPI downloadsyoy30––––––––
MDBPyPI downloadsyoy40––––––––
NETPyPI downloadsyoy00––––––––
NETPyPI downloadsyoy10––––––––
NETPyPI downloadsyoy20––––––––
NETPyPI downloadsyoy30––––––––
NETPyPI downloadsyoy40––––––––
SNOWPyPI downloadsyoy00––––––––
SNOWPyPI downloadsyoy10––––––––
SNOWPyPI downloadsyoy20––––––––
SNOWPyPI downloadsyoy30––––––––
SNOWPyPI downloadsyoy40––––––––
CFLTnpm vs baseline (post-hoc)d_yoy02––––––––
CFLTnpm vs baseline (post-hoc)d_yoy11––––––––
CFLTnpm vs baseline (post-hoc)d_yoy20––––––––
CFLTnpm vs baseline (post-hoc)d_yoy30––––––––
CFLTnpm vs baseline (post-hoc)d_yoy40––––––––
DDOGnpm vs baseline (post-hoc)d_yoy02726-0.12-0.49+0.280.5441.0000.9930.567
DDOGnpm vs baseline (post-hoc)d_yoy12625+0.07-0.33+0.450.7381.0000.9930.737
DDOGnpm vs baseline (post-hoc)d_yoy22525+0.27-0.14+0.600.1970.9840.8270.358
DDOGnpm vs baseline (post-hoc)d_yoy32419+0.35-0.12+0.690.1430.7160.8270.201
DDOGnpm vs baseline (post-hoc)d_yoy42319+0.14-0.34+0.560.5761.0000.9930.606
ESTCnpm vs baseline (post-hoc)d_yoy02525+0.27-0.15+0.600.1990.9930.8270.279
ESTCnpm vs baseline (post-hoc)d_yoy12422+0.01-0.41+0.430.9571.0000.9930.963
ESTCnpm vs baseline (post-hoc)d_yoy22321+0.02-0.41+0.450.9181.0000.9930.869
ESTCnpm vs baseline (post-hoc)d_yoy32217-0.39-0.73+0.100.1120.5620.8270.168
ESTCnpm vs baseline (post-hoc)d_yoy42118-0.23-0.63+0.270.3621.0000.9190.421
MDBnpm vs baseline (post-hoc)d_yoy03535-0.10-0.42+0.240.5571.0000.9930.564
MDBnpm vs baseline (post-hoc)d_yoy13434-0.00-0.34+0.340.9881.0000.9930.989
MDBnpm vs baseline (post-hoc)d_yoy23329+0.00-0.37+0.370.9911.0000.9930.990
MDBnpm vs baseline (post-hoc)d_yoy33228+0.12-0.26+0.470.5371.0000.9930.462
MDBnpm vs baseline (post-hoc)d_yoy43127-0.33-0.63+0.050.0900.4520.8270.086
NETnpm vs baseline (post-hoc)d_yoy02727+0.00-0.38+0.380.9931.0000.9930.992
NETnpm vs baseline (post-hoc)d_yoy12626-0.18-0.53+0.220.3671.0000.9190.401
NETnpm vs baseline (post-hoc)d_yoy22525+0.06-0.34+0.450.7701.0000.9930.806
NETnpm vs baseline (post-hoc)d_yoy32424-0.10-0.49+0.310.6301.0000.9930.547
NETnpm vs baseline (post-hoc)d_yoy42322-0.32-0.65+0.110.1430.7150.8270.097
SNOWnpm vs baseline (post-hoc)d_yoy02323+0.10-0.33+0.490.6621.0000.9930.685
SNOWnpm vs baseline (post-hoc)d_yoy12222+0.22-0.23+0.580.3341.0000.9190.392
SNOWnpm vs baseline (post-hoc)d_yoy22121-0.06-0.48+0.380.7831.0000.9930.809
SNOWnpm vs baseline (post-hoc)d_yoy32020+0.27-0.20+0.640.2511.0000.8970.368
SNOWnpm vs baseline (post-hoc)d_yoy41919-0.00-0.46+0.450.9881.0000.9930.986
CFLTnpm vs baseline (post-hoc)yoy03––––––––
CFLTnpm vs baseline (post-hoc)yoy12––––––––
CFLTnpm vs baseline (post-hoc)yoy21––––––––
CFLTnpm vs baseline (post-hoc)yoy30––––––––
CFLTnpm vs baseline (post-hoc)yoy40––––––––
DDOGnpm vs baseline (post-hoc)yoy0284+0.68-0.83+0.990.3241.0000.5160.030
DDOGnpm vs baseline (post-hoc)yoy1274+0.71-0.83+0.990.3071.0000.5160.026
DDOGnpm vs baseline (post-hoc)yoy2264+0.74-0.85+1.000.2951.0000.5160.009
DDOGnpm vs baseline (post-hoc)yoy3254+0.72-0.89+1.000.3301.0000.5160.014
DDOGnpm vs baseline (post-hoc)yoy4244+0.71-0.80+0.990.2931.0000.5160.041
ESTCnpm vs baseline (post-hoc)yoy0264+0.63-0.97+1.000.4571.0000.5460.013
ESTCnpm vs baseline (post-hoc)yoy1253+0.57––0.5251.0000.5700.056
ESTCnpm vs baseline (post-hoc)yoy2244+0.59-0.94+1.000.4651.0000.5460.012
ESTCnpm vs baseline (post-hoc)yoy3234+0.60-0.96+1.000.4751.0000.5460.031
ESTCnpm vs baseline (post-hoc)yoy4223+0.73––0.4001.0000.5460.017
MDBnpm vs baseline (post-hoc)yoy03616-0.40-0.75+0.130.1300.6490.3610.093
MDBnpm vs baseline (post-hoc)yoy13515-0.41-0.76+0.130.1290.6430.3610.107
MDBnpm vs baseline (post-hoc)yoy23412-0.50-0.83+0.090.0890.4450.3610.041
MDBnpm vs baseline (post-hoc)yoy33310-0.53-0.86+0.130.1040.5210.3610.023
MDBnpm vs baseline (post-hoc)yoy4329-0.57-0.89+0.130.1010.5070.3610.017
NETnpm vs baseline (post-hoc)yoy0287+0.53-0.40+0.920.2371.0000.5160.139
NETnpm vs baseline (post-hoc)yoy1276+0.42-0.56+0.910.3861.0000.5460.259
NETnpm vs baseline (post-hoc)yoy2266+0.34-0.60+0.890.4801.0000.5460.370
NETnpm vs baseline (post-hoc)yoy3257+0.24-0.64+0.850.6071.0000.6320.541
NETnpm vs baseline (post-hoc)yoy4247+0.16-0.69+0.820.7391.0000.7390.695
SNOWnpm vs baseline (post-hoc)yoy0245+0.78-0.29+0.980.1120.5620.3610.022
SNOWnpm vs baseline (post-hoc)yoy1235+0.80-0.28+0.990.1060.5290.3610.017
SNOWnpm vs baseline (post-hoc)yoy2225+0.80-0.28+0.990.1050.5270.3610.021
SNOWnpm vs baseline (post-hoc)yoy3215+0.81-0.31+0.990.1080.5420.3610.028
SNOWnpm vs baseline (post-hoc)yoy4205+0.76-0.47+0.990.1610.8040.4020.027
CFLTPyPI vs baseline (post-hoc)d_yoy00––––––––
CFLTPyPI vs baseline (post-hoc)d_yoy10––––––––
CFLTPyPI vs baseline (post-hoc)d_yoy20––––––––
CFLTPyPI vs baseline (post-hoc)d_yoy30––––––––
CFLTPyPI vs baseline (post-hoc)d_yoy40––––––––
DDOGPyPI vs baseline (post-hoc)d_yoy00––––––––
DDOGPyPI vs baseline (post-hoc)d_yoy10––––––––
DDOGPyPI vs baseline (post-hoc)d_yoy20––––––––
DDOGPyPI vs baseline (post-hoc)d_yoy30––––––––
DDOGPyPI vs baseline (post-hoc)d_yoy40––––––––
ESTCPyPI vs baseline (post-hoc)d_yoy00––––––––
ESTCPyPI vs baseline (post-hoc)d_yoy10––––––––
ESTCPyPI vs baseline (post-hoc)d_yoy20––––––––
ESTCPyPI vs baseline (post-hoc)d_yoy30––––––––
ESTCPyPI vs baseline (post-hoc)d_yoy40––––––––
MDBPyPI vs baseline (post-hoc)d_yoy00––––––––
MDBPyPI vs baseline (post-hoc)d_yoy10––––––––
MDBPyPI vs baseline (post-hoc)d_yoy20––––––––
MDBPyPI vs baseline (post-hoc)d_yoy30––––––––
MDBPyPI vs baseline (post-hoc)d_yoy40––––––––
NETPyPI vs baseline (post-hoc)d_yoy00––––––––
NETPyPI vs baseline (post-hoc)d_yoy10––––––––
NETPyPI vs baseline (post-hoc)d_yoy20––––––––
NETPyPI vs baseline (post-hoc)d_yoy30––––––––
NETPyPI vs baseline (post-hoc)d_yoy40––––––––
SNOWPyPI vs baseline (post-hoc)d_yoy00––––––––
SNOWPyPI vs baseline (post-hoc)d_yoy10––––––––
SNOWPyPI vs baseline (post-hoc)d_yoy20––––––––
SNOWPyPI vs baseline (post-hoc)d_yoy30––––––––
SNOWPyPI vs baseline (post-hoc)d_yoy40––––––––
CFLTPyPI vs baseline (post-hoc)yoy00––––––––
CFLTPyPI vs baseline (post-hoc)yoy10––––––––
CFLTPyPI vs baseline (post-hoc)yoy20––––––––
CFLTPyPI vs baseline (post-hoc)yoy30––––––––
CFLTPyPI vs baseline (post-hoc)yoy40––––––––
DDOGPyPI vs baseline (post-hoc)yoy00––––––––
DDOGPyPI vs baseline (post-hoc)yoy10––––––––
DDOGPyPI vs baseline (post-hoc)yoy20––––––––
DDOGPyPI vs baseline (post-hoc)yoy30––––––––
DDOGPyPI vs baseline (post-hoc)yoy40––––––––
ESTCPyPI vs baseline (post-hoc)yoy00––––––––
ESTCPyPI vs baseline (post-hoc)yoy10––––––––
ESTCPyPI vs baseline (post-hoc)yoy20––––––––
ESTCPyPI vs baseline (post-hoc)yoy30––––––––
ESTCPyPI vs baseline (post-hoc)yoy40––––––––
MDBPyPI vs baseline (post-hoc)yoy00––––––––
MDBPyPI vs baseline (post-hoc)yoy10––––––––
MDBPyPI vs baseline (post-hoc)yoy20––––––––
MDBPyPI vs baseline (post-hoc)yoy30––––––––
MDBPyPI vs baseline (post-hoc)yoy40––––––––
NETPyPI vs baseline (post-hoc)yoy00––––––––
NETPyPI vs baseline (post-hoc)yoy10––––––––
NETPyPI vs baseline (post-hoc)yoy20––––––––
NETPyPI vs baseline (post-hoc)yoy30––––––––
NETPyPI vs baseline (post-hoc)yoy40––––––––
SNOWPyPI vs baseline (post-hoc)yoy00––––––––
SNOWPyPI vs baseline (post-hoc)yoy10––––––––
SNOWPyPI vs baseline (post-hoc)yoy20––––––––
SNOWPyPI vs baseline (post-hoc)yoy30––––––––
SNOWPyPI vs baseline (post-hoc)yoy40––––––––

Downloads: leadlag_company.csv · leadlag_pooled.csv · quarterly_panel.csv · revenue_quarterly.csv. Columns: p = effective-n t-test; p_lag_adj = Bonferroni over lags; q_bh = Benjamini-Hochberg; p_perm = block permutation (secondary; anti-conservative on persistent series).