XML 201 R109.htm IDEA: XBRL DOCUMENT v2.4.1.9
Restructuring plan - Additional information (Detail) (USD $)
12 Months Ended 3 Months Ended 12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Jun. 30, 2014
Dec. 31, 2015
Restructuring Cost And Reserve [Line Items]          
Entity Number Of Employees 37dei_EntityNumberOfEmployees 365dei_EntityNumberOfEmployees      
Segment, Continuing Operations [Member]          
Restructuring Cost And Reserve [Line Items]          
Restructuring Charges $ 26,725,000us-gaap_RestructuringCharges
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
$ 0us-gaap_RestructuringCharges
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
$ 0us-gaap_RestructuringCharges
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
   
Restructuring Charges Member | Segment, Continuing Operations [Member]          
Restructuring Cost And Reserve [Line Items]          
Estimate Of Restructuring Charges To Be Incurred       49,000,000bpop_EstimateOfRestructuringChargesToBeIncurred
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_RestructuringChargesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
22,000,000bpop_EstimateOfRestructuringChargesToBeIncurred
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_RestructuringChargesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Estimate Of Severance Retention And Other Payments To Be Incurred         13,000,000bpop_EstimateOfSeveranceRetentionAndOtherPaymentsToBeIncurred
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_RestructuringChargesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Estimate Of Operational Set Up Cost And Lease Cancellations To Be Incurred         $ 9,000,000bpop_EstimateOfOperationalSetUpCostAndLeaseCancellationsToBeIncurred
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_RestructuringChargesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember