Quote from demonet:
The first question that comes up for me:
I would think that for every 1 contract trade that takes place--at least at a theoretical level--both the BBid and the BAsk volume would have to decrease by 1 because there is a match, i.e. a trade.
No. In order for a trade to take place, you need someone either offering to buy (BID) or someone offering to sell (ASK) and an 'outside party' to come along and sell to the person on the BID, at the price the are willing to buy for, or to buy from the person on the ASK at the price they are willing to sell for. The people on the BID and ASK never actually get to 'meet' each other, therefor there is no 'match' during a trade. Try and visualize the mechanics of a trade at the same time as you are watching the DOM, this will help you. Think in terms of different kinds of orders (limit, market, stop) and try and imagine what is happening as trades are made and orders come in etc...
There is also lots more going on in the DOM that is misleading (or revealing) that you should also consider. People will continuously be entering the BID or ASK and canceling, or decreasing size, or increasing size etc... There are attempts to manipulate price by joining the BID or ASK with fake orders, then canceling them before they are traded.