How to Price Christmas Light Installation: Roofline, Trees and Take-Down

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Price Christmas Light Installation: Roofline, Trees and Take-Down.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Price Christmas Light Installation: Roofline, Trees and Take-Down.

Price a Christmas light installation as separate lines: roofline per linear foot ($2.50 to $3.15 in the worked example below), each tree by height, take-down as its own fee, and a fixed charge for the two visits, with a minimum job. Measure along the roof, not the floor plan, and have AI check the quote sheet.

A one-line price such as "$1,200 for the house" hides the three things that decide whether the season pays: the height of the work, the second visit in January, and the storage between seasons. Splitting them into lines lets you price each from your own timings, lets a customer drop one item without breaking the rest, and gives an AI something concrete to check.

Follow me on Instagram@sagnikteaches

The quote first: 122 feet of roofline, two trees, one take-down

Here is the finished quote, so you can see the target before the sums behind it. The house is an illustration: a two-storey home with a single-storey garage and porch, 122 feet of roofline in all, an 8 foot tree and a 14 foot tree in the front garden, installed in November and taken down in January. The installer owns the lights, and every figure is illustrative.

Connect on LinkedInSagnik Bhattacharya
LineQuantityRateAmount
Roofline install, single-storey (garage, porch)34 ft$2.50$85.00
Roofline install, two-storey (front eave, two rakes)88 ft$3.15$277.20
Tree 1, 8 ft, install1$125.00$125.00
Tree 2, 14 ft, install1$290.00$290.00
Timers, supplied and set2$25.00$50.00
Install subtotal (November)$827.20
Take-down, single-storey roofline34 ft$1.00$34.00
Take-down, two-storey roofline88 ft$1.25$110.00
Take-down, tree 11$45.00$45.00
Take-down, tree 21$100.00$100.00
Take-down subtotal (January)$289.00
Visit and set-up charge, install and take-down visits1 job$270.00$270.00
Storage, bulb test and repairs between seasons1 job$60.00$60.00
Total$1,446.20

Four details to notice. The two-storey roofline carries a higher rate than the single-storey, because the ladder moves and the extra care take longer. Take-down is priced separately for each element, so a customer who wants the trees left up, or only the roofline done, can see what each costs. The visit and set-up line pays for loading, driving, setting up ladders and packing down on both visits, costs that do not shrink when the job is small. And the sheet is labelled by month: install lines say November and take-down lines say January. That helps the customer and, as the last section shows, it stops a checker from mistaking take-down for a duplicate of install.

Subscribe on YouTube@sagnikteaches

If you measure in metres, multiply a rate per foot by 3.28 to get a rate per metre: $2.50 a foot is about $8.20 a metre.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Measure the slope, not the floor plan

The quantity column is where quotes quietly go wrong. A tape on the ground measures the footprint, but lights run along the slope of the roof. Take a gable 24 feet wide with a 6 in 12 pitch, which rises 6 inches for every 12 inches across. Each half of the roof spans 12 feet and rises 6, so each rake is the square root of 12 squared plus 6 squared, which is 13.42 feet. The two rakes together are 26.83 feet, almost 12% more than the 24 feet you would write down from the plan. On a 26 foot gable the same pitch gives 29.07 feet.

The habit that keeps measurements honest is to write down the element as well as the length: front eave 58 ft, rakes 30 ft, garage eave 22 ft, porch 12 ft. In the worked quote those add to 122 feet, with 88 feet two-storey and 34 feet single-storey. Add a few feet for returns and corners if you routinely run short, but only if your timings show you do.

For a rough figure before a visit, a map's distance tool can measure eave runs. On a computer, right-click the starting point in Google Maps and choose Measure distance, then click along the edge. Treat that as a pre-quote estimate and confirm with a tape or laser at the visit, since a map gives plan length, and the rakes need the slope correction above.

Where the roofline rate comes from: crew hour, lights, margin

Every rate on the quote traces back to four inputs: what a crew hour costs, how long each element takes, what the lights cost per season, and the overhead and margin you add. Here they are for the roofline. All are illustrative, so time your own jobs.

  • Crew hour: two workers at $28 an hour each, plus $16 for the van and its insurance, makes $72 per crew-hour. Working out a labour burden rate shows what each worker really costs once employer costs are added.
  • Time on site: 1.6 crew-hours per 100 feet to install and 0.9 to take down, timed on three jobs. The timing counts ladder moves, untangling, testing and packing down, but not the drive or the loading, which belong in the visit charge later.
  • Lights and hardware: $1.40 a foot to buy, used for five seasons, which is $0.28 a season. Add 8% replaced each season ($0.11) and $0.12 for clips and cable, which gives $0.51 a foot a season.
  • Overhead and margin: 12% for accounts, advertising and the insurance not already in the crew rate, then a 25% margin on the price, which means dividing by 0.75.
