As with most contracting jobs you are negotiating on skilled labor and profit margin...the price of materials do not significantly vary where the roofer is obtaining shingles... i would make sure they are insured and ask for there most recent 3 jobs they completed as references. Too many times...