You also need to appreciate that this is not just about tourism into Tokyo but also out of Tokyo. There are a lot of Japanese citizens on the BA flights and a lot of tour groups. If you live in North or North East Tokyo or Chiba then Narita is by far more convenient. The populations of these areas is upwards of around 10 million people.
I live in Shinjuku. If I take the BA flight I tend to choose Narita. Narita is an express train with reserve seating and lots of space for luggage. Haneda is local train only and, given the HND flight time, is a journey you have to make with luggage during Tokyo's infamous rush hour. Not pleasant.