1. Your oldest active credit agreement is not very old
This is fairly straight forward. If you've not been exposed to borrowing for a reasonable length of time, people won't want to lend you money. They have no reason to have any confidence in your ability to repay them. As other said, it's pretty much a case of proving yourself by being good with credit over a period of time.
2. You have no active credit card accounts
Credit reference agencies have to consider a variety of factors for a variety of purposes. Notably, they will be used for credit cards, unsecured loans, mortgages, and secured loans such as vehicle finance applications. These all have varying types of customer, and some will be inherently more risky than others. For instance, someone with a mortgage on a home is far more likely to make payments because they would be homeless without, however someone with a finance agreement on a car is relatively less likely to make those payments because all they stand to lose is their car. Consider that the most fruitful information the lender will get is a score and some breakdown of how it's generated, it's a very general understanding of your history. For that reason, having a wide variety of credit is very important. A good variety of credit to have would be one secured loan (e.g car finance) to get started, as well as at least one revolving unsecured credit account (e.g a credit card), and later on in your "credit life" an unsecured fixed term loan (e.g a loan for something which has nothing secured against it).
I say the above reluctantly, because that's how I increased my credit score from 450 to 999 - first step was the car finance where in 3 months or so I changed from 450 to around 600, with a credit card I was approaching 900, and once I had an unsecured loan for 8 months I hit 999 - now I have all of the above plus a competitive mortgage and remain at 999. Whether each is mandatory to maintain 999 is debatable but based on personal experience, it seems reasonable.