Image source: iStock/Thinkstock.

Bank of America (BAC 1.70%) has made a lot of progress reducing its expenses since the financial crisis. Over the past five years alone, its annual operating costs have dropped by $15 billion a year, and the bank thinks it can cut $3 billion more by 2018.

Despite this, the nation's second biggest bank by assets still isn't generating the level of profitability that investors have come to expect -- especially from such a marquee brand in the financial space.

In the latest quarter, Bank of America earned only 0.91% on its assets. The standard industry benchmark is a 1% return on assets. And many of Bank of America's competitors are even more profitable. For instance, Wells Fargo's (WFC -0.26%) return on average assets in the second quarter was 1.2%.

Bank

Return on Average Assets (2Q16)

U.S. Bancorp

1.43%

Wells Fargo

1.20%

JPMorgan Chase

1.02%

Bank of America

0.91%*

*Adjusted for non-cash accounting charges. Data source: Quarterly filings.

Given Bank of America's success at cutting expenses, you may not be surprised to hear that the main culprit for the bank's profitability problems is now its revenue. And as I discussed here, it's struggling in particular to squeeze enough money out of its asset portfolio.

You can see this by looking at Bank of America's net interest margin, which measures how much a bank earns from its loan and securities portfolios. It's calculated by subtracting a bank's interest expense (what a bank pays to borrow money from depositors and other lenders) from its interest income (what a bank earns from making loans and holding interest-earning securities such as bonds), and then dividing that by its earning assets.

It's net interest margin in the second quarter was 2.24%, after adjusting for the idiosyncratic way Bank of America accounts for interest rate fluctuations. This is well below Wells Fargo's net interest margin of 2.86%. To put the difference in perspective, if Bank of America had the same net interest margin as Wells Fargo, the North Carolina-based bank would earn $1.4 billion more net interest income a quarter.

So why is Bank of America's net interest margin so much lower than a peer like Wells Fargo? The answer is twofold.

In the first case, Bank of America pays more to borrow money. It paid $2.5 billion to borrow $1.3 trillion in the second quarter, equating to an annualized interest rate of 0.76%. That's cheap when you consider how much you or I pay to borrow money, but it's expensive when you compare it to how much, say, Wells Fargo pays. Over the same stretch, Wells Fargo paid only $1.4 billion to borrow $1.25 trillion worth of funds, equating to an annual rate of 0.34%.

For all intents and purposes, then, Bank of America pays $4 billion more a year to borrow the same amount of money as Wells Fargo. This obviously goes a long way toward explaining why Bank of America's net interest margin is lower than Wells Fargo's.

In the second case, Bank of America's assets yield less than Wells Fargo's do. The former's yield on earning assets was only 2.8% in the first quarter, after backing out accounting adjustments. By contrast, Wells Fargo's yield on earnings assets was 3.2%. Thus, insofar as its net interest margin is concerned, Bank of America is hit on both ends: the top (its interest income) and the bottom (its interest expense).

In sum, if an investor wants to get a grip on Bank of America's profitability problems, the place to start is its net interest margin -- and especially in figuring out why it pays more to borrow money and why its assets earn lower rates than its peers.