|
Selected Quarterly Financial Results (Details) (USD $)
|
3 Months Ended |
12 Months Ended |
|
Dec. 31, 2014
|
Sep. 30, 2014
|
Jun. 30, 2014
|
Mar. 31, 2014
|
Dec. 31, 2013
|
Sep. 30, 2013
|
Jun. 30, 2013
|
Mar. 31, 2013
|
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
| IPO Related Expenses |
|
|
|
|
|
|
|
|
$ 74,100,000cdw_IPORelatedExpenses |
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
3,050,100,000us-gaap_SalesRevenueNet |
|
3,266,100,000us-gaap_SalesRevenueNet |
|
3,106,000,000us-gaap_SalesRevenueNet |
|
2,652,300,000us-gaap_SalesRevenueNet |
|
2,713,300,000us-gaap_SalesRevenueNet |
|
2,864,300,000us-gaap_SalesRevenueNet |
|
2,779,300,000us-gaap_SalesRevenueNet |
|
2,411,700,000us-gaap_SalesRevenueNet |
|
12,074,500,000us-gaap_SalesRevenueNet |
10,768,600,000us-gaap_SalesRevenueNet |
|
10,128,200,000us-gaap_SalesRevenueNet |
| Gross Profit |
491,900,000us-gaap_GrossProfit |
|
507,300,000us-gaap_GrossProfit |
|
496,900,000us-gaap_GrossProfit |
|
425,200,000us-gaap_GrossProfit |
|
448,300,000us-gaap_GrossProfit |
|
458,400,000us-gaap_GrossProfit |
|
451,600,000us-gaap_GrossProfit |
|
402,000,000us-gaap_GrossProfit |
|
1,921,300,000us-gaap_GrossProfit |
1,760,300,000us-gaap_GrossProfit |
|
1,669,600,000us-gaap_GrossProfit |
| Income (loss) from operations |
164,300,000us-gaap_OperatingIncomeLoss |
|
184,700,000us-gaap_OperatingIncomeLoss |
|
188,200,000us-gaap_OperatingIncomeLoss |
|
135,800,000us-gaap_OperatingIncomeLoss |
|
142,000,000us-gaap_OperatingIncomeLoss |
[1] |
92,900,000us-gaap_OperatingIncomeLoss |
[1] |
153,600,000us-gaap_OperatingIncomeLoss |
[1] |
120,100,000us-gaap_OperatingIncomeLoss |
[1] |
673,000,000us-gaap_OperatingIncomeLoss |
508,600,000us-gaap_OperatingIncomeLoss |
[2] |
510,600,000us-gaap_OperatingIncomeLoss |
| Net income (loss) |
51,800,000us-gaap_NetIncomeLoss |
|
55,600,000us-gaap_NetIncomeLoss |
|
86,600,000us-gaap_NetIncomeLoss |
|
50,900,000us-gaap_NetIncomeLoss |
|
60,000,000us-gaap_NetIncomeLoss |
[1] |
(2,200,000)us-gaap_NetIncomeLoss |
[1] |
46,700,000us-gaap_NetIncomeLoss |
[1] |
28,300,000us-gaap_NetIncomeLoss |
[1] |
244,900,000us-gaap_NetIncomeLoss |
132,800,000us-gaap_NetIncomeLoss |
|
119,000,000us-gaap_NetIncomeLoss |
| Basic |
$ 0.30us-gaap_EarningsPerShareBasic |
[3] |
$ 0.33us-gaap_EarningsPerShareBasic |
[3] |
$ 0.51us-gaap_EarningsPerShareBasic |
[3] |
$ 0.30us-gaap_EarningsPerShareBasic |
[3] |
$ 0.35us-gaap_EarningsPerShareBasic |
[1],[3] |
$ (0.01)us-gaap_EarningsPerShareBasic |
[1],[3] |
$ 0.32us-gaap_EarningsPerShareBasic |
[1],[3] |
$ 0.19us-gaap_EarningsPerShareBasic |
[1],[3] |
$ 1.44us-gaap_EarningsPerShareBasic |
$ 0.85us-gaap_EarningsPerShareBasic |
|
$ 0.82us-gaap_EarningsPerShareBasic |
| Diluted |
$ 0.30us-gaap_EarningsPerShareDiluted |
[3] |
$ 0.32us-gaap_EarningsPerShareDiluted |
[3] |
$ 0.50us-gaap_EarningsPerShareDiluted |
[3] |
$ 0.30us-gaap_EarningsPerShareDiluted |
[3] |
$ 0.35us-gaap_EarningsPerShareDiluted |
[1],[3] |
$ (0.01)us-gaap_EarningsPerShareDiluted |
[1],[3] |
$ 0.32us-gaap_EarningsPerShareDiluted |
[1],[3] |
$ 0.19us-gaap_EarningsPerShareDiluted |
[1],[3] |
$ 1.42us-gaap_EarningsPerShareDiluted |
$ 0.84us-gaap_EarningsPerShareDiluted |
|
$ 0.82us-gaap_EarningsPerShareDiluted |
| Corporate [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
1,691,000,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,622,700,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,656,200,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,505,600,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,553,000,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,465,800,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,537,400,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,403,900,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
|
|
|
|
| Corporate [Member] | Medium/Large [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
1,440,300,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,374,800,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,395,400,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,274,800,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
1,322,300,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
1,241,300,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
1,308,500,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
1,180,500,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_MediumLargeMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
|
|
|
|
| Corporate [Member] | Small Business [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
250,700,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
247,900,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
260,800,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
230,800,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
|
230,700,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
224,500,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
228,900,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
223,400,000us-gaap_SalesRevenueNet / cdw_CorporateAxis = cdw_SmallBusinessMember / us-gaap_StatementBusinessSegmentsAxis = cdw_CorporateSegmentMember |
[4] |
|
|
|
|
| Public [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
1,169,100,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
1,468,800,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
1,271,600,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
969,900,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
990,500,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
1,244,600,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
1,082,600,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
846,800,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
|
|
|
|
| Public [Member] | Government [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
440,800,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
441,300,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
313,100,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
254,200,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
327,300,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
375,300,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
295,700,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
252,300,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_GovernmentSegmentMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
|
|
|
|
| Public [Member] | Education [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
342,600,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
632,800,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
527,000,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
321,600,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
282,800,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
513,400,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
420,600,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
232,200,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_EducationMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
|
|
|
|
| Public [Member] | Healthcare [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
385,700,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
394,700,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
431,500,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
394,100,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
380,400,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
355,900,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
366,300,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
362,300,000us-gaap_SalesRevenueNet / cdw_PublicAxis = cdw_HealthcareMember / us-gaap_StatementBusinessSegmentsAxis = cdw_PublicMember |
|
|
|
|
|
| Other [Member] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Revenue, Net |
190,000,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
174,600,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
178,200,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
176,800,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
169,800,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
153,900,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
159,300,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
161,000,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
719,600,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
644,000,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
592,400,000us-gaap_SalesRevenueNet / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
| Income (loss) from operations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ 32,900,000us-gaap_OperatingIncomeLoss / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
$ 27,200,000us-gaap_OperatingIncomeLoss / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
[2] |
$ 18,600,000us-gaap_OperatingIncomeLoss / us-gaap_StatementBusinessSegmentsAxis = us-gaap_AllOtherSegmentsMember |
|
|
|