Menu

TaskUs, Inc. (TASK)

$12.33
+0.19 (1.57%)
Get curated updates for this stock by email. We filter for the most important fundamentals-focused developments and send only the key news to your inbox.

Data provided by IEX. Delayed 15 minutes.

Market Cap

$1.1B

Enterprise Value

$1.2B

P/E Ratio

13.6

Div Yield

0.00%

Rev Growth YoY

+7.6%

Rev 3Y CAGR

+9.4%

Earnings YoY

+0.4%

TaskUs Is Cannibalizing Its BPO Business to Build an AI Moat (NASDAQ:TASK)

Executive Summary / Key Takeaways

  • Self-Disruption as Strategy: TaskUs is deliberately cannibalizing its traditional time-based outsourcing business to build an AI-first solutions platform, with AI Services growing 60.8% year-over-year in Q3 2025 while management explicitly warns of near-term revenue headwinds from automation—signaling a rare BPO willing to sacrifice short-term margins for long-term positioning.

  • Client Concentration as Both Engine and Risk: The largest client now represents 27% of revenue (up from 23% a year ago), driving record growth through massive AI and trust & safety ramps, but creating a single-point-of-failure risk that could slash revenue by 15-20% if budgets shift, making this relationship the critical variable for 2026 performance.

  • Margin Pressure by Design: Adjusted EBITDA margins of 21.2% in Q3 2025 are expected to decline to approximately 19.8% in Q4 due to strategic AI investments, facility expansions across four continents, and aggressive pricing to take market share—management is trading 200 basis points of margin to capture tens of millions in competitor revenue.

  • Valuation Disconnect: Trading at $12.36 with a P/E of 14.05 and EV/EBITDA of 5.84, TaskUs trades at a significant discount to its 17% revenue growth and 21%+ EBITDA margins, suggesting the market hasn't priced in the successful AI transformation or is discounting the execution risk inherent in the pivot.

  • The "AI-Resistant" Moat: The company is systematically moving up the value chain into regulated, complex services—healthcare, financial services, trust & safety—where regulatory complexity and specialized expertise create barriers to pure automation, potentially sustaining double-digit growth even as routine BPO work gets automated into oblivion.

Setting the Scene: From Cost Arbitrage to AI Solutions

TaskUs, founded in 2008 and incorporated in Delaware in 2018 with Blackstone (BX)'s backing, began as a classic business process outsourcer leveraging global labor arbitrage. The company went public in June 2021 at the peak of the growth stock frenzy, only to face an existential crisis during 2022-2023 when clients across social media, meal delivery, and transportation slashed costs by shifting volumes offshore and optimizing every outsourced dollar. This 18-month crucible forced management to confront a harsh reality: the traditional BPO model of selling hours was being "automated into oblivion" as clients deployed generative AI to eliminate routine workflows.

Rather than defend a dying business, TaskUs made a strategic bet that defines today's investment case. In 2024, management declared a singular focus: "returning the company to growth" through operational excellence and market share gains. By Q3 2025, this evolved into "reimagining our business for the AI era"—a deliberate pivot from selling time-based services to delivering solutions through a combination of technology and talent. This isn't incremental innovation; it's a fundamental rewiring of the business model that acknowledges the BPO industry is bifurcating between players who will be automated away and those who capture the AI revolution.

The company operates through three service lines that reveal its strategic migration path. Digital Customer Experience (DCX) provides omnichannel customer care, still the revenue bedrock at $164.2 million in Q3 2025 but growing at a modest 5.8% as routine interactions face automation pressure. Trust & Safety, at $75.8 million, grew 19.1% by monitoring content for social media giants—a service that becomes more critical, not less, as AI generates more content requiring human judgment. AI Services, at $58.7 million and growing 60.8%, represents the future: data labeling, annotation, and red-teaming for foundation model developers. This segment is transforming faster than any service CEO Bryce Maddock has witnessed, with demand for master's and PhD-level expertise across every subject area.

TaskUs sits in a BPO industry experiencing severe disruption. Growth has slowed as clients leverage generative AI to automate workflows previously done by employees and outsourced vendors. Competitors with excess capacity are slashing rates to fill seats, creating pricing pressure that TaskUs is meeting head-on by being "more aggressive on price to drive growth." The company is taking tens of millions of dollars in business from competitors across 48 clients, including 13 of its top 20, by combining operational excellence with an AI-first value proposition. This aggression is possible only because TaskUs maintains EBITDA margins above 21% while rivals struggle to stay above 10%, suggesting a structural cost advantage or superior execution that enables share-taking without margin collapse.

Technology, Products, and Strategic Differentiation: Building the AI Moat

TaskUs's technological differentiation isn't about proprietary algorithms but rather its ability to operationalize AI at scale while maintaining human judgment where it matters. The AI Services segment provides large language model support, data labeling, annotation, context relevance, and transcription—services that train and tune machine learning algorithms. What makes this economically defensible is the project's complexity and the specialized expertise required. As Maddock notes, "the work we are doing supporting generative AI is growing faster than any other solution we provide," with demand for AI red-teaming—rigorously testing models for weaknesses, biases, and misuse—surging as safety becomes critical. Effective red-teaming requires deep technical expertise combined with cultural, ethical, and policy understanding, a moat that pure technology players cannot easily replicate.

