| 4/27/2026 | Raymond James Financial | Initiated Coverage | Outperform | $425.00 | |
| 4/27/2026 | Raymond James Financial | Upgrade | Moderate Buy | | |
| 4/24/2026 | Truist Financial | Boost Target | Hold ➝ Hold | $340.00 ➝ $360.00 | |
| 4/24/2026 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $420.00 ➝ $425.00 | |
| 4/24/2026 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $402.00 ➝ $425.00 | |
| 4/20/2026 | Oppenheimer | Lower Target | Outperform ➝ Outperform | $435.00 ➝ $420.00 | |
| 4/15/2026 | Robert W. Baird | Lower Target | Outperform ➝ Outperform | $420.00 ➝ $402.00 | |
| 3/27/2026 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 3/18/2026 | William Blair | Reiterated Rating | Market Perform ➝ Market Perform | | |
| 3/16/2026 | Zacks Research | Upgrade | Strong Sell ➝ Hold | | |
| 3/9/2026 | JPMorgan Chase & Co. | Boost Target | Overweight ➝ Overweight | $400.00 ➝ $420.00 | |
| 2/27/2026 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $400.00 ➝ $435.00 | |
| 2/4/2026 | Robert W. Baird | Set Target | | $420.00 | |
| 1/30/2026 | William Blair | Initiated Coverage | Market Perform | | |
| 12/29/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 12/22/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 12/15/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 12/8/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 12/1/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 11/25/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 11/19/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 10/30/2025 | JPMorgan Chase & Co. | Lower Target | Overweight ➝ Overweight | $410.00 ➝ $400.00 | |
| 10/30/2025 | Weiss Ratings | Reiterated Rating | Hold (C+) ➝ Hold (C+) | | |
| 10/30/2025 | Truist Financial | Lower Target | Hold ➝ Hold | $350.00 ➝ $340.00 | |
| 10/20/2025 | Vertical Research | Initiated Coverage | Hold | | |
| 10/20/2025 | Oppenheimer | Lower Target | Outperform ➝ Outperform | $440.00 ➝ $415.00 | |
| 10/13/2025 | The Goldman Sachs Group | Lower Target | Buy ➝ Buy | $444.00 ➝ $385.00 | |
| 10/13/2025 | Robert W. Baird | Lower Target | Outperform ➝ Outperform | $440.00 ➝ $385.00 | |
| 10/8/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 9/27/2025 | Weiss Ratings | Reiterated Rating | Hold (C) ➝ Hold (C) | | |
| 9/23/2025 | Zacks Research | Downgrade | Hold ➝ Strong Sell | | |
| 9/22/2025 | Truist Financial | Lower Target | Hold ➝ Hold | $380.00 ➝ $350.00 | |
| 9/17/2025 | JPMorgan Chase & Co. | Lower Target | Overweight ➝ Overweight | $480.00 ➝ $410.00 | |
| 7/31/2025 | Loop Capital | Downgrade | Buy ➝ Hold | $430.00 ➝ $395.00 | |
| 6/24/2025 | JPMorgan Chase & Co. | Initiated Coverage | Overweight | $500.00 | |
| 4/24/2025 | Truist Financial | Lower Target | Hold ➝ Hold | $420.00 ➝ $390.00 | |
| 4/24/2025 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $455.00 ➝ $460.00 | |
| 4/14/2025 | Zelman & Associates | Upgrade | Underperform ➝ Neutral | | |
| 1/14/2025 | The Goldman Sachs Group | Lower Target | Buy ➝ Buy | $520.00 ➝ $465.00 | |
| 1/10/2025 | Loop Capital | Lower Target | Buy ➝ Buy | $475.00 ➝ $460.00 | |
| 12/20/2024 | Oppenheimer | Reiterated Rating | Outperform ➝ Outperform | $505.00 ➝ $495.00 | |
| 11/14/2024 | Truist Financial | Initiated Coverage | Hold | $460.00 | |
| 10/25/2024 | Robert W. Baird | Lower Target | Outperform ➝ Outperform | $506.00 ➝ $500.00 | |
| 10/22/2024 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $480.00 ➝ $505.00 | |
| 10/15/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $500.00 ➝ $506.00 | |
| 9/4/2024 | Oppenheimer | Reiterated Rating | Outperform ➝ Outperform | $475.00 ➝ $480.00 | |
| 7/15/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $465.00 ➝ $500.00 | |
| 4/26/2024 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $412.00 ➝ $430.00 | |
| 4/26/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $435.00 ➝ $465.00 | |
| 4/18/2024 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $405.00 ➝ $412.00 | |
| 4/9/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $400.00 ➝ $435.00 | |
| 4/3/2024 | The Goldman Sachs Group | Initiated Coverage | Buy | $455.00 | |
| 4/1/2024 | Loop Capital | Boost Target | Buy ➝ Buy | $375.00 ➝ $440.00 | |
| 3/20/2024 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $355.00 ➝ $405.00 | |
| 3/19/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $365.00 ➝ $400.00 | |
| 1/17/2024 | Robert W. Baird | Boost Target | Outperform ➝ Outperform | $350.00 ➝ $354.00 | |
| 9/26/2023 | Jefferies Financial Group | Downgrade | Buy ➝ Hold | $325.00 ➝ $290.00 | |
| 9/25/2023 | Oppenheimer | Reiterated Rating | Outperform ➝ Outperform | $325.00 | |
| 8/18/2023 | Zelman & Associates | Downgrade | Hold ➝ Sell | | |
| 7/27/2023 | Robert W. Baird | Boost Target | | $310.00 ➝ $320.00 | |
| 7/13/2023 | Robert W. Baird | Boost Target | | $280.00 ➝ $310.00 | |
| 5/1/2023 | BMO Capital Markets | Lower Target | | $335.00 ➝ $310.00 | |
| 4/28/2023 | Loop Capital | Lower Target | | $300.00 ➝ $285.00 | |
| 4/14/2023 | Robert W. Baird | Lower Target | Outperform | $320.00 ➝ $280.00 | |
| 4/11/2023 | Credit Suisse Group | Lower Target | Outperform | $350.00 ➝ $300.00 | |
| 3/21/2023 | BMO Capital Markets | Lower Target | Outperform | $355.00 ➝ $335.00 | |
| 3/17/2023 | Oppenheimer | Lower Target | Outperform | $360.00 ➝ $345.00 | |
| 2/8/2023 | Wells Fargo & Company | Boost Target | Outperform | $315.00 ➝ $320.00 | |
| 2/8/2023 | Robert W. Baird | Boost Target | Outperform | $315.00 ➝ $320.00 | |
| 1/18/2023 | Robert W. Baird | Lower Target | Outperform | $330.00 ➝ $315.00 | |
| 10/31/2022 | Credit Suisse Group | Lower Target | Outperform | $363.00 ➝ $350.00 | |
| 10/14/2022 | Credit Suisse Group | Upgrade | Neutral ➝ Outperform | $363.00 | |
| 10/11/2022 | Robert W. Baird | Boost Target | | $325.00 ➝ $330.00 | |
| 8/31/2022 | Oppenheimer | Boost Target | Buy | $335.00 ➝ $360.00 | |
| 6/23/2022 | Robert W. Baird | Boost Target | Outperform | $300.00 ➝ $325.00 | |
| 5/9/2022 | Credit Suisse Group | Boost Target | | $275.00 ➝ $300.00 | |
| 4/29/2022 | Oppenheimer | Boost Target | | $300.00 ➝ $315.00 | |
| 4/29/2022 | Robert W. Baird | Boost Target | | $300.00 ➝ $325.00 | |
| 4/8/2022 | Loop Capital | Boost Target | | $285.00 ➝ $305.00 | |
| 4/5/2022 | Credit Suisse Group | Initiated Coverage | Neutral | $275.00 | |
| 2/15/2022 | BMO Capital Markets | Boost Target | | $260.00 ➝ $290.00 | |
| 2/11/2022 | Loop Capital | Boost Target | | $270.00 ➝ $285.00 | |
| 2/11/2022 | Oppenheimer | Boost Target | | $275.00 ➝ $300.00 | |
| 2/11/2022 | Robert W. Baird | Boost Target | | $280.00 ➝ $300.00 | |
| 1/20/2022 | Robert W. Baird | Boost Target | | $250.00 ➝ $280.00 | |
| 12/8/2021 | Oppenheimer | Boost Target | Outperform ➝ Outperform | $255.00 ➝ $270.00 | |
| 11/15/2021 | Zelman & Associates | Initiated Coverage | Buy | | |
| 10/22/2021 | Oppenheimer | Boost Target | Outperform | $250.00 ➝ $255.00 | |
| 10/22/2021 | Robert W. Baird | Boost Target | Outperform | $240.00 ➝ $250.00 | |
| 10/11/2021 | Robert W. Baird | Boost Target | Outperform | $230.00 ➝ $240.00 | |
| 10/1/2021 | Jefferies Financial Group | Reiterated Rating | Buy | | |
| 8/30/2021 | Oppenheimer | Boost Target | Outperform | $230.00 ➝ $250.00 | |
| 8/18/2021 | Loop Capital | Boost Target | Positive ➝ Buy | $215.00 ➝ $245.00 | |
| 8/11/2021 | BMO Capital Markets | Reiterated Rating | Buy | | |
| 7/23/2021 | Oppenheimer | Boost Target | Outperform | $220.00 ➝ $230.00 | |
| 7/23/2021 | Robert W. Baird | Boost Target | Outperform | $216.00 ➝ $230.00 | |
| 7/14/2021 | Oppenheimer | Boost Target | Outperform | $210.00 ➝ $220.00 | |
| 6/30/2021 | Northcoast Research | Upgrade | Neutral ➝ Buy | $230.00 | |
| 6/28/2021 | BMO Capital Markets | Reiterated Rating | Buy | | |
| 5/14/2021 | Oppenheimer | Boost Target | Outperform | $194.00 ➝ $210.00 | |