The addresses above 0.001 threshold could almost directly be mapped to holders 1:1. But I know that holders use several addresses so that has to be accounted for.
What are the 10 million dust addresses anyway? Nobody buys with $0.10

Every losing Satoshi Dice bet used to pay out 0.00000001 to the betting address. Obviously it costs a lot more to spend these outputs than they're worth so most of them are stuck.