Dear all,
I am analyzing family firms. My sample consists of 560 firms, where each firm has both time-variant and time/group-invariant variables. The time-varying variables have observations across 5 years 2018-2022 and are continuous, while the time-stable ones are mostly dummies.
From a previous post, i was instructed to use xthybrid, to effectively estimate my variable of interest, FamilyCEO(0 1).
My main research question is:1.How does the selection of an external CEO influence the performance of family firms?
Then i have these subquestions.
2. Does the size of the family firm moderate the effect of an external CEO on firm performance?
3. Does the industry sector of the family firm have a moderating effect on the influence of an external
CEO on firm performance?
4. Does active family ownership enhance firm performance more than passive control?
From my understanding, questions 2;3 require interaction terms with FamilyCEO and FirmSize(time varying) / FamilyCEO and Industry dummies(stable)
After extensive research, I have not concluded which is the right way of estimating the correct interaction terms. You will find references at the bottom of this post.
I will post how I handle missing observations, how I create the Interaction terms and finally, I will present the results of two regressions. (FamilyCEO +Firm Size+Controls+YearControls ); (FamilyCEO +Firm Size+Controls+YearControls +InteractionCEOSize).
Please be so kind to enlighten me if these estimations are not producing any errors, so I can interpret the results reliably. Please also share any concerns about my methods.
Thank you all in advance for your time and understanding!!
Dealing with missing data:
Interaction Terms
Code producing Results:
Results:
References:
I am analyzing family firms. My sample consists of 560 firms, where each firm has both time-variant and time/group-invariant variables. The time-varying variables have observations across 5 years 2018-2022 and are continuous, while the time-stable ones are mostly dummies.
From a previous post, i was instructed to use xthybrid, to effectively estimate my variable of interest, FamilyCEO(0 1).
My main research question is:1.How does the selection of an external CEO influence the performance of family firms?
Then i have these subquestions.
2. Does the size of the family firm moderate the effect of an external CEO on firm performance?
3. Does the industry sector of the family firm have a moderating effect on the influence of an external
CEO on firm performance?
4. Does active family ownership enhance firm performance more than passive control?
From my understanding, questions 2;3 require interaction terms with FamilyCEO and FirmSize(time varying) / FamilyCEO and Industry dummies(stable)
After extensive research, I have not concluded which is the right way of estimating the correct interaction terms. You will find references at the bottom of this post.
I will post how I handle missing observations, how I create the Interaction terms and finally, I will present the results of two regressions. (FamilyCEO +Firm Size+Controls+YearControls ); (FamilyCEO +Firm Size+Controls+YearControls +InteractionCEOSize).
Please be so kind to enlighten me if these estimations are not producing any errors, so I can interpret the results reliably. Please also share any concerns about my methods.
Thank you all in advance for your time and understanding!!
Dealing with missing data:
Code:
//Panel Data generation
reshape long Totalassets TotalLiabilities Leverage Ebitda Netincome Sales Numberofemployees ROAEbitda ROANetincome LogSales AssetEfficiency LogEmployees FirmAge, i(Company) j(Year)
* Calculate the firm-specific mean for each variable with missing values
foreach var in ROAEbitda ROANetincome Totalassets TotalLiabilities Leverage Sales AssetEfficiency LogEmployees Ebitda Netincome Numberofemployees {
egen mean_`var' = mean(`var'), by(Company)
}
xtset A Year
* Replace missing values with the firm-specific mean
foreach var in ROAEbitda ROANetincome Totalassets TotalLiabilities Leverage Sales AssetEfficiency LogEmployees Ebitda Netincome Numberofemployees {
by A: replace `var' = mean_`var' if missing(`var')
}
foreach var in ROAEbitda ROANetincome Totalassets TotalLiabilities Leverage Sales AssetEfficiency LogEmployees Ebitda Netincome Numberofemployees{
sum `var', meanonly
scalar overall_mean_`var' = r(mean)
}
foreach var in ROAEbitda ROANetincome Totalassets TotalLiabilities Leverage Sales AssetEfficiency LogEmployees Ebitda Netincome Numberofemployees{
replace `var' = scalar(overall_mean_`var') if missing(`var')
}
foreach var in ROAEbitda ROANetincome Totalassets TotalLiabilities Leverage Sales AssetEfficiency LogEmployees Ebitda Netincome Numberofemployees{
drop mean_`var'
}
Interaction Terms
Code:
//interactions with controls
gen FamilyCEO_Listed=FamilyCEO*Listed
gen FamilyCEO_LnFirmAge=FamilyCEO*LnFirmAge
gen FamilyCEO_LnAssets=FamilyCEO*LnAssets
gen FamilyCEO_LnSales=FamilyCEO*LnSales
//Year interactions
gen Y18_CEO=Year1*FamilyCEO
gen Y19_CEO=Year2*FamilyCEO
gen Y20_CEO=Year3*FamilyCEO
gen Y21_CEO=Year4*FamilyCEO
gen Y22_CEO=Year5*FamilyCEO
//Interactions with size
gen FamilyCEO_AssetEfficiency = FamilyCEO * AssetEfficiency
gen FamilyCEO_LogEmployees = FamilyCEO * LogEmployees
//Interactions with industry
foreach var of varlist sector_dummy* {
gen FamilyCEO_`var' = FamilyCEO * `var'
}
}
Code:
**FamilyCEO+Size +Controls *Roa Ebitda xthybrid ROAEbitda FamilyCEO Listed Year1 Year2 Year3 Year4 Year5, use (AssetEfficiency LogEmployees LnAssets LnSales LnFirmAge Year) clusterid(A) star test estimates store r1 xthybrid ROAEbitda FamilyCEO Listed Year1 Year2 Year3 Year4 Year5 FamilyCEO_AssetEfficiency FamilyCEO_LogEmployees, use( LnAssets LnSales LnFirmAge ) clusterid(A) star test estimates store r2 lrtest r1 r2 esttab r1 r2
Results:
Code:
Hybrid model. Family: gaussian. Link: identity.
+--------------------------------------+
| Variable | model |
|----------------------+---------------|
| ROAEbitda | |
| R__FamilyCEO | 0.0022 |
| R__Listed | -0.0045 |
| R__Year1 | -0.0069 |
| R__Year2 | -0.0063 |
| R__Year3 | -0.0018 |
| R__Year4 | 0.0167*** |
| R__Year5 | (omitted) |
| W__AssetEfficiency | 0.0497*** |
| W__LogEmployees | -0.0286 |
| W__LnAssets | 0.0366*** |
| W__LnSales | 0.0401*** |
| W__LnFirmAge | -0.0380 |
| W__Year | (omitted) |
| B__AssetEfficiency | -0.0111* |
| B__LogEmployees | -0.0025 |
| B__LnAssets | -0.0358*** |
| B__LnSales | 0.0350*** |
| B__LnFirmAge | -0.0175** |
| B__Year | (omitted) |
| _cons | 0.1866*** |
|----------------------+---------------|
| var(_cons[A])| |
| _cons | 0.0047*** |
|----------------------+---------------|
| var(e.ROAEbitda)| |
| _cons | 0.0031*** |
|----------------------+---------------|
| Statistics | |
| ll | 3509.6086 |
| chi2 | 579.5847 |
| p | 0.0000 |
| aic | -6981.2172 |
| bic | -6868.4274 |
+--------------------------------------+
Legend: * p<.05; ** p<.01; *** p<.001
Level 1: 2797 units. Level 2: 560 units.
Tests of the random effects assumption:
_b[B__AssetEfficiency] = _b[W__AssetEfficiency]; p-value: 0.0000
_b[B__LogEmployees] = _b[W__LogEmployees]; p-value: 0.3014
_b[B__LnAssets] = _b[W__LnAssets]; p-value: 0.0000
_b[B__LnSales] = _b[W__LnSales]; p-value: 0.4960
_b[B__LnFirmAge] = _b[W__LnFirmAge]; p-value: 0.3809
_b[B__Year] = _b[W__Year]; p-value: .
. estimates store r1
. xthybrid ROAEbitda FamilyCEO Listed Year1 Year2 Year3 Year4 Year5 FamilyCEO_AssetEfficiency FamilyCEO_LogEmployees, use( LnAssets LnSales LnFirmAge ) clusterid(A) sta
> r test
Hybrid model. Family: gaussian. Link: identity.
+--------------------------------------+
| Variable | model |
|----------------------+---------------|
| ROAEbitda | |
| R__FamilyCEO | -0.0138 |
| R__Listed | -0.0070 |
| R__Year1 | -0.0087 |
| R__Year2 | -0.0086 |
| R__Year3 | -0.0067 |
| R__Year4 | 0.0133*** |
| R__Year5 | (omitted) |
| R__FamilyCEO_Asset~y | 0.0153*** |
| R__FamilyCEO_LogEm~s | -0.0005 |
| W__LnAssets | 0.0121 |
| W__LnSales | 0.0489*** |
| W__LnFirmAge | -0.0339 |
| B__LnAssets | -0.0149** |
| B__LnSales | 0.0141** |
| B__LnFirmAge | -0.0158** |
| _cons | 0.1629*** |
|----------------------+---------------|
| var(_cons[A])| |
| _cons | 0.0049*** |
|----------------------+---------------|
| var(e.ROAEbitda)| |
| _cons | 0.0032*** |
|----------------------+---------------|
| Statistics | |
| ll | 3474.6649 |
| chi2 | 496.5848 |
| p | 0.0000 |
| aic | -6915.3299 |
| bic | -6814.4127 |
+--------------------------------------+
Legend: * p<.05; ** p<.01; *** p<.001
Level 1: 2797 units. Level 2: 560 units.
Tests of the random effects assumption:
_b[B__LnAssets] = _b[W__LnAssets]; p-value: 0.0009
_b[B__LnSales] = _b[W__LnSales]; p-value: 0.0000
_b[B__LnFirmAge] = _b[W__LnFirmAge]; p-value: 0.4430
. estimates store r2
. lrtest r1 r2
Likelihood-ratio test
Assumption: r2 nested within r1
LR chi2(2) = 69.89
Prob > chi2 = 0.0000
. esttab r1 r2
--------------------------------------------
(1) (2)
ROAEbitda ROAEbitda
--------------------------------------------
ROAEbitda
R__FamilyCEO 0.00221 -0.0138
(0.29) (-0.45)
R__Listed -0.00448 -0.00695
(-0.29) (-0.44)
R__Year1 -0.00690 -0.00872
(-1.31) (-1.65)
R__Year2 -0.00635 -0.00858
(-1.43) (-1.92)
R__Year3 -0.00179 -0.00665
(-0.44) (-1.63)
R__Year4 0.0167*** 0.0133***
(4.71) (3.74)
R__Year5 0 0
(.) (.)
W__AssetEf~y 0.0497***
(8.96)
W__LogEmpl~s -0.0286
(-1.33)
W__LnAssets 0.0366*** 0.0121
(4.64) (1.68)
W__LnSales 0.0401*** 0.0489***
(11.53) (14.74)
W__LnFirmAge -0.0380 -0.0339
(-1.68) (-1.48)
W__Year 0
(.)
B__AssetEf~y -0.0111*
(-2.14)
B__LogEmpl~s -0.00255
(-0.19)
B__LnAssets -0.0358*** -0.0149**
(-5.71) (-2.95)
B__LnSales 0.0350*** 0.0141**
(5.39) (2.74)
B__LnFirmAge -0.0175** -0.0158**
(-3.05) (-2.70)
B__Year 0
(.)
R__FamilyC~y 0.0153***
(3.65)
R__FamilyC~s -0.000531
(-0.04)
_cons 0.187*** 0.163***
(4.97) (4.53)
--------------------------------------------
var(_cons[~)
_cons 0.00467*** 0.00489***
(14.74) (14.40)
--------------------------------------------
var(e.ROAE~)
_cons 0.00310*** 0.00316***
(33.44) (33.23)
--------------------------------------------
N 2797 2797
--------------------------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
HTML Code:
Francisco (Paco) Perales & Reinhard Schunck, 2016. "XTHYBRID: Stata module to estimate hybrid and correlated random effect (Mundlak) models within the framework of generalized linear mixed models (GLMM)," Statistical Software Components S458146, Boston College Department of Economics, revised 31 Jul 2021
HTML Code:
Schunck, R. (2013). Within and between Estimates in Random-Effects Models: Advantages and Drawbacks of Correlated Random Effects and Hybrid Models. The Stata Journal, 13(1), 65–76. https://doi.org/10.1177/1536867X1301300105
HTML Code:
Bell, A., Fairbrother, M., & Jones, K. (2019). Fixed and random effects models: making an informed choice. Quality & Quantity, 53(2), 1051–1074. https://doi.org/10.1007/s11135-018-0802-x
