Earnings season is now underway and, as per usual, the big U.S. banks are among the first companies to report their first-quarter results. Bank of America (NYSE:BAC), which has been one of the most impressive turnaround stories of the post-financial crisis era, just reported another solid all-around quarter.

Here's a breakdown of some of the highlights in the report, including the headline numbers, some particularly impressive areas of growth and profitability, as well as where there's still room for improvement.

Interior of a Bank of America lobby.

Image Source: Bank of America.

1. Headline numbers beat expectations

While it's not the best indication of how well a bank (or any company, for that matter) actually did in a given quarter, let's start off by pointing out that Bank of America beat analyst expectations on both the top and bottom lines. The bank's earnings of $0.62 per share and revenue of $23.1 billion both surpassed estimates of $0.59 and $23.059 billion, respectively.

However, that doesn't tell us much about how the bank's business performed or what to expect going forward. So, let's take a closer look at the report.

2. Strong growth all around

Most of Bank of America's business components posted strong growth during the quarter. Just to name some of the key figures:

  • Loan balances grew 5% from the first quarter of 2017.
  • Average deposit balances increased by 3%, including 8% growth in consumer loans.
  • Merrill Edge brokerage assets jumped by an impressive 18% and saw record inflows.
  • Total wealth management assets went up to $2.7 trillion, and the bank saw significant shifts from client cash balances into investments over the past year.

3. Finally hitting the key benchmarks

In the banking industry, the benchmarks for key profitability metrics return on equity (ROE) and return on assets (ROA) are 10% and 1%, respectively. And Bank of America hasn't achieved those for a long time.

Until now, that is. Bank of America's first-quarter ROE of 10.8% and ROA of 1.21% handily exceeded these benchmarks.

To be fair, while this was partially due to growth and the bank's ongoing efforts to reduce expenses, tax reform gave the bank a big boost, as I'll discuss later on.

4. Efficiency keeps improving

Speaking of the bank's efforts to reduce expenses, the first-quarter results reflect the improved efficiency. In fact, Bank of America's efficiency ratio has now fallen to 60% from 63% a year ago (lower is better).

Here's why. Although Bank of America's loan portfolio and deposit base grew significantly, the bank's noninterest expenses actually dropped by 1% from a year ago.

5. Help from tax reform

Bank of America said that thanks to the Tax Cuts and Jobs Act, it expects an ongoing reduction of 9 percentage points in its effective tax rate, providing more concrete information about the expected impact than it did last quarter.

To give you an idea of how much this could help the bank's bottom line, consider that Bank of America's pre-tax income for the first quarter was about $8.4 billion. A 9-percentage-point reduction in the effective tax rate translates into $756 million in additional net income -- or more than $3 billion on an annualized basis.

6. Continued growth in mobile and online services

I mentioned earlier that Bank of America has done an excellent job of expense management. One big reason for this is the bank's emphasis on technology and mobile banking, which can dramatically improve efficiency.

For example, 24% of Bank of America's check deposits now take place through its mobile app, up from 16% just two years ago. A mobile deposit costs the bank a tiny fraction of what a teller-assisted deposit costs, so this can add up to major savings.

Furthermore, Bank of America's active digital banking users have grown by 45% over the past three years and its mobile application now has more than twice the usage rate as it did in 2015.

7. Trading revenue is still a little weak

One major weak spot over the past year or so for all banks with trading operations has been fixed-income trading revenue. Many analysts thought that this might begin to change, as interest rates have been rather volatile during the first quarter.

However, Bank of America (like most of its peers) missed analyst expectations for fixed-income revenue. Analysts had been forecasting $2.92 billion, which would have been a slight year-over-year gain. Instead, fixed-income trading revenue fell to $2.5 billion, a drop of 13%.

To be clear, the majority of Bank of America's earnings report was quite strong. However, trading revenue remains a weak point.

8. Profit margins didn't increase as expected -- or did they?

When interest rates rise, banks tend to make more money. Known as margin expansion, this is the concept that interest rates banks collect on loans tend to increase faster than rates they pay out on deposits.

At first glance, Bank of America's margins might not look great. After all, Bank of America's net interest margin of 2.39% was the exact same as it was a year ago, and the Fed has hiked rates several times over the past year.

However, it's important for investors to know that this is mainly due to the sale of its international credit card portfolio (which was a high-yielding asset). Bank of America did see interest spreads rise and, in fact, the bank says that a 100-basis-point parallel shift in rates would mean $3 billion in additional net interest income annually.

A solid quarter, with room for improvement

Bank of America had an excellent first quarter, but there's still potential for improvement. Trading revenue is an obvious example. Additionally, the Fed is expected to raise interest rates several more times in the coming years, consumers continue to adopt more efficient mobile banking technologies, and wage growth could create even more demand for loans.

The point is that although Bank of America has improved tremendously over the past few years, there's no reason to believe that the bank has peaked just yet.