International Business Machines (NYSE:IBM) has been struggling to grow its revenue for years. Some of the decline has been due to divestitures, and some has been due to currency translation effects from a strong U.S. dollar. But there's no arguing that the company's transformation has been slow to bear fruit.

The good news: 2020 is shaping up to be a good year for IBM. Here's why.

Red Hat

IBM completed its mammoth $34 billion acquisition of software company Red Hat in July. It hasn't helped IBM's revenue much since then because of the accounting rules surrounding the deal, but that situation will resolve itself over the next few quarters.

On a stand-alone basis, Red Hat generated nearly $1 billion of revenue in the third quarter, putting it at an annual run rate of around $4 billion. IBM was only able to recognize $371 million of that revenue in the third quarter, while still booking all the costs.

The Red Hat and IBM logos.

Image source: IBM.

Once the accounting fully shakes out, Red Hat's annual revenue will boost IBM's top line by around 5%. Beyond that initial boost, Red Hat is a fast-growing business in its own right. The company's stand-alone revenue surged 19% year over year in the third quarter, and that rate could accelerate as IBM pitches Red Hat software to its existing customers.

On top of expanding Red Hat's presence to dozens of additional countries, IBM sees a $1 billion annual revenue opportunity for every 5% of its base of large clients with little or no Red Hat spend that adopt the open-source pioneer's software. Red Hat has the potential to become much larger as part of IBM.

The combination of IBM and Red Hat can also drive increased revenue for IBM's own software. The company has been rolling out Cloud Paks, which are containerized software solutions that run on Red Hat's OpenShift platform. The idea is to allow IBM software to run anywhere OpenShift runs, which includes on-premise infrastructure and various public clouds.

Exactly how much revenue Red Hat will contribute to IBM in 2020 depends on the accounting, as well as how quickly Red Hat manages to grow. But it should be enough to return IBM to growth, at least for the year.

Mainframes

Also contributing to IBM's revenue growth in 2020 will be the company's iconic mainframe business. IBM has been building its massive mainframe systems for more than 50 years, despite vast changes in the computing industry. Mainframes are particular pervasive in the financial industry, where IBM's mainframe systems process nearly 90% of all credit card transactions.

IBM refreshes its mainframe lineup every few years, triggering a spike in hardware sales as some of its customers upgrade their systems. That spike typically lasts four or five quarters, providing IBM with a yearlong revenue boost.

IBM announced its latest z15 mainframe in September, and it began shipping the new system right at the end of the third quarter. This positions IBM for a surge in mainframe revenue starting in the fourth quarter and extending through most of 2020.

During the last mainframe cycle, mainframe revenue soared by 112% year over year during the strongest quarter for the business. IBM generated $8.7 billion of revenue from the systems segment during the first four quarters of the previous mainframe cycle, an increase of $1.5 billion from the prior four-quarter period, which didn't include a mainframe launch. Higher mainframe sales can also boost revenue in other areas, particularly IBM's financing business.

Red Hat and the new mainframe system will fuel IBM's return to growth in 2020. The big question: Will growth prove to be sustainable this time around? Or will IBM once again suffer from revenue declines once its tailwinds peter out?

The market isn't all that optimistic, valuing IBM at around 10 times expected earnings, deep into value stock territory. If IBM can successfully break out of its yearslong revenue malaise, the stock has plenty of room to run.