dso_drift_severe
forensic default: short
Definition
Fires on Days Sales Outstanding rising >25% YoY while revenue grows <10%. Channel-stuffing / receivables-quality precursor.
Trigger logic
(current_dso - prior_dso) / prior_dso > 0.25 AND revenue_growth < 0.10. DSO = AccountsReceivable / (Revenues / 365).
Source: signals/build_signals.py:344
Calibration — gross stock return vs net of execution costs
Cost model: 5 bps half-spread each side, 10 × √($1M / 30d ADV) impact each side, ADV-tiered borrow (≥$50M ADV → 10 bps annual; ≥$5M → 30; <$5M → 100), scaled by holding_days/252 if short.
| Horizon | n events | Gross stock ret | Net PnL | Hit rate | r/σ net | Avg cost (bps) |
|---|---|---|---|---|---|---|
| 1d | 2,382 | +0.25% | -0.49% | +44.16% | -0.04 | 35 |
| 5d | 2,381 | -0.30% | +0.11% | +44.18% | +0.01 | 36 |
| 20d | 2,351 | +2.47% | -2.54% | +43.26% | -0.02 | 40 |
| 60d | 2,258 | +16.34% | -11.34% | +45.44% | -0.06 | 51 |
| 252d | 2,213 | +32.55% | -24.65% | +49.30% | -0.10 | 102 |
Sector breakdown (top 8 by |r/σ| at 20d)
| SIC division | n | Mean 20d | Hit rate | r/σ |
|---|---|---|---|---|
| Wholesale + Retail Trade | 142 | +7.95% | +50.70% | +0.15 |
| Manufacturing (light) | 505 | -3.43% | +38.02% | -0.14 |
| Finance, Insurance, Real Estate | 96 | +17.28% | +40.62% | +0.14 |
| Mining + Construction | 214 | -1.97% | +41.12% | -0.08 |
| Services (business + personal) | 326 | +16.03% | +44.48% | +0.05 |
| Manufacturing (heavy) | 737 | -0.08% | +43.69% | -0.00 |
| Services (health + legal + edu) | 93 | +0.09% | +47.31% | +0.00 |
| Transportation, Communications, Utilities | 238 | -0.01% | +48.32% | -0.00 |
Recent triggers
ANF— ABERCROMBIE & FITCH CO /DE/ (FY2026)VRA— Vera Bradley, Inc. (FY2026)IMKTA— INGLES MARKETS INC (FY2025)UAVS— AgEagle Aerial Systems Inc. (FY2025)GLXZ— Galaxy Gaming, Inc. (FY2025)
Caveats
- Lousy short at all horizons net of costs (-2.54% / 20d, -11.34% / 60d, -24.65% / 252d).
- But CRITICAL ingredient in the deep-value LONG triple at 252d.
Citations
- Beneish (1999). 'The Detection of Earnings Manipulation.' FAJ.
- Sloan (1996). 'Accruals and the cross-section of expected returns.'
Live data → /api/methodology/signal/dso_drift_severe · MCP → pyflo_signal_methodology(signal="dso_drift_severe")