{"slug":"figma-lockup-expiration","qid":"unlock_price_path","label":"unlock_price_path","post_title":"figma-lockup-expiration","post_url":"/blog/figma-lockup-expiration#q-unlock_price_path","columns":["session_offset","sep_2025_pct","nov_2025_pct","aug_2026_pct"],"rows":[{"session_offset":-5,"sep_2025_pct":30.61,"nov_2025_pct":8.39,"aug_2026_pct":1.46},{"session_offset":-4,"sep_2025_pct":28.81,"nov_2025_pct":4.76,"aug_2026_pct":3.96},{"session_offset":-3,"sep_2025_pct":20.18,"nov_2025_pct":-0.37,"aug_2026_pct":13.14},{"session_offset":-2,"sep_2025_pct":24.87,"nov_2025_pct":-4.28,"aug_2026_pct":17.44},{"session_offset":-1,"sep_2025_pct":0,"nov_2025_pct":0,"aug_2026_pct":0},{"session_offset":0,"sep_2025_pct":0.55,"nov_2025_pct":-3.76,"aug_2026_pct":-2.84},{"session_offset":1,"sep_2025_pct":-3.83,"nov_2025_pct":-3.39,"aug_2026_pct":5.92},{"session_offset":2,"sep_2025_pct":-2.27,"nov_2025_pct":-3.26,"aug_2026_pct":3.75},{"session_offset":3,"sep_2025_pct":-6.41,"nov_2025_pct":-4.31,"aug_2026_pct":-0.92},{"session_offset":4,"sep_2025_pct":2.57,"nov_2025_pct":-11.79,"aug_2026_pct":9.93},{"session_offset":5,"sep_2025_pct":-2.73,"nov_2025_pct":-16.2,"aug_2026_pct":6.05}],"shape":"ranking","sql":"WITH bars AS\n(\n    SELECT\n        date,\n        close,\n        row_number() OVER (ORDER BY date) AS seq\n    FROM\n    (\n        SELECT\n            date,\n            argMax(toFloat64(close), _ingest_time) AS close\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'FIG'\n          AND date >= '2025-07-31'\n        GROUP BY date\n    )\n),\nanchors AS\n(\n    SELECT\n        anyIf(seq, date = '2025-09-05')   AS employee_release,\n        anyIf(seq, date = '2025-11-07')   AS ipo_lockup_end,\n        anyIf(seq, date = '2026-08-07')   AS final_tranche,\n        anyIf(close, date = '2025-09-04') AS employee_base,\n        anyIf(close, date = '2025-11-06') AS ipo_base,\n        anyIf(close, date = '2026-08-06') AS final_base\n    FROM bars\n),\noffsets AS\n(\n    SELECT arrayJoin(range(11)) - 5 AS session_offset\n)\nSELECT\n    o.session_offset AS session_offset,\n    round(100 * (anyIf(b.close, toInt32(b.seq) = toInt32(a.employee_release) + o.session_offset) / any(a.employee_base) - 1), 2) AS sep_2025_pct,\n    round(100 * (anyIf(b.close, toInt32(b.seq) = toInt32(a.ipo_lockup_end)   + o.session_offset) / any(a.ipo_base)      - 1), 2) AS nov_2025_pct,\n    round(100 * (anyIf(b.close, toInt32(b.seq) = toInt32(a.final_tranche)    + o.session_offset) / any(a.final_base)    - 1), 2) AS aug_2026_pct\nFROM offsets AS o\nCROSS JOIN bars AS b\nCROSS JOIN anchors AS a\nGROUP BY session_offset\nORDER BY session_offset","computed_at":"2026-09-25T15:02:34.355720+00:00","elapsed":0.120789904}