| 7/1/2025 | Barclays | Boost Target | Equal Weight ➝ Equal Weight | $95.00 ➝ $110.00 | |
| 7/1/2025 | Truist Financial | Boost Target | Hold ➝ Hold | $105.00 ➝ $110.00 | |
| 7/1/2025 | DA Davidson | Boost Target | Neutral ➝ Neutral | $95.20 ➝ $110.00 | |
| 7/1/2025 | Loop Capital | Boost Target | Hold ➝ Hold | $95.00 ➝ $110.00 | |
| 7/1/2025 | Royal Bank Of Canada | Boost Target | Sector Perform ➝ Sector Perform | $95.20 ➝ $110.00 | |
| 6/27/2025 | Stephens | Downgrade | Strong-Buy ➝ Hold | $95.00 | |
| 6/25/2025 | Raymond James Financial | Downgrade | Outperform ➝ Market Perform | | |
| 6/23/2025 | Baird R W | Downgrade | Strong-Buy ➝ Hold | | |
| 6/23/2025 | Robert W. Baird | Reiterated Rating | Outperform ➝ Neutral | $93.00 ➝ $95.00 | |
| 6/20/2025 | DA Davidson | Upgrade | Hold ➝ Strong-Buy | | |
| 6/20/2025 | Truist Financial | Boost Target | Hold ➝ Hold | $80.00 ➝ $105.00 | |
| 6/20/2025 | Raymond James Financial | Boost Target | Outperform ➝ Outperform | $80.00 ➝ $90.00 | |
| 6/20/2025 | Barclays | Boost Target | Equal Weight ➝ Equal Weight | $71.00 ➝ $95.00 | |
| 6/20/2025 | Stephens | Boost Target | Overweight ➝ Overweight | $90.00 ➝ $95.00 | |
| 6/17/2025 | Barclays | Reiterated Rating | Equal Weight ➝ Equal Weight | | |
| 6/17/2025 | Royal Bank Of Canada | Boost Target | Sector Perform ➝ Sector Perform | $65.00 ➝ $95.20 | |
| 6/17/2025 | Truist Financial | Set Target | | $80.00 | |
| 6/17/2025 | Robert W. Baird | Set Target | | $93.00 | |
| 3/10/2025 | Loop Capital | Lower Target | Hold ➝ Hold | $93.00 ➝ $80.00 | |
| 3/10/2025 | Barclays | Lower Target | Equal Weight ➝ Equal Weight | $80.00 ➝ $71.00 | |
| 3/7/2025 | UBS Group | Set Target | | $80.00 | |
| 3/7/2025 | DA Davidson | Lower Target | Neutral ➝ Neutral | $94.00 ➝ $80.00 | |
| 3/7/2025 | Royal Bank Of Canada | Lower Target | Sector Perform ➝ Sector Perform | $82.00 ➝ $65.00 | |
| 3/7/2025 | Truist Financial | Lower Target | Hold ➝ Hold | $97.00 ➝ $80.00 | |
| 3/7/2025 | Robert W. Baird | Lower Target | Outperform ➝ Outperform | $110.00 ➝ $93.00 | |
| 1/16/2025 | Barclays | Lower Target | Equal Weight ➝ Equal Weight | $93.00 ➝ $80.00 | |
| 12/9/2024 | Truist Financial | Boost Target | Hold ➝ Hold | $90.00 ➝ $97.00 | |
| 12/6/2024 | Barclays | Boost Target | Equal Weight ➝ Equal Weight | $80.00 ➝ $93.00 | |
| 12/6/2024 | DA Davidson | Lower Target | Neutral ➝ Neutral | $97.00 ➝ $94.00 | |
| 12/6/2024 | Royal Bank Of Canada | Reiterated Rating | Sector Perform ➝ Sector Perform | $78.00 ➝ $86.00 | |
| 12/6/2024 | Robert W. Baird | Lower Target | Outperform ➝ Outperform | $115.00 ➝ $110.00 | |
| 11/26/2024 | DA Davidson | Downgrade | Buy ➝ Neutral | $97.00 | |
| 11/25/2024 | Loop Capital | Boost Target | Hold ➝ Hold | $85.00 ➝ $93.00 | |
| 10/16/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $96.00 ➝ $115.00 | |
| 9/9/2024 | Barclays | Lower Target | Equal Weight ➝ Equal Weight | $81.00 ➝ $80.00 | |
| 8/30/2024 | Truist Financial | Lower Target | Hold ➝ Hold | $95.00 ➝ $90.00 | |
| 7/1/2024 | Stephens | Lower Target | Overweight ➝ Overweight | $112.00 ➝ $95.00 | |
| 6/25/2024 | DA Davidson | Lower Target | Buy ➝ Buy | $105.00 ➝ $97.00 | |
| 6/21/2024 | Royal Bank Of Canada | Lower Target | Sector Perform ➝ Sector Perform | $92.00 ➝ $85.00 | |
| 6/21/2024 | Truist Financial | Lower Target | Hold ➝ Hold | $105.00 ➝ $95.00 | |
| 6/21/2024 | Barclays | Lower Target | Equal Weight ➝ Equal Weight | $93.00 ➝ $81.00 | |
| 6/21/2024 | Loop Capital | Lower Target | Hold ➝ Hold | $100.00 ➝ $85.00 | |
| 6/21/2024 | Robert W. Baird | Lower Target | Outperform ➝ Outperform | $112.00 ➝ $100.00 | |
| 3/5/2024 | Barclays | Boost Target | Equal Weight ➝ Equal Weight | $75.00 ➝ $93.00 | |
| 3/1/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $92.00 ➝ $105.00 | |
| 3/1/2024 | Royal Bank Of Canada | Boost Target | Sector Perform ➝ Sector Perform | $84.00 ➝ $92.00 | |
| 3/1/2024 | Truist Financial | Boost Target | Hold ➝ Hold | $72.00 ➝ $88.00 | |
| 1/26/2024 | Stephens | Boost Target | Overweight ➝ Overweight | $87.00 ➝ $98.00 | |
| 12/11/2023 | Raymond James Financial | Boost Target | Outperform ➝ Outperform | $82.00 ➝ $85.00 | |
| 12/8/2023 | Royal Bank Of Canada | Boost Target | Sector Perform ➝ Sector Perform | $68.00 ➝ $70.00 | |
| 9/6/2023 | Royal Bank Of Canada | Reiterated Rating | Sector Perform ➝ Sector Perform | $68.00 | |
| 9/1/2023 | Stephens | Boost Target | Overweight ➝ Overweight | $85.00 ➝ $87.00 | |
| 9/1/2023 | Loop Capital | Boost Target | Hold ➝ Hold | $72.00 ➝ $74.00 | |
| 9/1/2023 | Robert W. Baird | Boost Target | | $76.00 ➝ $83.00 | |
| 8/22/2023 | DA Davidson | Initiated Coverage | Buy | $82.00 | |
| 6/27/2023 | VNET Group | Reiterated Rating | Maintains | | |
| 6/27/2023 | Truist Financial | Boost Target | | $60.00 ➝ $72.00 | |
| 6/23/2023 | Loop Capital | Boost Target | | $63.00 ➝ $72.00 | |
| 6/23/2023 | Raymond James Financial | Boost Target | | $70.00 ➝ $82.00 | |
| 6/23/2023 | Royal Bank Of Canada | Boost Target | | $55.00 ➝ $68.00 | |
| 6/23/2023 | Robert W. Baird | Boost Target | | $68.00 ➝ $76.00 | |
| 6/23/2023 | Barclays | Boost Target | | $67.00 ➝ $75.00 | |
| 3/6/2023 | Barclays | Boost Target | Equal Weight | $60.00 ➝ $67.00 | |
| 1/24/2023 | Robert W. Baird | Boost Target | Outperform | $67.00 ➝ $68.00 | |
| 12/12/2022 | Stephens | Boost Target | Overweight | $60.00 ➝ $65.00 | |
| 12/9/2022 | Royal Bank Of Canada | Boost Target | Sector Perform | $51.00 ➝ $58.00 | |
| 12/9/2022 | Robert W. Baird | Boost Target | | $56.00 ➝ $67.00 | |
| 12/9/2022 | Loop Capital | Downgrade | Buy ➝ Hold | $52.00 ➝ $60.00 | |
| 10/20/2022 | Robert W. Baird | Lower Target | | $56.00 | |
| 9/7/2022 | Truist Financial | Downgrade | Buy ➝ Hold | $50.00 ➝ $46.00 | |
| 6/24/2022 | Raymond James Financial | Reiterated Rating | Outperform | $72.00 ➝ $70.00 | |
| 6/24/2022 | Truist Financial | Lower Target | Buy | $65.00 ➝ $50.00 | |
| 6/24/2022 | Robert W. Baird | Lower Target | Outperform | $68.00 ➝ $55.00 | |
| 6/22/2022 | Royal Bank Of Canada | Downgrade | Outperform ➝ Sector Perform | $73.00 ➝ $46.00 | |
| 3/17/2022 | Loop Capital | Initiated Coverage | Buy | $62.00 | |
| 12/6/2021 | Raymond James Financial | Upgrade | Market Perform ➝ Outperform | $72.00 | |
| 12/3/2021 | Royal Bank Of Canada | Boost Target | Outperform | $61.00 ➝ $68.00 | |
| 12/3/2021 | Robert W. Baird | Boost Target | Positive ➝ Outperform | $62.00 ➝ $68.00 | |
| 12/3/2021 | Barclays | Boost Target | Equal Weight | $56.00 ➝ $61.00 | |
| 9/8/2021 | Barclays | Boost Target | Equal Weight | $49.00 ➝ $56.00 | |
| 9/3/2021 | Truist Financial | Boost Target | Buy | $52.00 ➝ $62.00 | |
| 9/3/2021 | Robert W. Baird | Boost Target | Outperform | $58.00 ➝ $62.00 | |
| 6/29/2021 | Barclays | Boost Target | Equal Weight | $37.00 ➝ $49.00 | |
| 6/25/2021 | Stephens | Upgrade | Equal Weight ➝ Overweight | $43.00 ➝ $56.00 | |
| 6/25/2021 | Robert W. Baird | Upgrade | Neutral ➝ Outperform | $50.00 ➝ $58.00 | |
| 6/25/2021 | Royal Bank Of Canada | Upgrade | Sector Perform ➝ Outperform | $50.00 ➝ $60.00 | |
| 5/18/2021 | Royal Bank Of Canada | Boost Target | Sector Perform | $37.00 ➝ $50.00 | |
| 5/17/2021 | Truist Financial | Boost Target | Buy | $42.00 ➝ $52.00 | |
| 4/19/2021 | Robert W. Baird | Boost Target | Neutral | $44.00 ➝ $49.00 | |
| 3/5/2021 | Truist Financial | Boost Target | | $34.00 ➝ $42.00 | |
| 3/5/2021 | Barclays | Boost Target | Equal Weight | $35.00 ➝ $37.00 | |