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