I have got a database with balance sheet and income statement data of 150.000 firms for the period 1995-2014. I need to get a good forecast of each firm's sales. As exogenous variables I can use the industrial production index of the relative industrial sector and the lagged other balance sheet variables. I would be grateful if you could suggest me the best methodology to use. I was thinking to try ARIMA, ARIMAX and exponential smoothing.

  • 2
    $\begingroup$ ARIMA, ARIMAX and exponential smoothing sound reasonable. There are automated procedures for selecting an "optimal" ARIMA model (function auto.arima) and exponential smoothing method (function ets) in "forecast" package in R. These methods were tried out on large datasets and delivered satisfactory performance, see Rob J. Hyndman's blog post "R vs Autobox vs ForecastPro vs …" for a reference. $\endgroup$ – Richard Hardy Mar 1 '16 at 20:51
  • $\begingroup$ A few questions. First do you mean 150 firms, or 150 thousand firms? Your post says 150.000 with a period. Another question is how far ahead are you forecasting? If you are just going ahead one or two periods, then some kind of arima model or such would be fine. If you are forecasting a year or two, then I think you should try to capture the correlations between the companies and sectors using something like PCA. Also the question of what you mean by a good forecast. If you want good you and need years of forecasts, and you've got 150 firms, then you need a staff of analysts. $\endgroup$ – horseless Mar 2 '16 at 0:27
  • $\begingroup$ Hi, thank you very much for your kind replies. My database is made of 150 thousand firms and I need forecast for two years. $\endgroup$ – Stepan Mar 2 '16 at 8:41
  • $\begingroup$ Hi, thank you very much for your kind replies. My database is made of 150 thousand firms and I need forecast for two years. The total economy is disaggregated into around 100 so-called "micro-sectors" and I have exogenous forecast for the industrial production of each of them. Each firm belongs to only one micro-sector. @horseless would you be so kind to tell me something more abot applying PCA, I am completely new to this kind of analysis. Thank you very much again. Best Regards $\endgroup$ – Stepan Mar 2 '16 at 8:59
  • $\begingroup$ You might also consider looking in to panel methods. You should be able to exploit the fact that N >> T. $\endgroup$ – John Mar 2 '16 at 19:14

[Sorry, I'm new here and accidently posted this as an answer and its just meant as a comment responding to a question, but it does not let me delete answers to put it under comments. If I last long enough, I'm sure I'll figure out how to edit things.]

PCA is an eigenvalue/eigenvector decomposition of the data frequently applied in risk management to look for systemic factors effecting a large portfolio. My favorite introduction to the concept is an excellent efficient and very focused chapter in Carol Alexander's Market Risk Analysis vol 2 (and the volume number is critical since there are 4 books). This can give you factors that explain the majority of the variability in your series and it reduces your problem from 150,000 series down to a few factors. There are lots of articles on this if you search. Alternatively, and less techy, you could create your own capital weighted indexes and use those to predict the 150,000 individual series, using betas estimated off that index for each firm. Your IP index could influence these indexes.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.