I use my 20 years of experience in estimating, but basically it goes as follows.

First, list all the materials and request a quote from a supplier. Then I break the work down into small pieces. I estimate the time it'll take to do each of these small jobs, then I add it all together.

If I'm hungry, I discount it. If I'm busy I add profit. I also keep track of past jobs, but with the rise in steel and copper, I'm doing everything from scratch again.

Lastly, I use an intuitive factor. If it's a little old lady from church, I could care less if I make any money. If it's an established customer who pays well the bid is low. If I get butterflies in my stomach thinking about this person or this job, I add a healthy profit, or pass on it. My worst times in business have been when I've been hungry, and ignored the intuitive factor. I've learned the hard way that you can never be hungry enough to get involved with a nightmare customer or a nightmare job.

Dave