The NYT had a very good piece pointing out that the bonuses promised by many corporations following the tax cut are often less consequential than they appear. For example, many companies highlighted their maximum bonus amount. This was often a figure (e.g. $1,000) that went to a full-time worker who had been with the company for twenty years or more. At a company like Walmart, very few of their workers would have been there for twenty years and many are part-time. This means that the typical worker would receive much less than the hyped $1,000 bonus.
However, the most remarkable aspect of the bonus game is the fact that a bonus could be tax deductible in 2017 even if it was not paid until 2018. This inexplicable (on policy grounds) quirk in the tax code gave corporate America an enormous incentive to announce bonuses at the end of last year since bonuses announced in 2017 cost much less money than bonuses or pay increases announced and paid in 2018.
If a company like Walmart or AT&T gave its workers $100 million in bonuses or pay increases in 2018 it would cost the company $79 million in after-tax profits, given the new 21 percent corporate tax rate. However, if the same $100 million bonus was announced before the end of 2017 it would only cost the company $65 million in after-tax profits since it could be deducted in a year when the tax rate was 35 percent. (These calculations assume that the companies actually pay the marginal tax rate.)
This means, in effect, that the government would have been paying these companies $14 million to announce a bonus before the end of the year. Since we all believe that companies respond to incentives, it should not be surprising that many announced bonuses before the end of 2017.