We use Google Analytics to count anonymous page views and understand which content gets read. No ads, no profiles. Decline keeps you on cookieless mode. Details.
e.l.f. Beauty, Inc.
Consumer Staples · Personal Care Products
Structural: only scaled US mass-cosmetics challenger that has organically taken share from Maybelline ($LRLCY) / CoverGirl ($COTY) / Revlon for 25+ consecutive quarters - climbed from #5 to #2 in US color cosmetics (Nielsen tracked channels) on a $6 lipstick / $5 mascara price ladder.
Gen Z + TikTok-native marketing engine (zero-celebrity, creator-led, viral dupes of $40 Charlotte Tilbury / $30 Drunk Elephant SKUs at sub-$15 price points) compresses customer-acquisition cost vs legacy beauty. Skincare ($SKIN segment + Naturium) and international are 2-leg optionality on top of US color base.
(1) tracked-channel share still mid-teens vs L'Oréal high-20s - runway to keep compounding; (2) international is <20% of revenue vs L'Oréal 70%+, multi-year expansion underway; (3) Naturium adds skincare margin mix at higher AUR; (4) gross margin >70% on direct sourcing + China manufacturing; (5) Gen Z brand affinity stickier than millennial cohort that legacy beauty owns.
(1) consumer-discretionary mass beauty is cyclical - Target/Walmart traffic softness flows straight through; (2) China supply chain = tariff + geopolitical exposure (US 2025 tariff escalation directly hits COGS); (3) TikTok algorithm dependency - single platform de-risk is incomplete; (4) revenue growth decelerating from 70%+ to 20s as base scales; (5) valuation premium to legacy beauty peers compresses on any miss.
Each weekday: the scan's ENTER setups with entry, stop and target, every new ticker teardown, and the bubble shifts that move names like this one. Free. Education, not advice.
No spam. One email per day max. Pro adds Telegram trade alerts and higher AI-assistant limits.
No major news in the last 7 days for ELF - only listicles and opinion pieces, which we filter out by default. See everything anyway.
Auto-computed retracement of the trailing 52w low-high leg. Recomputed on each refresh; not a curated level.
Auto-computed retracement of the trailing 52w low-high leg. Recomputed on each refresh; not a curated level.
Auto-computed retracement of the trailing 52w low-high leg. Recomputed on each refresh; not a curated level.