demand tree