StepInstallTake-down
Crew time per 100 ft1.6 crew-hours0.9 crew-hours
Labour at $72 a crew-hour$1.152 a foot$0.648 a foot
Lights and hardware per season$0.51 a footnone
Cost per foot$1.662$0.648
Plus 12% overhead$1.861$0.726
Divide by 0.75 for a 25% margin on the price$2.482$0.968
Single-storey rate on the quote$2.50$1.00
Two-storey rate (about 25% more)$3.15$1.25

The last step matters. A 25% margin means the price is cost divided by 0.75, not cost times 1.25, which would give a margin of only 20%. If that distinction is new, markup versus margin in construction explains it with a pricing sheet. The two-storey rate is the single-storey rate plus 25%, rounded up to the next five cents, because the example's timings showed the upper eaves taking about a quarter longer. Strictly, only the labour part grows with height: 25% more labour on the same lights gives $2.91 a foot, or $2.95 after rounding, so the other 20 cents is a premium for the riskier ladder work. Keep it or drop it on purpose, not by accident. And check your own timings: if work at height takes you twice as long, double the labour part of the rate, not the whole rate.

To get your own timings, use the stopwatch on your phone for three jobs. Start when the first ladder goes up, stop when the last one is down, note the feet, and do not count driving. Paste the three rows into an AI chat and ask for crew-hours per 100 feet, with the working shown, then repeat the division yourself. If the three jobs differ by more than about 30%, time two more before you trust an average.

Trees: price by height, and say what "wrapped" means

Trees are priced per tree, not per foot of roofline, because the time depends on height and width together. The same cost steps apply, with the on-site time and the lights taken per tree. Here are the two trees from the quote.

Step8 ft tree14 ft tree
Install time on site0.8 crew-hours1.8 crew-hours
Labour at $72 a crew-hour$57.60$129.60
Lights per season (spread cost plus replacements)$26.00$62.00
Install cost$83.60$191.60
Install price (cost x 1.12, divided by 0.75)$124.84$286.12
Quoted, install$125$290
Take-down time on site0.4 crew-hours0.9 crew-hours
Take-down cost$28.80$64.80
Take-down price$43.01$96.77
Quoted, take-down$45$100

The 14 foot tree costs 2.3 times the 8 foot tree for 1.75 times the height, because the lights and the time grow with the width of the tree as well as its height. A flat price per foot of tree height would underprice the big ones. Another approach is to set bands: up to 8 feet, 9 to 14 feet, 15 to 20 feet, and anything above by quote, since a tree beyond your ladder's reach needs a lift or a second person on the ground, and that is a different job and a different price.

Whatever the bands, define the words on the quote, because "tree" means very different jobs. A line such as "Tree install: full wrap of trunk and branches from ground to tip, lights supplied, connected through a timer to the customer's outdoor outlet; height measured from the ground to the tip" saves an argument in November. A trunk-only wrap or an outline of the canopy takes less time and fewer lights, so price it as its own line.

Take-down and storage: sell them as lines, not as favours

January's visit is real work. In the example, take-down takes 0.9 crew-hours per 100 feet, which is 56% of the install time. It is priced at 40% of the install rate only because the cost of the lights sits in the install line. A "free take-down" is never free: it is a discount on the install line that you cannot see on your quote sheet. If you must compete on price, discount the install line where you can see it and keep take-down as its own priced line.

Say when take-down happens, for example "between 2 and 20 January, weather permitting", and say what happens if a customer wants the lights down earlier or leaves them up later. A date range gives you a route to plan and the customer something to hold you to.

Storage is the line most installers forget. The example's $60 covers unloading and testing the strings after take-down (0.4 crew-hours, $28.80), bins and shelf space ($6) and spare bulbs ($4). That is $38.80 of cost, which at 12% overhead and a 25% margin comes to $57.94, rounded to $60. The line covers the pre-season test and repair, not a mid-season repair visit, which should have its own call-out price on the quote. If you store the customer's own lights instead, the same line applies; say in writing what you are and are not responsible for if a string already has a fault.

