Weekly retail sales rise 2.9%