DB

Project · R · MBA case study

Earnings Manipulation Prediction

Can a company's financial ratios give away that it is manipulating its earnings? A case study from my MBA, comparing five classification models.

The ratios

Each company is described by the eight ratios of the Beneish M-score, a model built to spot companies that inflate their earnings.

DSRI
Days' sales in receivables index
GMI
Gross margin index
AQI
Asset quality index
SGI
Sales growth index
DEPI
Depreciation index
SGAI
Sales, general and administrative expenses index
ACCR
Accruals to total assets
LEVI
Leverage index

The catch

Only about 3% of the companies are manipulators, so a model that always answers "no" would look 97% accurate and catch nothing. Before fitting, the training data was rebalanced with SMOTE, which creates synthetic examples of the rare class.

The models

  1. Logistic regression

    The baseline, also checked with an ROC curve.

  2. Decision tree

    CART, pruned at the complexity with the lowest cross-validated error.

  3. Random forest

    100 trees, with a ranking of which ratios matter most.

  4. SVM and XGBoost

    A linear support vector machine, and gradient-boosted trees over 100 rounds.

Every model was judged on a held-out test set, with a confusion matrix.

View the code on GitHub All projects