Love is free, but romance isn’t—especially right around Valentine’s Day, when an order of a dozen red roses can cost upwards of $45. A simple explanation for their high sticker price is that florists profit from high seasonal demand, but e-coupon website Brad’s Deals found the story to be a little more complicated. They spoke with representatives from online floral companies, who explained the hidden costs involved in your purchase.

According to Brad’s Deals, 250 million roses are grown for Valentine's Day every year. To meet this increased demand, flower factories hire additional harvesters and deploy extra trucks and airplanes to transport the blossoms, which costs them money. Also, don’t forget roses aren’t in season: Valentine's flowers are often imported from faraway places like Latin America or Africa, and poor local growing conditions can make them less plentiful, and thus more expensive. Add distribution costs and a rush shipping job to the mix, and you’re facing a hefty sum.

To figure out the optimal time to score Valentine’s Day roses for cheap, Brad’s Deals tracked five different online florists’ weekly prices for one year, and compiled their findings in the chart below. It shows that the price of roses starts climbing in mid-January; as Valentine’s Day approaches, the more expensive they become.

Since some online flower vendors let customers order roses up to a month in advance, Brad’s Deals recommends ordering bouquets by January 15. Obviously, we’re already past that date, but the underlying advice remains the same: Buy your V-Day flowers sooner, rather than later.

To lower costs further, Brad's Deals advises keeping an eye out for vendors offering coupons and promo codes, or consider skipping conventional florists altogether and placing an order with Amazon: They ship select fresh-cut flowers, and Prime members get free two-day delivery, or free one-day delivery for orders of $35 or more.

[h/t Christian Science Monitor]