For deposits, booking slots and how to run the storage shelf, Christmas light installation business: deposits, slots and storage with AI goes into the operations side.

The visit charge and the minimum job: a porch-only quote

Loading the van, driving, setting up ladders and packing down take the same time whether the house has 30 feet of roofline or 300. In the example each visit carries 1.25 crew-hours of that fixed work, which is $90 at $72 an hour. Two visits cost $180, which at 12% overhead and a 25% margin comes to $268.80, rounded to $270. That is the visit and set-up line on the quote.

The minimum job is the smallest quote you will accept. Decide it by asking what the smallest roofline is that is worth a trip. With the visit charge ($270) and the storage line ($60) already on the sheet, a $400 minimum leaves $70 for the work itself, which at $2.50 to install and $1.00 to take down is 20 feet of roofline. A quote that comes to less than $400 is a trip for under 20 feet, so raise it to $400 or decline.

Try it on a porch only, 14 feet of single-storey roofline.

  • Install: 14 ft at $2.50 is $35.00.
  • Take-down: 14 ft at $1.00 is $14.00.
  • Visit and set-up: $270.00.
  • Storage, bulb test and repairs: $60.00.
  • Lines total $379.00, which is under the $400 minimum, so the customer is quoted $400.

Without the visit charge and the minimum, the same job would be quoted at $109. It costs you about $251 before overhead: $23.27 of install labour and lights, $9.07 of take-down labour, $180 for the two visits and $38.80 for storage. At $109 you lose $142 on it. Some customers dislike a separate visit line and prefer to see a "minimum job charge", which does the same sum. Use whichever wording suits your customers, but keep the visit cost in your own sheet either way.

Customer-owned lights or yours: two rate cards

If the installer owns the lights, the install rate has to carry their cost, as in the quote above. If the customer buys the lights, you charge labour only, the install rates fall, and the sheet changes in other places too. Here are both cards from the same cost inputs.

ItemYour lightsCustomer's lights, labour only
Roofline install, single-storey$2.50 a foot$1.75 a foot
Roofline install, two-storey$3.15 a foot$2.20 a foot
Tree install, 8 ft$125$90
Tree install, 14 ft$290$195
Take-down, roofline$1.00 / $1.25 a foot$1.00 / $1.25 a foot
Take-down, trees 8 ft / 14 ft$45 / $100$45 / $100
Visit and set-up$270$270
Storage, bulb test and repairs$60Optional: $55

The labour-only install rates come from $1.152 a foot of labour: times 1.12, divided by 0.75, gives $1.72, rounded to $1.75. The trees follow the same sum on $57.60 and $129.60 of labour. Take-down stays the same because it is all labour. Add one line that the customer-owned model needs: what happens when a string the customer supplied is faulty. Testing and replacing a string at cost plus a stated percentage keeps a bad box of old lights from turning your install day into an unpaid repair day.

Ask AI to check the quote sheet

A quote sheet has plenty of places for a small mistake: a rate from last year, a line typed wrongly, a whole line forgotten. A second reader helps, and an AI is a quick one, provided you give it the rate card and a checklist and forbid it to make up prices. This is the draft the example installer is about to send, and the prompt used to check it.

Check this quote sheet for a Christmas light installation. First recalculate every line (quantity x rate) and the total. Then compare each rate with my rate card and flag any line that differs. Then list any item from my checklist that is missing from the quote. Do not suggest new prices.

Rate card: roofline install single-storey $2.50/ft, two-storey $3.15/ft; take-down $1.00/ft and $1.25/ft; tree install 8 ft $125, 14 ft $290; tree take-down 8 ft $45, 14 ft $100; timers $25 each; visit and set-up $270 per job; storage $60 per job; minimum job $400.
Checklist: install lines, take-down lines, timers, visit and set-up, storage, minimum job check, access notes, tax line if I charge tax, deposit and weather terms.

Quote sheet:
Roofline install, single-storey, 34 ft x $2.50 = $85.00
Roofline install, two-storey, 88 ft x $3.15 = $272.20
Tree 1, 8 ft, install = $125.00
Tree 2, 14 ft, install = $265.00
Timers, 2 x $25 = $50.00
Take-down, single-storey, 34 ft x $1.00 = $34.00
Take-down, two-storey, 88 ft x $1.25 = $110.00
Take-down, tree 1 = $45.00
Take-down, tree 2 = $100.00
Storage, bulb test and repairs = $60.00
Total = $1,146.20
Arithmetic
- Line 2: 88 x $3.15 = $277.20, not $272.20 (the sheet is $5.00 low).
- The sheet lines add to $1,146.20, which matches the sheet total.

Rates against the rate card
- Tree 2, 14 ft install: sheet $265.00, rate card $290.00 (the sheet is $25.00 low).
- All other rates match.

Missing from the quote
- Visit and set-up charge ($270.00).
- Access notes for the two-storey sections and the 14 ft tree.
- Tax line, if you charge tax.
- Deposit and weather terms.

Minimum job: not triggered (the total is above $400).
Possible duplicates: the take-down lines repeat the quantities of the install lines (34 ft, 88 ft). Check that they are meant.
Total with the fixes and the visit charge: $1,446.20.

That reply found three real problems: a typo worth $5, an old rate on the big tree worth $25, and the missing visit line, worth $270, which is the costly one and the one a hurried owner forgets most often. It also flagged a "possible duplicate" that is not one. The take-down lines repeat the quantities because take-down is a separate visit in January, which is why the sheet in this tutorial labels install and take-down lines by month. If a person reading your sheet could make the same mistake, so can an AI, and so can your customer.

Check the AI's own sums too. It said the sheet lines add to $1,146.20, and they do, but confirm that with a calculator the first few times you use this, because language models do slip on arithmetic. The instruction "do not suggest new prices" also did its job. Without it, a checker will often add a market rate of its own, and the rate card is the one thing the check should not touch.

Homeowner price guides: a smoke alarm, not a rate card

Your customers have read something, so know what it says. One homeowner cost guide, Fixr, updated in January 2025, lists roofline installs at roughly $2 to $5 a linear foot for materials and labour, take-down at about $0.50 to $0.65 a foot or $125 to $350 a project, and a 12 to 18 foot tree at around $125 to $250 (only its small-tree figure is labelled as labour alone). Another, from Bob Vila, updated in October 2022, gives $3 to $5 a foot. As of November 2026 those are the figures on the pages, and they are a poor basis for a rate.

They average over many places and many kinds of job, and they disagree with themselves: Fixr's FAQ gives $800 to $1,500 as a typical job against $250 to $650 at the top of the same page. They also price for a homeowner reader, not for your costs. Used properly they work like a smoke alarm. If your rate is far outside the range, check that you have a reason. The example's $2.50 install rate, which includes the lights, sits inside the $2 to $5 range. Its $1.00 take-down is above the guide's $0.50 to $0.65 because it rests on the example's own timing of 0.9 crew-hours per 100 feet, with overhead and margin on top (if your take-downs run faster, your rate will fall), and its $290 for the 14 foot tree, above the guide's $125 to $250, carries a season's share of the lights, where the guide does not say whether its tree figure includes them.

After the season, record actual crew-hours for each job against what you quoted, and replace your timings with the new ones. By the second season the rate card is built on your own work rather than on a guess, and the AI check has a reliable card to compare against. For the general method of turning your own costs into a flat fee, flat-fee pricing for service jobs works through the sums, and whether AI can price a job accurately sets out where it helps and where it does not.

Questions installers ask about pricing light jobs

How do I quote a very steep or very high roofline?

Price the height as a multiplier taken from your own timings, as the two-storey rate does in the worked quote. If reaching the work needs a lift, roof anchors or a harness, make access its own line, or decline the section. Tell your insurer what height you work at, because cover for roof and ladder work differs between policies.

Can AI estimate roofline length from a photo?

Not reliably. Photos distort length, and a wrong estimate flows straight into the price. Use a tape or laser measure at a visit, or a map's distance tool for a rough pre-quote, then confirm on site. AI is better used to check the arithmetic and list what the quote sheet is missing.

What should the quote say about weather and power?

State that dates move with the weather, that the customer provides a working outdoor outlet, and what happens if an outlet or timer fails after install. Say what a repair visit costs during the season. Have your terms read by an adviser once, since what counts as a binding quote differs between places.

Further reads

Sources: homeowner cost guides read in November 2026 (Fixr, updated January 2025; Bob Vila, updated October 2022) for the sanity-check ranges only; Google Maps Help for the distance-measuring tool. All crew, lights, time and price figures are illustrative; replace them with your own timings.

Want your quote sheets checked before they go out?

On a 1:1 call we'll map how you build quotes today, pick the one check worth automating first, and see whether your quoting app can flag missing lines for you.

Book a 1:1 call with me