{"slug":"ipo-quiet-period-explained","qid":"registration_window","label":"Days from announced deal to first trade, US listings since January 2025","post_title":"IPO Quiet Period Rules and Timeline","post_url":"/blog/ipo-quiet-period-explained#q-registration_window","columns":["bucket","deals_in_bucket","share_pct"],"rows":[{"bucket":"under 30 days","deals_in_bucket":148,"share_pct":29},{"bucket":"30 to 59 days","deals_in_bucket":108,"share_pct":21.1},{"bucket":"60 to 89 days","deals_in_bucket":68,"share_pct":13.3},{"bucket":"90 to 119 days","deals_in_bucket":55,"share_pct":10.8},{"bucket":"120 to 149 days","deals_in_bucket":29,"share_pct":5.7},{"bucket":"150 to 179 days","deals_in_bucket":19,"share_pct":3.7},{"bucket":"180 days or more","deals_in_bucket":84,"share_pct":16.4}],"shape":"ranking","sql":"WITH deals AS\n(\n    SELECT\n        ticker,\n        max(listing_date)   AS listed_on,\n        min(announced_date) AS announced_on\n    FROM global_markets.stocks_ipos\n    WHERE listing_date >= '2025-01-01'\n      AND listing_date <  '2026-06-01'\n      AND final_issue_price > 0\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker\n    HAVING announced_on > toDate('2015-01-01')\n       AND announced_on < listed_on\n)\nSELECT\n    multiIf(b = 0, 'under 30 days',\n            b = 6, '180 days or more',\n            concat(toString(b * 30), ' to ', toString(b * 30 + 29), ' days')) AS bucket,\n    deals_in_bucket,\n    round(100 * deals_in_bucket / sum(deals_in_bucket) OVER (), 1)            AS share_pct\nFROM\n(\n    SELECT\n        least(intDiv(dateDiff('day', announced_on, listed_on), 30), 6) AS b,\n        count()                                                        AS deals_in_bucket\n    FROM deals\n    GROUP BY b\n)\nORDER BY b","computed_at":"2026-08-19T16:17:15.481312+00:00","elapsed":0.003082614}