- see also [[220920_140552 ukraine campaign user bad-tweet exposure distributions|bad tweet exposure distributions]]
# ITT models
## overall models (1 campaign)
- excluded users without any activity
- best model: m2
![[s20221006_183844.png]]
Best model (above) for each adgroup
- [[220914_102436 27 ukraine adgroups characteristics|ad group characteristics]]
![[1665103188.png]]
## subcampaign models (13 subcampaigns)
- have to winsorize covariates at 0.99!
- excluded users without activity separately for each day
- best model: m2.1
![[s20221006_185804.png]]
best model for each adgroup
![[1665104487.png]]
# two-stage least-squares models (bootstrapped SEs)
## overall model
```r
# active users
GLM estimation, family = quasipoisson, Dep. Var.: bad_tweet_count_win
Observations: 13,464
Fixed-effects: block: 2,399
Standard-errors: Custom
Estimate Std. Error t value Pr(>|t|)
reach_propC 0.256814 0.356329 0.720723 4.7110e-01
classifier_score_LC 0.003938 0.047755 0.082456 9.3429e-01
expose_count_adj_winLC 0.656023 0.047236 13.888224 < 2.2e-16 ***
bad_tweet_pre_winLC 0.687498 0.029270 23.488298 < 2.2e-16 ***
statuses_count_winLC 0.179484 0.038442 4.668970 3.0628e-06 ***
friend_follow_ratio_winLC -0.199059 0.031073 -6.406141 1.5531e-10 ***
stage1_resids -0.339527 0.529745 -0.640925 5.2158e-01
reach_propC:classifier_score_LC 0.348511 0.223658 1.558230 1.1921e-01
reach_propC:expose_count_adj_winLC -0.229691 0.497921 -0.461300 6.4459e-01
reach_propC:bad_tweet_pre_winLC -0.001939 0.243019 -0.007977 9.9364e-01
reach_propC:statuses_count_winLC -0.287619 0.311765 -0.922552 3.5626e-01
reach_propC:friend_follow_ratio_winLC -0.048396 0.389160 -0.124361 9.0103e-01
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Squared Cor.: 0.826048
# active and inactive users
GLM estimation, family = quasipoisson, Dep. Var.: bad_tweet_count_win
Observations: 14,330
Fixed-effects: block: 2,400
Standard-errors: Custom
Estimate Std. Error t value Pr(>|t|)
reach_propC 0.307163 0.385746 0.796283 4.2588e-01
classifier_score_LC -0.001405 0.042387 -0.033136 9.7357e-01
expose_count_adj_winLC 0.668629 0.049290 13.565140 < 2.2e-16 ***
bad_tweet_pre_winLC 0.688827 0.026816 25.687599 < 2.2e-16 ***
statuses_count_winLC 0.213474 0.046617 4.579359 4.7113e-06 ***
friend_follow_ratio_winLC -0.208814 0.031366 -6.657373 2.9100e-11 ***
stage1_resids -0.221091 0.509307 -0.434102 6.6422e-01
reach_propC:classifier_score_LC 0.333076 0.255104 1.305647 1.9170e-01
reach_propC:expose_count_adj_winLC -0.336881 0.558949 -0.602704 5.4672e-01
reach_propC:bad_tweet_pre_winLC 0.010187 0.262957 0.038740 9.6910e-01
reach_propC:statuses_count_winLC -0.241540 0.382411 -0.631625 5.2764e-01
reach_propC:friend_follow_ratio_winLC -0.047671 0.390960 -0.121932 9.0295e-01
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Squared Cor.: 0.823873
```
## subcampaign models
```r
# active users
GLM estimation, family = quasipoisson, Dep. Var.: bad_tweet_count_win
Observations: 140,484
Fixed-effects: block: 2,219, sub_campaign: 13
Standard-errors: Custom
Estimate Std. Error t value Pr(>|t|)
reach_propC 0.064730 0.295468 0.219076 0.8265914
classifier_score_LC -0.054197 0.054056 -1.002621 0.3160455
expose_count_adj_winLC 0.605536 0.035781 16.923482 < 2.2e-16 ***
bad_tweet_pre_winLC 0.774761 0.021984 35.241603 < 2.2e-16 ***
statuses_count_winLC 0.129442 0.051848 2.496554 0.0125418 *
friend_follow_ratio_winLC -0.195491 0.068756 -2.843256 0.0044662 **
stage1_resids -0.737119 0.377050 -1.954966 0.0505891 .
reach_propC:classifier_score_LC 0.224637 0.168424 1.333758 0.1822854
reach_propC:expose_count_adj_winLC 0.187092 0.367187 0.509527 0.6103838
reach_propC:bad_tweet_pre_winLC -0.054707 0.247731 -0.220833 0.8252228
reach_propC:statuses_count_winLC -0.407182 0.258199 -1.577008 0.1147961
reach_propC:friend_follow_ratio_winLC 0.068362 0.257561 0.265422 0.7906852
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Squared Cor.: 0.563584
# active and inactive users
GLM estimation, family = quasipoisson, Dep. Var.: bad_tweet_count_win
Observations: 173,186
Fixed-effects: block: 2,219, sub_campaign: 13
Standard-errors: Custom
Estimate Std. Error t value Pr(>|t|)
reach_propC -0.001629 0.340582 -0.004782 9.9618e-01
classifier_score_LC -0.063996 0.057169 -1.119409 2.6297e-01
expose_count_adj_winLC 0.608715 0.028143 21.629680 < 2.2e-16 ***
bad_tweet_pre_winLC 0.754989 0.020193 37.389149 < 2.2e-16 ***
statuses_count_winLC 0.239977 0.053706 4.468334 7.8882e-06 ***
friend_follow_ratio_winLC -0.198010 0.062724 -3.156850 1.5951e-03 **
stage1_resids -0.401643 0.352962 -1.137922 2.5515e-01
reach_propC:classifier_score_LC 0.236136 0.186479 1.266286 2.0541e-01
reach_propC:expose_count_adj_winLC 0.227401 0.359798 0.632023 5.2737e-01
reach_propC:bad_tweet_pre_winLC -0.115048 0.227940 -0.504728 6.1375e-01
reach_propC:statuses_count_winLC -0.473054 0.282142 -1.676653 9.3612e-02 .
reach_propC:friend_follow_ratio_winLC 0.091308 0.275130 0.331871 7.3999e-01
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Squared Cor.: 0.546069
```
# negative correlation between activity and reach
```r
# cluster sub_campaign
> feols(reach ~ n_tweets_L | sub_campaign, tempdt, cluster = c("sub_campaign"))
OLS estimation, Dep. Var.: reach
Observations: 351
Fixed-effects: sub_campaign: 13
Standard-errors: Clustered (sub_campaign)
Estimate Std. Error t value Pr(>|t|)
n_tweets_L -0.022846 0.002113 -10.8123 1.5305e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 0.056544 Adj. R2: 0.192834
Within R2: 0.038034
# cluster sub_campaign and block
> feols(reach ~ n_tweets_L | sub_campaign, tempdt, cluster = c("sub_campaign", "block"))
OLS estimation, Dep. Var.: reach
Observations: 37,999
Fixed-effects: sub_campaign: 13
Standard-errors: Clustered (sub_campaign & block)
Estimate Std. Error t value Pr(>|t|)
n_tweets_L -0.002669 0.000621 -4.29952 0.0010328 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 0.055904 Adj. R2: 0.207385
Within R2: 0.005742
```
![[1664922668.png]]