The company is launching an Agentic AI " data-chart-data="{"annual": {"symbol": ["TASK", "TASK", "TASK", "TASK", "TASK", "TASK"], "date": ["2019-12-31", "2020-12-31", "2021-12-31", "2022-12-31", "2023-12-31", "2024-12-31"], "year": [2019, 2020, 2021, 2022, 2023, 2024], "quarter": [0, 0, 0, 0, 0, 0], "period": ["annual", "annual", "annual", "annual", "annual", "annual"], "eps": [0.37, 0.38, -0.62, 0.41, 0.49, 0.52], "nonControllingInterests": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "prefDVDs": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "grossProfit": [164895000.0, 207536000.0, 328967000.0, 401728000.0, 385620000.0, 392087000.0], "ebit": [38875000.0, 51901000.0, -54459000.0, 76454000.0, 96749000.0, 95730000.0], "netIncComStock": [33940000.0, 34533000.0, -58698000.0, 40422000.0, 45690000.0, 45870000.0], "consolidatedIncome": [33940000.0, 34533000.0, -58698000.0, 40422000.0, 45690000.0, 45870000.0], "taxExp": [-4411000.0, 9886000.0, -2265000.0, 24111000.0, 29342000.0, 28311000.0], "netIncDiscOps": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "rnd": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ebt": [29529000.0, 44419000.0, -60963000.0, 64533000.0, 75032000.0, 74181000.0], "sga": [90630000.0, 113519000.0, 335312000.0, 260003000.0, 228523000.0, 239585000.0], "netinc": [33940000.0, 34533000.0, -58698000.0, 40422000.0, 45690000.0, 45870000.0], "intexp": [9346000.0, 7482000.0, 6504000.0, 11921000.0, 21717000.0, 21549000.0], "epsDil": [0.37, 0.38, -0.62, 0.39, 0.48, 0.5], "opex": [128033000.0, 157207000.0, 383249000.0, 317831000.0, 290582000.0, 299663000.0], "revenue": [359681000.0, 478046000.0, 760703000.0, 960489000.0, 924365000.0, 994985000.0], "opinc": [36862000.0, 50329000.0, -54282000.0, 83897000.0, 95038000.0, 92424000.0], "shareswa": [91737020.0, 91737020.0, 94832137.0, 97815679.0, 93938931.0, 88912835.0], "ebitda": [74041000.0, 90897000.0, -6574000.0, 134251000.0, 157486000.0, 155888000.0], "shareswaDil": [91737020.0, 91737020.0, 94832137.0, 102603179.0, 96173071.0, 92304270.0], "costRev": [194786000.0, 270510000.0, 431736000.0, 558761000.0, 538745000.0, 602898000.0], "accoci": [312000.0, 3416000.0, -2163000.0, -10647000.0, -9551000.0, -25389000.0], "liabilitiesCurrent": [46856000.0, 114842000.0, 135941000.0, 109884000.0, 101804000.0, 152025000.0], "taxLiabilities": [59207000.0, 53924000.0, 45537000.0, 42537000.0, 37286000.0, 33381000.0], "investmentsCurrent": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "cashAndEq": [37541000.0, 107728000.0, 63584000.0, 133992000.0, 125776000.0, 192166000.0], "investments": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "sharesBasic": [null, 91737020.0, 97290174.0, 97574726.0, 89319671.0, 89307560.0], "totalAssets": [610675000.0, 707506000.0, 749998000.0, 902015000.0, 864202000.0, 953298000.0], "investmentsNonCurrent": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "taxAssets": [1848000.0, 2191000.0, 5304000.0, 9044000.0, 6878000.0, 9343000.0], "retainedEarnings": [-101931000.0, -67398000.0, -176096000.0, -135674000.0, -89984000.0, -44114000.0], "liabilitiesNonCurrent": [266319000.0, 257527000.0, 234923000.0, 336518000.0, 321687000.0, 304354000.0], "inventory": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "debtNonCurrent": [204874000.0, 198768000.0, 187240000.0, 296605000.0, 287641000.0, 274303000.0], "equity": [297500000.0, 335137000.0, 379134000.0, 455613000.0, 440711000.0, 496919000.0], "deferredRev": [2108000.0, 4711000.0, 4095000.0, 3481000.0, 4077000.0, 3727000.0], "assetsNonCurrent": [502558000.0, 496202000.0, 503692000.0, 560590000.0, 535684000.0, 517946000.0], "assetsCurrent": [108117000.0, 211304000.0, 246306000.0, 341425000.0, 328518000.0, 435352000.0], "deposits": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ppeq": [45076000.0, 56957000.0, 80046000.0, 116563000.0, 113219000.0, 114109000.0], "debtCurrent": [2431000.0, 45984000.0, 51135000.0, 14948000.0, 23931000.0, 30896000.0], "debt": [207305000.0, 244752000.0, 238375000.0, 311553000.0, 311572000.0, 305199000.0], "totalLiabilities": [313175000.0, 372369000.0, 370864000.0, 446402000.0, 423491000.0, 456379000.0], "acctRec": [58093000.0, 87887000.0, 163492000.0, 178678000.0, 176812000.0, 198996000.0], "acctPay": [24718000.0, 41935000.0, 40890000.0, 37062000.0, 26054000.0, 53403000.0], "intangibles": [454877000.0, 436030000.0, 417183000.0, 430375000.0, 411066000.0, 389316000.0], "issrepayDebt": [124475000.0, 36990000.0, -6563000.0, 29420000.0, -3713000.0, -8438000.0], "issrepayEquity": [0.0, 0.0, 120698000.0, -27489000.0, -111328000.0, -12339000.0], "ncfx": [1326000.0, 3207000.0, -6497000.0, -4659000.0, -806000.0, -8218000.0], "investmentsAcqDisposals": [0.0, 0.0, 0.0, -1000000.0, -1000000.0, 0.0], "sbcomp": [0.0, 0.0, 46189000.0, 68979000.0, 52759000.0, 41821000.0], "payDiv": [-135000000.0, 0.0, -50000000.0, 0.0, 0.0, 0.0], "ncfo": [43789000.0, 58873000.0, -32674000.0, 147095000.0, 143670000.0, 138888000.0], "ncff": [-12810000.0, 36990000.0, 54390000.0, -4035000.0, -119085000.0, -25176000.0], "ncfi": [-20045000.0, -28883000.0, -59363000.0, -67993000.0, -31995000.0, -39104000.0], "capex": [-20045000.0, -28883000.0, -59363000.0, -43758000.0, -30995000.0, -39104000.0], "depamor": [35166000.0, 38996000.0, 47885000.0, 57797000.0, 60737000.0, 60158000.0], "businessAcqDisposals": [0.0, 0.0, 0.0, -23235000.0, 0.0, 0.0], "freeCashFlow": [23744000.0, 29990000.0, -92037000.0, 103337000.0, 112675000.0, 99784000.0], "ncf": [10934000.0, 66980000.0, -37647000.0, 75067000.0, -7410000.0, 74608000.0], "shareFactor": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0], "costOfRevenue": [194786000.0, 270510000.0, 431736000.0, 558761000.0, 538745000.0, 602898000.0], "operatingExpenses": [128033000.0, 157207000.0, 383249000.0, 317831000.0, 290582000.0, 299663000.0], "operatingIncome": [36862000.0, 50329000.0, -54282000.0, 83897000.0, 95038000.0, 92424000.0], "netIncome": [33940000.0, 34533000.0, -58698000.0, 40422000.0, 45690000.0, 45870000.0], "epsdiluted": [0.37, 0.38, -0.62, 0.39, 0.48, 0.5], "interestExpense": [9346000.0, 7482000.0, 6504000.0, 11921000.0, 21717000.0, 21549000.0], "taxExpense": [-4411000.0, 9886000.0, -2265000.0, 24111000.0, 29342000.0, 28311000.0], "researchAndDevelopmentExpenses": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "sellingGeneralAndAdministrativeExpenses": [90630000.0, 113519000.0, 335312000.0, 260003000.0, 228523000.0, 239585000.0], "totalCurrentAssets": [108117000.0, 211304000.0, 246306000.0, 341425000.0, 328518000.0, 435352000.0], "cashAndCashEquivalents": [37541000.0, 107728000.0, 63584000.0, 133992000.0, 125776000.0, 192166000.0], "netReceivables": [58093000.0, 87887000.0, 163492000.0, 178678000.0, 176812000.0, 198996000.0], "totalCurrentLiabilities": [46856000.0, 114842000.0, 135941000.0, 109884000.0, 101804000.0, 152025000.0], "totalDebt": [207305000.0, 244752000.0, 238375000.0, 311553000.0, 311572000.0, 305199000.0], "shortTermDebt": [2431000.0, 45984000.0, 51135000.0, 14948000.0, 23931000.0, 30896000.0], "longTermDebt": [204874000.0, 198768000.0, 187240000.0, 296605000.0, 287641000.0, 274303000.0], "totalStockholdersEquity": [297500000.0, 335137000.0, 379134000.0, 455613000.0, 440711000.0, 496919000.0], "accountPayable": [24718000.0, 41935000.0, 40890000.0, 37062000.0, 26054000.0, 53403000.0], "shortTermInvestments": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "longTermInvestments": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "propertyPlantEquipmentNet": [45076000.0, 56957000.0, 80046000.0, 116563000.0, 113219000.0, 114109000.0], "intangibleAssets": [454877000.0, 436030000.0, 417183000.0, 430375000.0, 411066000.0, 389316000.0], "deferredRevenue": [2108000.0, 4711000.0, 4095000.0, 3481000.0, 4077000.0, 3727000.0], "operatingCashFlow": [43789000.0, 58873000.0, -32674000.0, 147095000.0, 143670000.0, 138888000.0], "netCashUsedForInvestingActivites": [-20045000.0, -28883000.0, -59363000.0, -67993000.0, -31995000.0, -39104000.0], "netCashUsedProvidedByFinancingActivities": [-12810000.0, 36990000.0, 54390000.0, -4035000.0, -119085000.0, -25176000.0], "capitalExpenditure": [-20045000.0, -28883000.0, -59363000.0, -43758000.0, -30995000.0, -39104000.0], "netChangeInCash": [10934000.0, 66980000.0, -37647000.0, 75067000.0, -7410000.0, 74608000.0], "dividendsPaid": [-135000000.0, 0.0, -50000000.0, 0.0, 0.0, 0.0], "acquisitionsNet": [0.0, 0.0, 0.0, -23235000.0, 0.0, 0.0], "investmentsInPropertyPlantAndEquipment": [0.0, 0.0, 0.0, -1000000.0, -1000000.0, 0.0], "debtRepayment": [124475000.0, 36990000.0, -6563000.0, 29420000.0, -3713000.0, -8438000.0], "commonStockRepurchased": [0.0, 0.0, 120698000.0, -27489000.0, -111328000.0, -12339000.0], "depreciationAndAmortization": [35166000.0, 38996000.0, 47885000.0, 57797000.0, 60737000.0, 60158000.0], "stockBasedCompensation": [0.0, 0.0, 46189000.0, 68979000.0, 52759000.0, 41821000.0]}, "quarterly": {"symbol": ["TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK", "TASK"], "date": ["2020-12-31", "2021-03-31", "2021-06-30", "2021-09-30", "2021-12-31", "2022-03-31", "2022-06-30", "2022-09-30", "2022-12-31", "2023-03-31", "2023-06-30", "2023-09-30", "2023-12-31", "2024-03-31", "2024-06-30", "2024-09-30", "2024-12-31", "2025-03-31", "2025-06-30", "2025-09-30"], "year": [2020, 2021, 2021, 2021, 2021, 2022, 2022, 2022, 2022, 2023, 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2025], "quarter": [4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3], "period": ["quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter", "quarter"], "opex": [40609000.0, 43194000.0, 189252000.0, 73705000.0, 78757000.0, 77844000.0, 83548000.0, 76855000.0, 79584000.0, 79144000.0, 73446000.0, 72543000.0, 65449000.0, 68501000.0, 71330000.0, 77386000.0, 82446000.0, 72373000.0, 83156000.0, 75352000.0], "netIncComStock": [13554000.0, 16507000.0, -105943000.0, 11636000.0, 19102000.0, 11586000.0, 7729000.0, 5365000.0, 15742000.0, 9509000.0, 10132000.0, 9772000.0, 16277000.0, 11714000.0, 12598000.0, 12699000.0, 8859000.0, 21148000.0, 20047000.0, 31375000.0], "shareswaDil": [91737020.0, 91737020.0, 92957493.0, 109426011.0, 97343860.0, 104122026.0, 103177186.0, 101920413.0, 101193092.0, 100952573.0, 98200005.0, 94035111.0, 91504594.0, 91849886.0, 91629930.0, 92579919.0, 93157347.0, 93655539.0, 92576805.0, 93057417.0], "rnd": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "nonControllingInterests": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "shareswa": [91737020.0, 91737020.0, 92957493.0, 97290174.0, 97343860.0, 97481412.0, 97783809.0, 98299612.0, 97697884.0, 97561650.0, 96524111.0, 92480316.0, 89189646.0, 88795211.0, 88331992.0, 88978159.0, 89545979.0, 90040348.0, 89493215.0, 90128176.0], "grossProfit": [59578000.0, 64841000.0, 76224000.0, 88630000.0, 99272000.0, 98398000.0, 102921000.0, 97586000.0, 102823000.0, 97544000.0, 95615000.0, 95487000.0, 96974000.0, 92059000.0, 94052000.0, 101580000.0, 104396000.0, 106611000.0, 113518000.0, 113293000.0], "costRev": [79214000.0, 88030000.0, 103798000.0, 112423000.0, 127485000.0, 141282000.0, 143538000.0, 134544000.0, 139397000.0, 137762000.0, 133554000.0, 130139000.0, 137290000.0, 135411000.0, 143876000.0, 153765000.0, 169846000.0, 171181000.0, 180568000.0, 185420000.0], "epsDil": [0.15, 0.18, -1.14, 0.11, 0.21, 0.11, 0.07, 0.05, 0.15, 0.09, 0.1, 0.1, 0.18, 0.13, 0.14, 0.14, 0.1, 0.23, 0.22, 0.34], "sga": [29889000.0, 31498000.0, 177810000.0, 60342000.0, 65662000.0, 64247000.0, 68919000.0, 62348000.0, 64489000.0, 64294000.0, 58175000.0, 57114000.0, 48940000.0, 52904000.0, 56276000.0, 62650000.0, 67755000.0, 57424000.0, 68406000.0, 59699000.0], "netinc": [13554000.0, 16507000.0, -105943000.0, 11636000.0, 19102000.0, 11586000.0, 7729000.0, 5365000.0, 15742000.0, 9509000.0, 10132000.0, 9772000.0, 16277000.0, 11714000.0, 12598000.0, 12699000.0, 8859000.0, 21148000.0, 20047000.0, 31375000.0], "eps": [0.15, 0.18, -1.14, 0.12, 0.21, 0.12, 0.08, 0.05, 0.16, 0.1, 0.1, 0.11, 0.18, 0.13, 0.14, 0.14, 0.1, 0.23, 0.22, 0.35], "ebitda": [31182000.0, 32562000.0, -99928000.0, 27058000.0, 33734000.0, 33113000.0, 26620000.0, 27634000.0, 46884000.0, 35362000.0, 38057000.0, 34838000.0, 49229000.0, 39534000.0, 40385000.0, 38042000.0, 37927000.0, 49390000.0, 46553000.0, 62135000.0], "netIncDiscOps": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ebit": [20541000.0, 21647000.0, -111369000.0, 14925000.0, 20338000.0, 19501000.0, 11996000.0, 13119000.0, 31838000.0, 20577000.0, 22853000.0, 20049000.0, 33270000.0, 23760000.0, 25425000.0, 23296000.0, 23249000.0, 34411000.0, 31689000.0, 46348000.0], "ebt": [18908000.0, 20066000.0, -112963000.0, 13292000.0, 18642000.0, 17899000.0, 9792000.0, 9260000.0, 27582000.0, 15478000.0, 17523000.0, 14337000.0, 27694000.0, 18222000.0, 19935000.0, 17792000.0, 18232000.0, 29748000.0, 27054000.0, 41721000.0], "prefDVDs": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "taxExp": [5354000.0, 3559000.0, -7020000.0, 1656000.0, -460000.0, 6313000.0, 2063000.0, 3895000.0, 11840000.0, 5969000.0, 7391000.0, 4565000.0, 11417000.0, 6508000.0, 7337000.0, 5093000.0, 9373000.0, 8600000.0, 7007000.0, 10346000.0], "consolidatedIncome": [13554000.0, 16507000.0, -105943000.0, 11636000.0, 19102000.0, 11586000.0, 7729000.0, 5365000.0, 15742000.0, 9509000.0, 10132000.0, 9772000.0, 16277000.0, 11714000.0, 12598000.0, 12699000.0, 8859000.0, 21148000.0, 20047000.0, 31375000.0], "opinc": [18969000.0, 21647000.0, -113028000.0, 14925000.0, 20515000.0, 20554000.0, 19373000.0, 20731000.0, 23239000.0, 18400000.0, 22169000.0, 22944000.0, 31525000.0, 23558000.0, 22722000.0, 24194000.0, 21950000.0, 34238000.0, 30362000.0, 37941000.0], "intexp": [1633000.0, 1581000.0, 1594000.0, 1633000.0, 1696000.0, 1602000.0, 2204000.0, 3859000.0, 4256000.0, 5099000.0, 5330000.0, 5712000.0, 5576000.0, 5538000.0, 5490000.0, 5504000.0, 5017000.0, 4663000.0, 4635000.0, 4627000.0], "revenue": [138792000.0, 152871000.0, 180022000.0, 201053000.0, 226757000.0, 239680000.0, 246459000.0, 232130000.0, 242220000.0, 235306000.0, 229169000.0, 225626000.0, 234264000.0, 227470000.0, 237928000.0, 255345000.0, 274242000.0, 277792000.0, 294086000.0, 298713000.0], "retainedEarnings": [-67398000.0, -50891000.0, -206834000.0, -195198000.0, -176096000.0, -164510000.0, -156781000.0, -151416000.0, -135674000.0, -126165000.0, -116033000.0, -106261000.0, -89984000.0, -78270000.0, -65672000.0, -52973000.0, -44114000.0, -22966000.0, -2919000.0, 28456000.0], "inventory": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "investments": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "deferredRev": [4711000.0, 5586000.0, 5810000.0, 6847000.0, 4095000.0, 4873000.0, 3674000.0, 3350000.0, 3481000.0, 3066000.0, 3265000.0, 3199000.0, 4077000.0, 4120000.0, 3738000.0, 3646000.0, 3727000.0, 3506000.0, 3462000.0, 3266000.0], "taxLiabilities": [53924000.0, 57337000.0, 45048000.0, 46384000.0, 45537000.0, 46469000.0, 47216000.0, 47948000.0, 42537000.0, 46110000.0, 44593000.0, 43863000.0, 37286000.0, 41839000.0, 36365000.0, 36146000.0, 33381000.0, 41500000.0, 31807000.0, 30636000.0], "debt": [244752000.0, 243553000.0, 242035000.0, 240861000.0, 238375000.0, 235888000.0, 306368000.0, 308644000.0, 311553000.0, 311037000.0, 308371000.0, 312057000.0, 311572000.0, 304344000.0, 300824000.0, 309240000.0, 305199000.0, 306119000.0, 312913000.0, 307653000.0], "intangibles": [436030000.0, 431318000.0, 426606000.0, 421895000.0, 417183000.0, 412472000.0, 439501000.0, 432467000.0, 430375000.0, 425838000.0, 420733000.0, 414806000.0, 411066000.0, 405384000.0, 400186000.0, 396443000.0, 389316000.0, 385529000.0, 383044000.0, 378021000.0], "acctRec": [87887000.0, 92217000.0, 128306000.0, 158296000.0, 163492000.0, 173060000.0, 181402000.0, 171818000.0, 178678000.0, 170664000.0, 175588000.0, 179120000.0, 176812000.0, 165494000.0, 175272000.0, 200780000.0, 198996000.0, 206011000.0, 231442000.0, 238472000.0], "ppeq": [56957000.0, 56974000.0, 63060000.0, 72143000.0, 80046000.0, 87639000.0, 120730000.0, 112850000.0, 116563000.0, 116625000.0, 116084000.0, 117792000.0, 113219000.0, 100921000.0, 94646000.0, 112479000.0, 114109000.0, 128029000.0, 146525000.0, 149420000.0], "deposits": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "cashAndEq": [107728000.0, 135493000.0, 195927000.0, 61330000.0, 63584000.0, 77074000.0, 104734000.0, 122491000.0, 133992000.0, 167011000.0, 153640000.0, 114616000.0, 125776000.0, 165350000.0, 171133000.0, 180381000.0, 192166000.0, 196852000.0, 181916000.0, 209981000.0], "assetsCurrent": [211304000.0, 239886000.0, 336371000.0, 233241000.0, 246306000.0, 268010000.0, 317054000.0, 334734000.0, 341425000.0, 368222000.0, 365821000.0, 325272000.0, 328518000.0, 356056000.0, 378616000.0, 419410000.0, 435352000.0, 455672000.0, 471129000.0, 491643000.0], "assetsNonCurrent": [496202000.0, 491759000.0, 493247000.0, 498291000.0, 503692000.0, 506755000.0, 566426000.0, 552679000.0, 560590000.0, 557222000.0, 551900000.0, 545507000.0, 535684000.0, 518455000.0, 507530000.0, 522687000.0, 517946000.0, 529792000.0, 547148000.0, 545723000.0], "liabilitiesNonCurrent": [257527000.0, 255136000.0, 242200000.0, 240646000.0, 234923000.0, 232026000.0, 256947000.0, 343532000.0, 336518000.0, 335368000.0, 329604000.0, 330859000.0, 321687000.0, 313878000.0, 308796000.0, 313206000.0, 304354000.0, 306385000.0, 307702000.0, 299450000.0], "accoci": [3416000.0, 2561000.0, 2069000.0, -1851000.0, -2163000.0, -3919000.0, -10003000.0, -17588000.0, -10647000.0, -7056000.0, -10743000.0, -14316000.0, -9551000.0, -12859000.0, -20576000.0, -13324000.0, -25389000.0, -16891000.0, -9417000.0, -21559000.0], "totalLiabilities": [372369000.0, 380856000.0, 513593000.0, 388548000.0, 370864000.0, 367665000.0, 448994000.0, 452486000.0, 446402000.0, 449689000.0, 458922000.0, 442031000.0, 423491000.0, 419917000.0, 425953000.0, 452307000.0, 456379000.0, 465153000.0, 473727000.0, 469846000.0], "equity": [335137000.0, 350789000.0, 316025000.0, 342984000.0, 379134000.0, 407100000.0, 434486000.0, 434927000.0, 455613000.0, 475755000.0, 458799000.0, 428748000.0, 440711000.0, 454594000.0, 460193000.0, 489790000.0, 496919000.0, 520311000.0, 544550000.0, 567520000.0], "investmentsNonCurrent": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "taxAssets": [2191000.0, 568000.0, 575000.0, 2771000.0, 5304000.0, 1602000.0, 12135000.0, 20717000.0, 9044000.0, 6860000.0, 10897000.0, 12045000.0, 6878000.0, 6957000.0, 10329000.0, 15123000.0, 9343000.0, 9280000.0, 10001000.0, 11195000.0], "debtCurrent": [45984000.0, 47296000.0, 48510000.0, 49822000.0, 51135000.0, 52447000.0, 97844000.0, 13634000.0, 14948000.0, 16251000.0, 17914000.0, 21095000.0, 23931000.0, 24854000.0, 26583000.0, 31238000.0, 30896000.0, 34297000.0, 38714000.0, 40649000.0], "sharesBasic": [91737020.0, 91737020.0, 97290174.0, 97290174.0, 97290174.0, 97463958.0, 97756466.0, 98193105.0, 97574726.0, 97516645.0, 97098807.0, 92986375.0, 89319671.0, 88666952.0, 88066351.0, 88715499.0, 89307560.0, 89996796.0, 88870495.0, 89875981.0], "liabilitiesCurrent": [114842000.0, 125720000.0, 271393000.0, 147902000.0, 135941000.0, 135639000.0, 192047000.0, 108954000.0, 109884000.0, 114321000.0, 129318000.0, 111172000.0, 101804000.0, 106039000.0, 117157000.0, 139101000.0, 152025000.0, 158768000.0, 166025000.0, 170396000.0], "investmentsCurrent": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "acctPay": [41935000.0, 38758000.0, 43494000.0, 44767000.0, 40890000.0, 39774000.0, 44738000.0, 43899000.0, 37062000.0, 33178000.0, 40768000.0, 34898000.0, 26054000.0, 24684000.0, 32185000.0, 38464000.0, 53403000.0, 56127000.0, 57392000.0, 50710000.0], "totalAssets": [707506000.0, 731645000.0, 829618000.0, 731532000.0, 749998000.0, 774765000.0, 883480000.0, 887413000.0, 902015000.0, 925444000.0, 917721000.0, 870779000.0, 864202000.0, 874511000.0, 886146000.0, 942097000.0, 953298000.0, 985464000.0, 1018277000.0, 1037366000.0], "debtNonCurrent": [198768000.0, 196257000.0, 193525000.0, 191039000.0, 187240000.0, 183441000.0, 208524000.0, 295010000.0, 296605000.0, 294786000.0, 290457000.0, 290962000.0, 287641000.0, 279490000.0, 274241000.0, 278002000.0, 274303000.0, 271822000.0, 274199000.0, 267004000.0], "sbcomp": [0.0, 0.0, 5771000.0, 19243000.0, 21175000.0, 19605000.0, 18933000.0, 16226000.0, 14215000.0, 13464000.0, 15040000.0, 13833000.0, 10422000.0, 10235000.0, 11121000.0, 10598000.0, 9867000.0, 8749000.0, 8307000.0, 6372000.0], "ncff": [-1313000.0, -1313000.0, 69046000.0, -5640000.0, -7703000.0, -4094000.0, 29487000.0, -12539000.0, -16889000.0, -7097000.0, -38738000.0, -50499000.0, -22751000.0, -5664000.0, -12950000.0, -2640000.0, -3922000.0, -17955000.0, -15538000.0, -6010000.0], "capex": [-6997000.0, -10127000.0, -13326000.0, -15150000.0, -20760000.0, -17770000.0, -11587000.0, -6653000.0, -7748000.0, -5244000.0, -9801000.0, -7859000.0, -8091000.0, -3572000.0, -4516000.0, -10733000.0, -20283000.0, -14480000.0, -16971000.0, -12302000.0], "businessAcqDisposals": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -23235000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ncfo": [13244000.0, 39922000.0, 5755000.0, -109103000.0, 30752000.0, 36890000.0, 36076000.0, 41498000.0, 32631000.0, 43683000.0, 38530000.0, 21682000.0, 39775000.0, 51177000.0, 30034000.0, 17019000.0, 40658000.0, 36276000.0, 17009000.0, 54264000.0], "investmentsAcqDisposals": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1000000.0, -1000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "issrepayDebt": [-1313000.0, -1313000.0, -1312000.0, -1313000.0, -2625000.0, -2625000.0, 29875000.0, 2847000.0, -677000.0, -675000.0, -675000.0, -675000.0, -1688000.0, -1688000.0, -1687000.0, -1688000.0, -3375000.0, -3375000.0, -3375000.0, -3375000.0], "issrepayEquity": [0.0, 0.0, 120698000.0, 0.0, 0.0, 0.0, 920000.0, -12405000.0, -16004000.0, -6165000.0, -37770000.0, -48194000.0, -19199000.0, -2402000.0, -10619000.0, 854000.0, -172000.0, -9466000.0, -11190000.0, 1335000.0], "ncfi": [-6997000.0, -10127000.0, -13326000.0, -15150000.0, -20760000.0, -17770000.0, -34822000.0, -6653000.0, -8748000.0, -6244000.0, -9801000.0, -7859000.0, -8091000.0, -3572000.0, -4516000.0, -10733000.0, -20283000.0, -14480000.0, -16971000.0, -12302000.0], "payDiv": [0.0, 0.0, -50000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ncfx": [487000.0, -717000.0, -1041000.0, -4704000.0, -35000.0, -1536000.0, -3081000.0, -4549000.0, 4507000.0, 2677000.0, -3362000.0, -2348000.0, 2227000.0, -2367000.0, -6785000.0, 5602000.0, -4668000.0, 845000.0, 564000.0, -7887000.0], "ncf": [4934000.0, 28482000.0, 61475000.0, -129893000.0, 2289000.0, 15026000.0, 30741000.0, 22306000.0, 6994000.0, 30342000.0, -10009000.0, -36676000.0, 8933000.0, 41941000.0, 12568000.0, 3646000.0, 16453000.0, 3841000.0, -15500000.0, 35952000.0], "freeCashFlow": [6247000.0, 29795000.0, -7571000.0, -124253000.0, 9992000.0, 19120000.0, 24489000.0, 34845000.0, 24883000.0, 38439000.0, 28729000.0, 13823000.0, 31684000.0, 47605000.0, 25518000.0, 6286000.0, 20375000.0, 21796000.0, 38000.0, 41962000.0], "depamor": [10641000.0, 10915000.0, 11441000.0, 12133000.0, 13396000.0, 13612000.0, 14624000.0, 14515000.0, 15046000.0, 14785000.0, 15204000.0, 14789000.0, 15959000.0, 15774000.0, 14960000.0, 14746000.0, 14678000.0, 14979000.0, 14864000.0, 15787000.0], "currentRatio": [1.83995402378921, 1.90809735921094, 1.23942400872535, 1.57699693039986, 1.81185955671946, 1.97590663452252, 1.65091878550563, 3.07225067459662, 3.10714025699829, 3.22094803229503, 2.82884826551601, 2.92584463713885, 3.22696554162901, 3.35778345702996, 3.23169763650486, 3.01514726709369, 2.86368689360303, 2.87004938022775, 2.83769914169553, 2.88529660320665], "revenueQoQ": [null, 0.492458190551504, 0.573618881118881, 0.642254441494793, 0.63379013199608, 0.567857867090553, 0.369049338414194, 0.154571182722964, 0.068191941152864, -0.0182493324432577, -0.0701536563890951, -0.0280187825787275, -0.0328461729006688, -0.0333013182834266, 0.0382207017528549, 0.131717975765204, 0.170653621555169, 0.221224776893656, 0.236029387041458, 0.169840803618634], "bookVal": [335137000.0, 350789000.0, 316025000.0, 342984000.0, 379134000.0, 407100000.0, 434486000.0, 434927000.0, 455613000.0, 475755000.0, 458799000.0, 428748000.0, 440711000.0, 454594000.0, 460193000.0, 489790000.0, 496919000.0, 520311000.0, 544550000.0, 567520000.0], "bvps": [3.65323617444735, 3.82385431748274, 3.2482725336682, 3.52537143165146, 3.89694030149437, 4.17692866526106, 4.44457556393252, 4.42930285176337, 4.66937514126353, 4.87870557892963, 4.72507350167546, 4.61086906549481, 4.93408669183298, 5.1269835011358, 5.22552592192675, 5.52090678089969, 5.56413141283896, 5.78143915256716, 6.12745546201807, 6.31447905976125], "roe": [null, null, -0.198317597200664, -0.191075405131103, -0.169044992843422, -0.176078348070186, 0.128037019794028, 0.105776170886668, 0.0933465579293885, 0.0851741549916397, 0.0893060850564409, 0.0993009568891345, 0.101307473948358, 0.107457040741464, 0.112901472106425, 0.115511508230694, 0.0964924459478221, 0.112451473226336, 0.122351174953816, 0.152968581223876], "rps": [1.51293338283716, 1.66640468591633, 1.85036157916626, 2.06652934961346, 2.33072869208765, 2.45916546914707, 2.52115292301995, 2.36401527378119, 2.48240512609792, 2.41298293229838, 2.36016288027102, 2.42644150823172, 2.62275932476285, 2.56544287210865, 2.70169022899564, 2.87824566032143, 3.07075907123652, 3.08668766385861, 3.30915226701505, 3.32361323544274], "longTermDebtEquity": [0.593094764230747, 0.559473073557039, 0.612372438889328, 0.556990996664567, 0.493862328358839, 0.450604274134119, 0.47993261002656, 0.678297737321436, 0.65100205656994, 0.619617239965949, 0.633081153184728, 0.678631737057666, 0.652674882179024, 0.614812338042297, 0.595926057110821, 0.567594275097491, 0.552007470030327, 0.522422166742583, 0.503533192544303, 0.470475049337468], "roa": [null, null, -0.0894978336095441, -0.0856527395084693, -0.077163316729071, -0.0824637635604115, 0.0637663526845076, 0.0531390412106118, 0.0468977191282352, 0.0426250683646291, 0.0448693261259932, 0.0499507876057223, 0.0510767307985756, 0.0543148372383522, 0.0576272485880975, 0.059757395381384, 0.0501852818285954, 0.0587246366808645, 0.0643763131114175, 0.0815430583528711], "grossMargin": [0.429261052510231, 0.424155006508756, 0.423414915954717, 0.44082903513004, 0.437790233598081, 0.410539052069426, 0.417598870400351, 0.420393744884332, 0.424502518371728, 0.414541065676183, 0.417224842801601, 0.423209204612944, 0.413951780896766, 0.404708313184156, 0.395296055949699, 0.397814721259472, 0.380671086121017, 0.383779950466536, 0.386002733894167, 0.379270403363764], "epsQoQ": [null, 9.58823529411765, -14.7349397590361, 0.0, 0.4, -0.333333333333333, -1.07017543859649, -0.583333333333333, -0.238095238095238, -0.166666666666667, 0.25, 1.2, 0.125, 0.3, 0.4, 0.272727272727273, -0.444444444444444, 0.769230769230769, 0.571428571428571, 1.5], "profitMargin": [0.429261052510231, 0.424155006508756, 0.423414915954717, 0.44082903513004, 0.437790233598081, 0.410539052069426, 0.417598870400351, 0.420393744884332, 0.424502518371728, 0.414541065676183, 0.417224842801601, 0.423209204612944, 0.413951780896766, 0.404708313184156, 0.395296055949699, 0.397814721259472, 0.380671086121017, 0.383779950466536, 0.386002733894167, 0.379270403363764], "debtEquity": [0.730304323306588, 0.694300562446371, 0.765872953089154, 0.702251416975719, 0.628735486661708, 0.579435028248588, 0.705127437938161, 0.709645526720576, 0.683810602419158, 0.653775577765867, 0.672126573946325, 0.727833132749307, 0.706975773239152, 0.66948529897007, 0.653690951405171, 0.631372629085935, 0.614182593138922, 0.588338512927845, 0.574626756037095, 0.542100718917395], "piotroskiFScore": [null, 5.0, 3.0, 3.0, 5.0, 5.0, 6.0, 5.0, 5.0, 6.0, 5.0, 5.0, 6.0, 7.0, 8.0, 7.0, 5.0, 7.0, 7.0, 6.0], "shareFactor": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], "costOfRevenue": [79214000.0, 88030000.0, 103798000.0, 112423000.0, 127485000.0, 141282000.0, 143538000.0, 134544000.0, 139397000.0, 137762000.0, 133554000.0, 130139000.0, 137290000.0, 135411000.0, 143876000.0, 153765000.0, 169846000.0, 171181000.0, 180568000.0, 185420000.0], "operatingExpenses": [40609000.0, 43194000.0, 189252000.0, 73705000.0, 78757000.0, 77844000.0, 83548000.0, 76855000.0, 79584000.0, 79144000.0, 73446000.0, 72543000.0, 65449000.0, 68501000.0, 71330000.0, 77386000.0, 82446000.0, 72373000.0, 83156000.0, 75352000.0], "operatingIncome": [18969000.0, 21647000.0, -113028000.0, 14925000.0, 20515000.0, 20554000.0, 19373000.0, 20731000.0, 23239000.0, 18400000.0, 22169000.0, 22944000.0, 31525000.0, 23558000.0, 22722000.0, 24194000.0, 21950000.0, 34238000.0, 30362000.0, 37941000.0], "netIncome": [13554000.0, 16507000.0, -105943000.0, 11636000.0, 19102000.0, 11586000.0, 7729000.0, 5365000.0, 15742000.0, 9509000.0, 10132000.0, 9772000.0, 16277000.0, 11714000.0, 12598000.0, 12699000.0, 8859000.0, 21148000.0, 20047000.0, 31375000.0], "epsdiluted": [0.15, 0.18, -1.14, 0.11, 0.21, 0.11, 0.07, 0.05, 0.15, 0.09, 0.1, 0.1, 0.18, 0.13, 0.14, 0.14, 0.1, 0.23, 0.22, 0.34], "interestExpense": [1633000.0, 1581000.0, 1594000.0, 1633000.0, 1696000.0, 1602000.0, 2204000.0, 3859000.0, 4256000.0, 5099000.0, 5330000.0, 5712000.0, 5576000.0, 5538000.0, 5490000.0, 5504000.0, 5017000.0, 4663000.0, 4635000.0, 4627000.0], "taxExpense": [5354000.0, 3559000.0, -7020000.0, 1656000.0, -460000.0, 6313000.0, 2063000.0, 3895000.0, 11840000.0, 5969000.0, 7391000.0, 4565000.0, 11417000.0, 6508000.0, 7337000.0, 5093000.0, 9373000.0, 8600000.0, 7007000.0, 10346000.0], "researchAndDevelopmentExpenses": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "sellingGeneralAndAdministrativeExpenses": [29889000.0, 31498000.0, 177810000.0, 60342000.0, 65662000.0, 64247000.0, 68919000.0, 62348000.0, 64489000.0, 64294000.0, 58175000.0, 57114000.0, 48940000.0, 52904000.0, 56276000.0, 62650000.0, 67755000.0, 57424000.0, 68406000.0, 59699000.0], "totalCurrentAssets": [211304000.0, 239886000.0, 336371000.0, 233241000.0, 246306000.0, 268010000.0, 317054000.0, 334734000.0, 341425000.0, 368222000.0, 365821000.0, 325272000.0, 328518000.0, 356056000.0, 378616000.0, 419410000.0, 435352000.0, 455672000.0, 471129000.0, 491643000.0], "cashAndCashEquivalents": [107728000.0, 135493000.0, 195927000.0, 61330000.0, 63584000.0, 77074000.0, 104734000.0, 122491000.0, 133992000.0, 167011000.0, 153640000.0, 114616000.0, 125776000.0, 165350000.0, 171133000.0, 180381000.0, 192166000.0, 196852000.0, 181916000.0, 209981000.0], "netReceivables": [87887000.0, 92217000.0, 128306000.0, 158296000.0, 163492000.0, 173060000.0, 181402000.0, 171818000.0, 178678000.0, 170664000.0, 175588000.0, 179120000.0, 176812000.0, 165494000.0, 175272000.0, 200780000.0, 198996000.0, 206011000.0, 231442000.0, 238472000.0], "totalCurrentLiabilities": [114842000.0, 125720000.0, 271393000.0, 147902000.0, 135941000.0, 135639000.0, 192047000.0, 108954000.0, 109884000.0, 114321000.0, 129318000.0, 111172000.0, 101804000.0, 106039000.0, 117157000.0, 139101000.0, 152025000.0, 158768000.0, 166025000.0, 170396000.0], "totalDebt": [244752000.0, 243553000.0, 242035000.0, 240861000.0, 238375000.0, 235888000.0, 306368000.0, 308644000.0, 311553000.0, 311037000.0, 308371000.0, 312057000.0, 311572000.0, 304344000.0, 300824000.0, 309240000.0, 305199000.0, 306119000.0, 312913000.0, 307653000.0], "shortTermDebt": [45984000.0, 47296000.0, 48510000.0, 49822000.0, 51135000.0, 52447000.0, 97844000.0, 13634000.0, 14948000.0, 16251000.0, 17914000.0, 21095000.0, 23931000.0, 24854000.0, 26583000.0, 31238000.0, 30896000.0, 34297000.0, 38714000.0, 40649000.0], "longTermDebt": [198768000.0, 196257000.0, 193525000.0, 191039000.0, 187240000.0, 183441000.0, 208524000.0, 295010000.0, 296605000.0, 294786000.0, 290457000.0, 290962000.0, 287641000.0, 279490000.0, 274241000.0, 278002000.0, 274303000.0, 271822000.0, 274199000.0, 267004000.0], "totalStockholdersEquity": [335137000.0, 350789000.0, 316025000.0, 342984000.0, 379134000.0, 407100000.0, 434486000.0, 434927000.0, 455613000.0, 475755000.0, 458799000.0, 428748000.0, 440711000.0, 454594000.0, 460193000.0, 489790000.0, 496919000.0, 520311000.0, 544550000.0, 567520000.0], "accountPayable": [41935000.0, 38758000.0, 43494000.0, 44767000.0, 40890000.0, 39774000.0, 44738000.0, 43899000.0, 37062000.0, 33178000.0, 40768000.0, 34898000.0, 26054000.0, 24684000.0, 32185000.0, 38464000.0, 53403000.0, 56127000.0, 57392000.0, 50710000.0], "shortTermInvestments": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "longTermInvestments": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "propertyPlantEquipmentNet": [56957000.0, 56974000.0, 63060000.0, 72143000.0, 80046000.0, 87639000.0, 120730000.0, 112850000.0, 116563000.0, 116625000.0, 116084000.0, 117792000.0, 113219000.0, 100921000.0, 94646000.0, 112479000.0, 114109000.0, 128029000.0, 146525000.0, 149420000.0], "intangibleAssets": [436030000.0, 431318000.0, 426606000.0, 421895000.0, 417183000.0, 412472000.0, 439501000.0, 432467000.0, 430375000.0, 425838000.0, 420733000.0, 414806000.0, 411066000.0, 405384000.0, 400186000.0, 396443000.0, 389316000.0, 385529000.0, 383044000.0, 378021000.0], "deferredRevenue": [4711000.0, 5586000.0, 5810000.0, 6847000.0, 4095000.0, 4873000.0, 3674000.0, 3350000.0, 3481000.0, 3066000.0, 3265000.0, 3199000.0, 4077000.0, 4120000.0, 3738000.0, 3646000.0, 3727000.0, 3506000.0, 3462000.0, 3266000.0], "operatingCashFlow": [13244000.0, 39922000.0, 5755000.0, -109103000.0, 30752000.0, 36890000.0, 36076000.0, 41498000.0, 32631000.0, 43683000.0, 38530000.0, 21682000.0, 39775000.0, 51177000.0, 30034000.0, 17019000.0, 40658000.0, 36276000.0, 17009000.0, 54264000.0], "netCashUsedForInvestingActivites": [-6997000.0, -10127000.0, -13326000.0, -15150000.0, -20760000.0, -17770000.0, -34822000.0, -6653000.0, -8748000.0, -6244000.0, -9801000.0, -7859000.0, -8091000.0, -3572000.0, -4516000.0, -10733000.0, -20283000.0, -14480000.0, -16971000.0, -12302000.0], "netCashUsedProvidedByFinancingActivities": [-1313000.0, -1313000.0, 69046000.0, -5640000.0, -7703000.0, -4094000.0, 29487000.0, -12539000.0, -16889000.0, -7097000.0, -38738000.0, -50499000.0, -22751000.0, -5664000.0, -12950000.0, -2640000.0, -3922000.0, -17955000.0, -15538000.0, -6010000.0], "capitalExpenditure": [-6997000.0, -10127000.0, -13326000.0, -15150000.0, -20760000.0, -17770000.0, -11587000.0, -6653000.0, -7748000.0, -5244000.0, -9801000.0, -7859000.0, -8091000.0, -3572000.0, -4516000.0, -10733000.0, -20283000.0, -14480000.0, -16971000.0, -12302000.0], "netChangeInCash": [4934000.0, 28482000.0, 61475000.0, -129893000.0, 2289000.0, 15026000.0, 30741000.0, 22306000.0, 6994000.0, 30342000.0, -10009000.0, -36676000.0, 8933000.0, 41941000.0, 12568000.0, 3646000.0, 16453000.0, 3841000.0, -15500000.0, 35952000.0], "dividendsPaid": [0.0, 0.0, -50000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "acquisitionsNet": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -23235000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "investmentsInPropertyPlantAndEquipment": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1000000.0, -1000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "debtRepayment": [-1313000.0, -1313000.0, -1312000.0, -1313000.0, -2625000.0, -2625000.0, 29875000.0, 2847000.0, -677000.0, -675000.0, -675000.0, -675000.0, -1688000.0, -1688000.0, -1687000.0, -1688000.0, -3375000.0, -3375000.0, -3375000.0, -3375000.0], "commonStockRepurchased": [0.0, 0.0, 120698000.0, 0.0, 0.0, 0.0, 920000.0, -12405000.0, -16004000.0, -6165000.0, -37770000.0, -48194000.0, -19199000.0, -2402000.0, -10619000.0, 854000.0, -172000.0, -9466000.0, -11190000.0, 1335000.0], "depreciationAndAmortization": [10641000.0, 10915000.0, 11441000.0, 12133000.0, 13396000.0, 13612000.0, 14624000.0, 14515000.0, 15046000.0, 14785000.0, 15204000.0, 14789000.0, 15959000.0, 15774000.0, 14960000.0, 14746000.0, 14678000.0, 14979000.0, 14864000.0, 15787000.0], "stockBasedCompensation": [0.0, 0.0, 5771000.0, 19243000.0, 21175000.0, 19605000.0, 18933000.0, 16226000.0, 14215000.0, 13464000.0, 15040000.0, 13833000.0, 10422000.0, 10235000.0, 11121000.0, 10598000.0, 9867000.0, 8749000.0, 8307000.0, 6372000.0]}}">Loading interactive chart...

The segment mix shift has profound margin implications. AI Services and Trust & Safety command premium pricing due to specialized expertise and regulatory necessity, while DCX faces commoditization pressure. Management expects full-year 2025 DCX growth in the high single digits, Trust & Safety to continue solid double-digit growth, and AI Services to remain the fastest-growing line. This trajectory suggests AI Services could approach 25% of revenue by 2026, fundamentally altering TaskUs's margin profile and valuation multiple as investors re-rate it from BPO to AI enabler.

Profitability remains robust despite strategic investments. Adjusted EBITDA margin of 21.2% in Q3 2025, while down from prior peaks, still exceeds all named competitors: Concentrix (CNXC) at 12.3%, Genpact (G) at 17.7%, EXLS (EXLS) at implied 18-20%, and TTEC (TTEC) at a dismal 8.4%. Net income more than doubled year-over-year to $31.4 million, driven by revenue growth and foreign currency gains partially offset by higher personnel costs. The cost of service increased to 62.1% of revenue from 60.2% due to merit increases, investments in physical and information security (hardening defenses after Q4 2024 incidents), and ramp costs for new client wins. SG&A expenses declined to 20% of revenue from 24.5% through disciplined overhead optimization and reduced litigation costs, demonstrating that growth investments are being funded through operational efficiency rather than margin degradation.

The balance sheet provides strategic flexibility that competitors cannot match. With $210 million in cash and $190 million in borrowing availability against just $246 million in total debt, TaskUs is effectively net debt-free with a leverage ratio below 0.2x.

Loading interactive chart...

This matters because it enables the company to invest aggressively through the AI transition without financial distress risk. Year-to-date operating cash flow of $107.5 million and adjusted free cash flow of $76.9 million (41% of EBITDA) fund both growth investments and shareholder returns. The company repurchased 2.11 million shares for $27.7 million in the first nine months of 2025, a signal of management's confidence in intrinsic value despite the strategic pivot's uncertainty.

Loading interactive chart...

Outlook, Management Guidance, and Execution Risk

Management's guidance for Q4 and full-year 2025 reveals both confidence in the AI strategy and realism about near-term trade-offs. Q4 2025 revenue is expected between $302-304 million, representing 11% year-over-year growth at the midpoint—a deceleration from Q3's 17% but still among the best in the industry. This slowdown is intentional, driven by a challenging comparison against the massive ramp with the largest client in late 2024. Excluding this client, Q4 growth is projected at 9%, indicating broad-based strength across the remaining business.

Full-year 2025 revenue guidance of $1.173-1.175 billion implies 18% growth at the midpoint, a dramatic acceleration from 2024's 7.6%. This $64 million increase from the initial guidance withdrawn during the take-private process reflects stronger-than-expected sales execution and market share gains. Management stresses they set guidance at a level they feel confident exceeding, based on detailed client budgeting discussions and strong Q1 visibility. The take-private termination, while creating uncertainty, validated shareholder belief in the company's opportunity set—management frames the high valuation expectations as a testament to future potential rather than a failed transaction.

Adjusted EBITDA margins are projected at approximately 21.1% for the full year, consistent with initial expectations despite Q4 pressure. The Q4 margin decline to 19.8% stems from seasonal expenses (holiday pay, employee benefits), a Philippines minimum wage increase, continued facility expansions, hiring and training for new ramps, and strategic AI investments. This 200-basis-point sequential drop mirrors the Q3-to-Q4 pattern in 2024, suggesting a predictable seasonal rhythm rather than structural deterioration. Management explicitly states they are "trading short-term margins for long-term growth and margin expansion," a strategic choice that requires investor patience but positions TaskUs as an "AI winner" while competitors focused on simple, repeatable processes are "automated into oblivion."

The critical execution risks center on scaling complexity. The company is building offices on four continents at "breakneck pace" to support growth, acknowledging that speed may compromise procurement efficiency. Large ramps require sign-on bonuses, relocation packages, and free training that artificially compress initial margins. Security incidents in Q4 2024 forced increased investments in information and physical security, with management aiming to become "the most secure provider in the industry." These investments weigh on near-term profitability but create competitive differentiation as clients prioritize data protection.

Risks and Asymmetries: What Could Break the Thesis

The most material risk is client concentration. The largest client grew from 23% to 27% of revenue year-over-year, with management expecting this concentration to increase further. While the relationship remains strong—expanding into two new countries and scaling across all existing geographies—any budget cut, strategic shift, or insourcing decision could create a revenue hole that even 60% AI Services growth cannot fill. The company is diversifying into healthcare and financial services, but these verticals represent early-stage ramps that cannot yet offset a major client loss. Investors should monitor quarterly concentration metrics as the primary indicator of thesis health.

AI cannibalization presents a strategic paradox. Management explicitly warns that "there is going to be the cannibalization of some of our own revenues" as AI agents automate services previously provided by human teammates. While this positions TaskUs as a long-term beneficiary, the transition creates uncertainty about revenue trajectory and margin mix. If AI adoption accelerates faster than the consulting practice scales, overall growth could disappoint despite AI Services' strength. The project-based nature of AI work also introduces lumpiness, with revenues potentially "spinning up and spinning down" based on client development cycles, creating quarterly volatility that masks underlying trends.

Security and operational risks remain elevated. The Q4 2024 security incidents forced operational suspensions and teammate payments that impacted margins, while revealing vulnerabilities that required substantial defensive investments. As TaskUs scales globally at breakneck speed, the risk of similar disruptions increases. The company is also exposed to Philippines peso fluctuations, with management noting that "further deterioration in the value of the U.S. dollar would put downward pressure on our margin guidance." While the majority of revenue is billed and collected in dollars, local cost inflation from minimum wage increases and currency weakness creates margin headwinds.

Litigation risk persists with multiple class action lawsuits (Lozada, Eaton, Tucker, Estrada, Coinbase, My Choice Software, Seirafi) creating overhang and potential settlement costs. While management believes resolution will not be materially adverse, legal expenses and distraction could impact execution during the critical AI transformation phase. Regulatory scrutiny of content moderation's mental health impacts on employees adds reputational risk, particularly in trust & safety where TaskUs is recognized as a leader but faces increasing press and regulatory attention.

Valuation Context: Pricing a Business Model in Flux

At $12.36 per share, TaskUs trades at a P/E of 14.05 and EV/EBITDA of 5.84—multiples that seem anomalously low for a company growing revenue at 17% with 21%+ EBITDA margins. The market appears to be pricing TaskUs as a traditional BPO facing secular decline rather than an AI enabler in the early innings of transformation. For comparison, Concentrix trades at 7.97x earnings but with 4% growth and 12.3% EBITDA margins; Genpact trades at 14.96x earnings with 7% growth and 17.7% margins; EXLS commands 27.51x earnings with 12% growth but lower margins. TaskUs's valuation sits at the low end of the peer range despite superior growth and profitability, suggesting either skepticism about sustainability or a lack of awareness of the AI pivot's success.

Cash flow metrics reinforce the value proposition. Price-to-operating cash flow of 7.54 and price-to-free cash flow of 13.28 are attractive for a business generating $107.5 million in operating cash flow through nine months and guiding to $100 million in full-year adjusted free cash flow. The net debt-free balance sheet with $210 million in cash provides downside protection and acquisition currency. With $11.9 million remaining on the suspended buyback program, management has demonstrated willingness to return capital when not investing in growth.

The key valuation question is whether investors should pay a premium for the AI transformation or a discount for the BPO legacy. Current multiples suggest the latter, creating potential upside if TaskUs can sustain AI Services growth above 50% while maintaining overall EBITDA margins above 20%. The company's guidance for 18% revenue growth and 21.1% EBITDA margins in 2025, if achieved, should force a re-rating as the market recognizes that the AI business is not just growing but profitable. Conversely, any stumble in execution—client concentration increasing beyond 30%, margin compression below 19%, or AI growth decelerating below 40%—would validate the current discount and suggest the transformation is riskier than management projects.

Conclusion: A BPO Betting on Its Own Obsolescence

TaskUs has made a calculated bet that the only way to survive the AI revolution is to lead it, even at the cost of cannibalizing its core business. The financial evidence from Q3 2025 supports this thesis: 60.8% growth in AI Services, 19.1% growth in Trust & Safety, and 21.2% EBITDA margins demonstrate that the company can grow its highest-value segments while funding the transition through operational excellence. The balance sheet's net debt-free status and strong cash generation provide the strategic flexibility to invest through the transition without existential risk.

The investment case hinges on two variables: the durability of the largest client relationship and the pace of AI Services' path to 25%+ of revenue. If TaskUs can maintain its largest client above 25% of revenue while growing the overall pie—deepening the relationship through AI safety, trust & safety, and generative AI support—the concentration risk becomes a competitive moat that competitors cannot breach. Simultaneously, if AI Services can sustain 50%+ growth for two more years, it will transform TaskUs from a BPO trading at 5.8x EBITDA to an AI infrastructure provider deserving a software multiple.

The market's skepticism, reflected in sub-peer valuation multiples, creates opportunity for investors who believe management's "AI winner" narrative. TaskUs is not trying to preserve a dying business model; it's actively destroying it to build something defensible. That strategic clarity, combined with tangible market share gains and robust cash generation, makes this a compelling transformation story—provided the company can execute without letting client concentration or margin pressure derail the long-term vision. The next two quarters will reveal whether this is a brilliant pivot or a bridge too far.

Disclaimer: This report is for informational purposes only and does not constitute financial advice, investment advice, or any other type of advice. The information provided should not be relied upon for making investment decisions. Always conduct your own research and consult with a qualified financial advisor before making any investment decisions. Past performance is not indicative of future results.

Discussion (0)

Sign in or sign up to join the discussion.

No comments yet. Be the first to share your thoughts!

The most compelling investment themes are the ones nobody is talking about yet.

Every Monday, get three under-the-radar themes with catalysts, data, and stocks poised to benefit.

Sign up now to receive them!

Also explore our analysis on 5,000+ stocks