{"id":751654,"date":"2023-04-26T17:33:00","date_gmt":"2023-04-26T21:33:00","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/"},"modified":"2023-04-26T17:33:00","modified_gmt":"2023-04-26T21:33:00","slug":"sps-commerce-reports-first-quarter-2023-financial-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/","title":{"rendered":"SPS Commerce Reports First Quarter 2023 Financial Results"},"content":{"rendered":"<div class=\"mw_release\">\n<p align=\"center\">\n        <em>Company delivers <\/em><br \/>\n        <em>89th<\/em><br \/>\n        <em> consecutive quarter of topline growth<\/em><br \/>\n        <br \/>\n        <em>Revenue growth of 20%<\/em> year-over-year; <em>Recurring revenue growth of 20% year-over-year<\/em><\/p>\n<p>MINNEAPOLIS, April  26, 2023  (GLOBE NEWSWIRE) &#8212; SPS Commerce, Inc. (Nasdaq: SPSC), a leader in retail cloud services, today announced financial results for the first quarter ended March\u00a031, 2023.<\/p>\n<p>\n        <strong><br \/>\n          <u>First Quarter 2023 Financial Highlights<\/u><br \/>\n        <\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li>Revenue was $125.9 million in the first quarter of 2023, compared to $105.2 million in the first quarter of 2022, reflecting 20% growth.<\/li>\n<li>Recurring revenue grew 20% from the first quarter of 2022.<\/li>\n<li>Net income was $15.3 million or $0.41 per diluted share, compared to net income of $12.6 million or $0.34 per diluted share in the first quarter of 2022.<\/li>\n<li>Non-GAAP income per diluted share was $0.67, compared to non-GAAP income per diluted share of $0.55 in the first quarter of 2022.<\/li>\n<li>Adjusted EBITDA for the first quarter of 2022 increased 16% to $37.0 million compared to the first quarter of 2022.<\/li>\n<\/ul>\n<p>\u201cThe ongoing expansion of our network is a reflection of SPS\u2019 ability to help retailers, suppliers and emerging brands successfully and cost effectively adapt to omnichannel retail while they future-proof their investments in supply chain automation,\u201d said Archie Black, CEO of SPS Commerce. \u201cI believe our strategy and our people position SPS Commerce for continued success as we capitalize on the growth opportunities ahead of us.\u201d<\/p>\n<p>\u201cSPS Commerce\u2019s history of strong financial performance and 89 quarters of consecutive revenue growth underscore the stability of our business model and our consistent execution. Despite ongoing macro dynamics, we believe we are better positioned than ever to deliver on our long-term targets and sustained, profitable growth,\u201d said Kim Nelson, CFO of SPS Commerce.<\/p>\n<p>\n        <strong><br \/>\n          <u>Guidance<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p>\n        <strong>Second<\/strong><br \/>\n        <strong> Quarter <\/strong><br \/>\n        <strong>2023<\/strong><br \/>\n        <strong> Guidance<\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li>Revenue is expected to be in the range of $128.0 million to $128.8 million.<\/li>\n<li>Net income per diluted share is expected to be in the range of $0.30 to $0.31, with fully diluted weighted average shares outstanding of 37.5 million shares.<\/li>\n<li>Non-GAAP income per diluted share is expected to be in the range of $0.62 to $0.63.<\/li>\n<li>Adjusted EBITDA is expected to be in the range of $36.4 million to $37.0 million.<\/li>\n<li>Non-cash, share-based compensation expense is expected to be $12.8 million, depreciation expense is expected to be $5.0 million, and amortization expense is expected to be $3.9 million.<\/li>\n<\/ul>\n<p>\n        <strong>Full Year<\/strong><br \/>\n        <strong>2023<\/strong><br \/>\n        <strong> Guidance<\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li>Revenue is expected to be in the range of $525.5 million to $527.6 million, representing 17% growth over 2022.<\/li>\n<li>Net income per diluted share is expected to be in the range of $1.55 to $1.58, with fully diluted weighted average shares outstanding of 37.4 million shares.<\/li>\n<li>Non-GAAP income per diluted share is expected to be in the range of $2.67 to $2.70.<\/li>\n<li>Adjusted EBITDA is expected to be in the range of $154.2 to $155.8 million, representing 17% to 18% growth over 2022.<\/li>\n<li>Non-cash, share-based compensation expense is expected to be $45.0 million, depreciation expense is expected to be $19.8 million, and amortization expense is expected to be $15.6 million.<\/li>\n<\/ul>\n<p>The forward-looking measures and the underlying assumptions involve significant known and unknown risks and uncertainties, and actual results may vary materially. The Company does not present a reconciliation of the forward-looking non-GAAP financial measures, including Adjusted EBITDA, Adjusted EBITDA margin, and non-GAAP income per share, to the most directly comparable GAAP financial measures because it is impractical to forecast certain items without unreasonable efforts due to the uncertainty and inherent difficulty of predicting, within a reasonable range, the occurrence and financial impact of and the periods in which such items may be recognized.<\/p>\n<p>\n        <strong><br \/>\n          <u>Quarterly Conference Call<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p>To access the call, please dial 1-833-816-1382, or outside the U.S. 1-412-317-0475 at least 15 minutes prior to the 3:30 p.m. CT start time. Please ask to join the SPS Commerce Q1 2023 conference call. A live webcast of the call will also be available at http:\/\/investors.spscommerce.com under the Events and Presentations menu.\u00a0\u00a0 The replay will also be available on our website at http:\/\/investors.spscommerce.com.<\/p>\n<p>\n        <strong><br \/>\n          <u>About SPS Commerce<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p>SPS Commerce is the world\u2019s leading retail network, connecting trading partners around the globe to optimize supply chain operations for all retail partners. We support data-driven partnerships with innovative cloud technology, customer-obsessed service and accessible experts so our customers can focus on what they do best. To date, more than 115,000 companies in retail, distribution, grocery and e-commerce have chosen SPS as their retail network. SPS has achieved 89 consecutive quarters of revenue growth and is headquartered in Minneapolis. For additional information, contact SPS at 866-245-8100 or visit www.spscommerce.com.<\/p>\n<p>SPS COMMERCE, SPS, SPS logo, AS THE NETWORK GROWS, SO DOES YOUR OPPORTUNITY, INFINITE RETAIL POWER, MASTERING THE RETAIL GAME and RSX are marks of\u00a0SPS Commerce, Inc.\u00a0and Registered in the\u00a0U.S. Patent and Trademark Office. These marks may be registered or otherwise protected in other countries.\u00a0<\/p>\n<p>SPS-F<\/p>\n<p>\n        <strong><br \/>\n          <u>Use of Non-GAAP Financial Measures<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p>To supplement our consolidated financial statements, we provide investors with Adjusted EBITDA, Adjusted EBITDA Margin, and non-GAAP income per share, all of which are non-GAAP financial measures. We believe that these non-GAAP financial measures provide useful information to our management, Board of Directors, and investors regarding certain financial and business trends relating to our financial condition and results of operations.<\/p>\n<p>Our management uses these non-GAAP financial measures to compare our performance to that of prior periods for trend analyses and planning purposes. Adjusted EBITDA is also used for purposes of determining executive and senior management incentive compensation. We believe these non-GAAP financial measures are useful to an investor as they are widely used in evaluating operating performance. Adjusted EBITDA and Adjusted EBITDA Margin are used to measure operating performance without regard to items such as depreciation and amortization, which can vary depending upon accounting methods and the book value of assets, and to present a meaningful measure of corporate performance exclusive of capital structure and the method by which assets were acquired.<\/p>\n<p>These non-GAAP financial measures should not be considered a substitute for, or superior to, financial measures calculated in accordance with GAAP. These non-GAAP financial measures exclude significant expenses and income that are required by GAAP to be recorded in our consolidated financial statements and are subject to inherent limitations. Investors should review the reconciliations of non-GAAP financial measures to the comparable GAAP financial measures that are included in this press release.<\/p>\n<p>\n        <strong>Adjusted EBITDA Measures:<\/strong>\n      <\/p>\n<p>\n        <u>Adjusted EBITDA<\/u> consists of net income adjusted for income tax expense, depreciation and amortization expense, stock-based compensation expense, realized gain or loss from foreign currency on cash and investments held, investment income or loss, and other adjustments as necessary for a fair presentation.<\/p>\n<p>\n        <u>Adjusted EBITDA Margin<\/u> consists of Adjusted EBITDA divided by revenue. Margin, the comparable GAAP measure of financial performance, consists of net income divided by revenue.<\/p>\n<p>\n        <strong>Non-GAAP Income Per Share Measure:<\/strong>\n      <\/p>\n<p>\n        <u>Non-GAAP income per share<\/u>\u00a0consists of net income adjusted for stock-based compensation expense, amortization expense related to intangible assets, realized gain or loss from foreign currency on cash and investments held, other adjustments as necessary for a fair presentation, and the corresponding tax impacts of the adjustments to net income, divided by the weighted average number of shares of common and diluted stock outstanding during each period.<\/p>\n<p>To quantify the tax effects, we recalculated income tax expense excluding the direct book and tax effects of the specific items constituting the non-GAAP adjustments. The difference between this recalculated income tax expense and GAAP income tax expense is presented as the income tax effect of the non-GAAP adjustments.<\/p>\n<p>\n        <strong><br \/>\n          <u>Forward-Looking Statements<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p>This press release may contain forward-looking statements, including information about management&#8217;s view of SPS Commerce&#8217;s future expectations, plans and prospects, including our views regarding future execution within our business, the opportunity we see in the retail supply chain world and our performance for the second quarter and full year of 2023, within the safe harbor provisions under The Private Securities Litigation Reform Act of 1995. These statements involve known and unknown risks, uncertainties and other factors which may cause the results of SPS Commerce to be materially different than those expressed or implied in such statements. Certain of these risk factors and others are included in documents SPS Commerce files with the Securities and Exchange Commission, including but not limited to, SPS Commerce&#8217;s Annual Report on Form 10-K for the year ended December\u00a031, 2022, as well as subsequent reports filed with the Securities and Exchange Commission. Other unknown or unpredictable factors also could have material adverse effects on SPS Commerce&#8217;s future results. The forward-looking statements included in this press release are made only as of the date hereof. SPS Commerce cannot guarantee future results, levels of activity, performance or achievements. Accordingly, you should not place undue reliance on these forward-looking statements. Finally, SPS Commerce expressly disclaims any intent or obligation to update or revise any forward-looking statements, whether as a result of new information, future events, or otherwise.<\/p>\n<p align=\"center\">\n        <strong>SPS<\/strong><br \/>\n        <strong> COMMERCE, INC.<\/strong><br \/>\n        <br \/>\n        <strong>CONDENSED CONSOLIDATED BALANCE SHEETS<\/strong><br \/>\n        <br \/>(Unaudited; in thousands, except shares)<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>March 31,<\/strong><br \/>\n            <br \/>\n            <strong>2023<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>December 31,<\/strong><br \/>\n            <br \/>\n            <strong>2022<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>ASSETS<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Current assets<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:77%;width:77%;min-width:77%;vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Cash and cash equivalents<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">182,304<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">162,893<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Short-term investments<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">51,146<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">51,412<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accounts receivable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">46,654<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,501<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Allowance for credit losses<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,217<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,066<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Accounts receivable, net<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">43,437<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">39,435<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">53,844<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">52,755<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other assets<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,651<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,319<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total current assets<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">346,382<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">322,814<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Property and equipment, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,078<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,458<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating lease right-of-use assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8,451<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,170<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Goodwill<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">199,001<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">197,284<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Intangible assets, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">84,536<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">88,352<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other assets<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred costs, non-current<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,965<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,424<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred income tax assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,365<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">227<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Other assets, non-current<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,149<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,185<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total assets<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">696,927<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">672,914<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>LIABILITIES AND STOCKHOLDERS\u2019 EQUITY<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Current liabilities<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,339<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,256<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accrued compensation<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">26,431<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">30,235<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accrued expenses<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8,163<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">7,451<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">62,907<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">57,423<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Operating lease liabilities<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,121<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,277<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total current liabilities<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">106,961<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">110,642<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other liabilities<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred revenue, non-current<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,105<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,771<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Operating lease liabilities, non-current<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,994<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">13,009<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Deferred income tax liabilities<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,977<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">7,419<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total liabilities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">131,037<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">135,841<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Commitments and contingencies<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Stockholders&#8217; equity<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Common stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">39<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">38<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Treasury Stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(128,892<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(128,892<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Additional paid-in capital<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">489,716<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">476,117<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Retained earnings<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">208,510<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">193,221<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Accumulated other comprehensive loss<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,483<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,411<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Total stockholders\u2019 equity<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">565,890<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">537,073<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total liabilities and stockholders\u2019 equity<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">696,927<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">672,914<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        <strong>SPS COMMERCE, INC.<\/strong><br \/>\n        <br \/>\n        <strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME<\/strong><br \/>\n        <br \/>(Unaudited; in thousands, except per share amounts)<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:77%;width:77%;min-width:77%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2023<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2022<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Revenues<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">125,868<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">105,193<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cost of revenues<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,964<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,389<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Gross profit<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">82,904<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">69,804<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating expenses<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Sales and marketing<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">29,083<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">24,655<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Research and development<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12,563<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">10,701<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">General and administrative<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">20,677<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,468<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Amortization of intangible assets<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,851<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,470<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Total operating expenses<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">66,174<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">53,294<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Income from operations<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,730<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,510<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other income, net<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,276<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">423<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Income before income taxes<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,006<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,933<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Income tax expense<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,717<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,330<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net income<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,289<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12,603<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net income per share<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.42<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.35<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.41<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.34<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Weighted average common shares used to compute net income per share<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,427<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,136<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">37,155<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,989<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 15.0px;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        <strong>SPS COMMERCE, INC.<\/strong><br \/>\n        <br \/>\n        <strong>CONDENSED CONSOLIDATED <\/strong><br \/>\n        <strong>STATEMENTS OF CASH FLOWS<\/strong><br \/>\n        <br \/>(Unaudited; in thousands)<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:77%;width:77%;min-width:77%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2023<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2022<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash flows from operating activities<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Net income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,289<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12,603<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Reconciliation of net income to net cash provided by operating activities<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Deferred income taxes<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,147<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(269<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Depreciation and amortization of property and equipment<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,626<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,864<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Amortization of intangible assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,851<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,470<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Provision for credit losses<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,206<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,144<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Stock-based compensation<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,780<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,015<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Other, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">502<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(7<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Changes in assets and liabilities<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Accounts receivable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,220<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,563<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Deferred costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,679<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,797<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Other current and non-current assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">602<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,736<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,849<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,229<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Accrued compensation<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,417<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(10,495<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Accrued expenses<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">721<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,746<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Deferred revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,818<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,349<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Operating leases<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(452<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(256<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Net cash provided by operating activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">21,631<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,347<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash flows from investing activities<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Purchases of property and equipment<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,261<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,355<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Purchases of investments<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(34,329<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(54,977<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Maturities of investments<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">35,000<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">65,000<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash provided by (used in) investing activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,590<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,668<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash flows from financing activities<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Repurchases of common stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(15,226<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Net proceeds from exercise of options to purchase common stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,184<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">504<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Net proceeds from employee stock purchase plan activity<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">241<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">147<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: bottom\">Net cash provided by (used in) financing activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,425<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,575<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Effect of foreign currency exchange rate changes<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(55<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">96<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net increase (decrease) in cash and cash equivalents<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19,411<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,464<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash and cash equivalents at beginning of period<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">162,893<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">207,552<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Cash and cash equivalents at end of period<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">182,304<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">203,088<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"center\">\n        <strong>SPS COMMERCE, INC.<\/strong><br \/>\n        <br \/>\n        <strong>NON-GAAP RECONCILIATION<\/strong><br \/>\n        <br \/>(Unaudited; in thousands, except per share amounts)<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;border-left: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Adjusted EBITDA<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:77%;width:77%;min-width:77%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2023<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2022<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,289<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12,603<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: bottom\">Income tax expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,717<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,330<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px\">Depreciation and amortization of property and equipment<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">4,626<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">3,864<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px\">Amortization of intangible assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">3,851<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">2,470<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">11,780<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">9,015<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px\">Realized gain from foreign currency on cash and investments held<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">(137<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">(468<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px\">Investment income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">(1,127<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle\">(48<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,999<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,766<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\" style=\"border-top: solid black 1pt;border-left: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Adjusted EBITDA Margin<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:77%;width:77%;min-width:77%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2023<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2022<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Revenue<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">125,868<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">105,193<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net income<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,289<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12,603<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Margin<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,999<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31,766<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA Margin<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">29<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">30<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\" style=\"border-top: solid black 1pt;border-left: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Non-GAAP Income<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended<\/strong><br \/>\n            <br \/>\n            <strong>March 31,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:77%;width:77%;min-width:77%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2023<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-bottom: solid black 1pt;padding-left: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:9%;width:9%;min-width:9%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2022<\/strong>\n          <\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Net income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,289<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">12,603<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Stock-based compensation expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,780<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,015<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Amortization of intangible assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,851<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,470<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Realized gain from foreign currency on cash and investments held<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(137<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(468<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Income tax effects of adjustments<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,909<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,219<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP income<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">24,874<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">20,401<\/td>\n<td style=\"border-bottom: double 15px 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Shares used to compute non-GAAP income per share<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,427<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,136<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">37,155<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,989<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP income per share<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.68<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.56<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">Diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.67<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.55<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 25.0px;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>Contact:<br \/>Investor Relations<br \/>The Blueshirt Group<br \/>Irmina Blaszczyk &amp; Lisa Laukkanen<br \/>SPSC@blueshirtgroup.com<br \/>415-217-4962<\/p>\n<p>      <img decoding=\"async\" class=\"__GNW8366DE3E__IMG\" src=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=\" \/><br \/>\n      <br \/>\n      <img decoding=\"async\" src=\"https:\/\/ml.globenewswire.com\/media\/ZTE4YWVlYTUtYjdkNC00YTk2LWExNjMtZDVmMDI2MzMwNjVhLTEwMjc4MjQ=\/tiny\/SPS-Commerce-Inc-.png\" \/>\n    <\/div>\n<div class=\"mw_contactinfo\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Company delivers 89th consecutive quarter of topline growth Revenue growth of 20% year-over-year; Recurring revenue growth of 20% year-over-year MINNEAPOLIS, April 26, 2023 (GLOBE NEWSWIRE) &#8212; SPS Commerce, Inc. (Nasdaq: SPSC), a leader in retail cloud services, today announced financial results for the first quarter ended March\u00a031, 2023. First Quarter 2023 Financial Highlights Revenue was $125.9 million in the first quarter of 2023, compared to $105.2 million in the first quarter of 2022, reflecting 20% growth. Recurring revenue grew 20% from the first quarter of 2022. Net income was $15.3 million or $0.41 per diluted share, compared to net income of $12.6 million or $0.34 per diluted share in the first quarter of 2022. Non-GAAP income per diluted share was &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;SPS Commerce Reports First Quarter 2023 Financial Results&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-751654","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SPS Commerce Reports First Quarter 2023 Financial Results - Market Newsdesk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SPS Commerce Reports First Quarter 2023 Financial Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"Company delivers 89th consecutive quarter of topline growth Revenue growth of 20% year-over-year; Recurring revenue growth of 20% year-over-year MINNEAPOLIS, April 26, 2023 (GLOBE NEWSWIRE) &#8212; SPS Commerce, Inc. (Nasdaq: SPSC), a leader in retail cloud services, today announced financial results for the first quarter ended March\u00a031, 2023. First Quarter 2023 Financial Highlights Revenue was $125.9 million in the first quarter of 2023, compared to $105.2 million in the first quarter of 2022, reflecting 20% growth. Recurring revenue grew 20% from the first quarter of 2022. Net income was $15.3 million or $0.41 per diluted share, compared to net income of $12.6 million or $0.34 per diluted share in the first quarter of 2022. Non-GAAP income per diluted share was &hellip; Continue reading &quot;SPS Commerce Reports First Quarter 2023 Financial Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-26T21:33:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"SPS Commerce Reports First Quarter 2023 Financial Results\",\"datePublished\":\"2023-04-26T21:33:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/\"},\"wordCount\":1933,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/\",\"name\":\"SPS Commerce Reports First Quarter 2023 Financial Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=\",\"datePublished\":\"2023-04-26T21:33:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=\",\"contentUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/sps-commerce-reports-first-quarter-2023-financial-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SPS Commerce Reports First Quarter 2023 Financial Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\",\"name\":\"Market Newsdesk\",\"description\":\"Latest Business News in Real Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\",\"name\":\"Newsdesk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"caption\":\"Newsdesk\"},\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/author\\\/newsdesk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SPS Commerce Reports First Quarter 2023 Financial Results - Market Newsdesk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/","og_locale":"en_US","og_type":"article","og_title":"SPS Commerce Reports First Quarter 2023 Financial Results - Market Newsdesk","og_description":"Company delivers 89th consecutive quarter of topline growth Revenue growth of 20% year-over-year; Recurring revenue growth of 20% year-over-year MINNEAPOLIS, April 26, 2023 (GLOBE NEWSWIRE) &#8212; SPS Commerce, Inc. (Nasdaq: SPSC), a leader in retail cloud services, today announced financial results for the first quarter ended March\u00a031, 2023. First Quarter 2023 Financial Highlights Revenue was $125.9 million in the first quarter of 2023, compared to $105.2 million in the first quarter of 2022, reflecting 20% growth. Recurring revenue grew 20% from the first quarter of 2022. Net income was $15.3 million or $0.41 per diluted share, compared to net income of $12.6 million or $0.34 per diluted share in the first quarter of 2022. Non-GAAP income per diluted share was &hellip; Continue reading \"SPS Commerce Reports First Quarter 2023 Financial Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/","og_site_name":"Market Newsdesk","article_published_time":"2023-04-26T21:33:00+00:00","og_image":[{"url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"SPS Commerce Reports First Quarter 2023 Financial Results","datePublished":"2023-04-26T21:33:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/"},"wordCount":1933,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/","name":"SPS Commerce Reports First Quarter 2023 Financial Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=","datePublished":"2023-04-26T21:33:00+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#primaryimage","url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE=","contentUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=ODgyNjM4NiM1NTU5MjI3IzIwMTYyNTE="},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/sps-commerce-reports-first-quarter-2023-financial-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"SPS Commerce Reports First Quarter 2023 Financial Results"}]},{"@type":"WebSite","@id":"https:\/\/www.marketnewsdesk.com\/#website","url":"https:\/\/www.marketnewsdesk.com\/","name":"Market Newsdesk","description":"Latest Business News in Real Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marketnewsdesk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979","name":"Newsdesk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","caption":"Newsdesk"},"url":"https:\/\/www.marketnewsdesk.com\/index.php\/author\/newsdesk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/751654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/comments?post=751654"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/751654\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=751654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=751654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=751654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}