{
  "@context": "https://frontierpicks.com/schemas/dossier.v1.json",
  "ticker": "GDYN",
  "name": "Grid Dynamics Holdings, Inc.",
  "url": "https://frontierpicks.com/dossiers/GDYN/",
  "json_url": "https://frontierpicks.com/dossiers/GDYN.json",
  "status": "WATCHLIST",
  "current_conviction": "MEDIUM",
  "archetype": {
    "code": "a4",
    "n": 4
  },
  "current_thesis": "Grid Dynamics' AI work is lifting the IT-services firm back toward double-digit growth at margins near 20%, which favors the shares beating the S&P 500. The Q4 2026 report, expected around late February 2027, shows whether 2027 guidance confirms the rise from $9.49 before the Q3 report to $13.83.",
  "invalidation_trigger": "A daily close below $10.90, which would put the shares under JPMorgan's $11 target and give back most of the gain from the $9.49 close before the Q3 report. AI revenue growth below 45%, or 2027 revenue guidance below double digits, would also break the case.",
  "catalyst_date": null,
  "portfolio": null,
  "pick": null,
  "themes": [
    "ai-enterprise-software"
  ],
  "tags": [],
  "sources": [],
  "caveats": [],
  "source_links": [
    {
      "title": "GRID DYNAMICS HOLDINGS, INC. - Form 8-K - FY2026",
      "url": "https://www.sec.gov/Archives/edgar/data/0001743725/000174372526000029/grid-20260930xex991.htm",
      "date": null
    },
    {
      "title": "GRID DYNAMICS HOLDINGS, INC. - Form 10-Q - FY2026",
      "url": "https://www.sec.gov/Archives/edgar/data/0001743725/000174372526000031/gdyn-20260930.htm",
      "date": null
    },
    {
      "title": "FY2026 EPS Forecast for Grid Dynamics Boosted by Analyst",
      "url": "https://www.marketbeat.com/instant-alerts/estimates-fy2026-eps-forecast-for-grid-dynamics-boosted-by-analyst-2026-11-05/",
      "date": "2026-11-05"
    },
    {
      "title": "Grid Dynamics (NASDAQ:GDYN) Stock Price Target Raised at JPMorgan Chase & Co.",
      "url": "https://www.marketbeat.com/instant-alerts/analyst-grid-dynamics-nasdaq-gdyn-stock-price-target-raised-at-jpmorgan-chase-co-2026-10-30/",
      "date": "2026-10-30"
    },
    {
      "title": "Grid Dynamics (NASDAQ:GDYN) Stock Gets Price Target Boost from TD Cowen",
      "url": "https://www.marketbeat.com/instant-alerts/analyst-grid-dynamics-nasdaq-gdyn-stock-gets-price-target-boost-from-td-cowen-2026-10-30/",
      "date": "2026-10-30"
    },
    {
      "title": "StockStory",
      "url": "https://stockstory.org/us/stocks/nasdaq/gdyn/news/earnings-call/gdyn-q3-deep-dive-ai-driven-delivery-boosts-margins-and-productivity-gains",
      "date": "2026-10-30"
    },
    {
      "title": "Earnings Whispers",
      "url": "https://www.earningswhispers.com/transcript/GDYN/Q32026",
      "date": null
    }
  ],
  "evidence": [
    {
      "claim": "Q3 2026 revenue was a record $114.3M, up 9.7% year over year, above the $112.0–114.0M guidance range; AI revenue was 31% of total and grew more than 45% for a third straight quarter.",
      "source": "Grid Dynamics Q3 2026 8-K, Exhibit 99.1",
      "as_of": "2026-09-30"
    },
    {
      "claim": "Non-GAAP EBITDA was $22.9M, or 20.0% of revenue, versus $12.7M, or 12.2%, in Q3 2025; GAAP operating income was $9.1M versus a $0.2M loss.",
      "source": "Grid Dynamics Q3 2026 8-K and Form 10-Q",
      "as_of": "2026-09-30"
    },
    {
      "claim": "Q4 2026 guidance is revenue of $113.5–115.5M, against a $113.0M consensus estimate, and non-GAAP EBITDA of $20.0–22.0M.",
      "source": "Q3 2026 8-K; Benzinga 2026-10-29",
      "as_of": "2026-10-29"
    },
    {
      "claim": "The largest client was 17.9% of Q3 2026 revenue and 17.5% of nine-month revenue.",
      "source": "Grid Dynamics Q3 2026 Form 10-Q",
      "as_of": "2026-09-30"
    },
    {
      "claim": "The company repurchased about 0.9M shares for $6.7M in Q3 2026, leaving $12.5M under its $50M program; 80,370,132 shares were outstanding on 2026-10-23.",
      "source": "Grid Dynamics Q3 2026 Form 10-Q",
      "as_of": "2026-10-23"
    },
    {
      "claim": "Northland Securities raised its FY2026 EPS estimate to $0.31 from $0.22 and set FY2027 at $0.37.",
      "source": "MarketBeat, 2026-11-05",
      "as_of": "2026-11-02"
    },
    {
      "claim": "Consensus rating is hold (four buy, two hold, two sell) with an average price target of $11.80; Needham's target is $15, TD Cowen's $13 and JPMorgan's $11.",
      "source": "MarketBeat, 2026-11-05",
      "as_of": "2026-11-05"
    },
    {
      "claim": "Director Lloyd Carney sold 67,203 shares at an average $13.21 on 2026-11-05 to 2026-11-06 and gifted 14,870 shares; the CFO sold 1,500 shares at $13.26 on 2026-11-06 under a Rule 10b5-1 plan.",
      "source": "SEC Form 4 filings, 2026-11-09",
      "as_of": "2026-11-06"
    }
  ],
  "view_changes": [],
  "frame": null,
  "filed_numbers": {
    "as_of": "2026-11-13",
    "sector": "Technology",
    "financials": {
      "status": "ok",
      "reason": null,
      "close_date": "2026-11-13",
      "latest_quarter": "2026-09-30",
      "figures": {
        "revenue": {
          "status": "ok",
          "quarters": [
            {
              "end": "2026-09-30",
              "filed": "2026-10-30",
              "restated": null,
              "value_musd": 114.3,
              "yoy_pct": 9.7
            },
            {
              "end": "2026-06-30",
              "filed": "2026-07-30",
              "restated": null,
              "value_musd": 108.2,
              "yoy_pct": 7
            },
            {
              "end": "2026-03-31",
              "filed": "2026-04-30",
              "restated": null,
              "value_musd": 104.1,
              "yoy_pct": 3.7
            },
            {
              "end": "2025-12-31",
              "filed": "2026-03-05",
              "restated": null,
              "value_musd": 106.2,
              "yoy_pct": 5.9
            },
            {
              "end": "2025-09-30",
              "filed": "2025-10-30",
              "restated": null,
              "value_musd": 104.2,
              "yoy_pct": 19.1
            },
            {
              "end": "2025-06-30",
              "filed": "2025-07-31",
              "restated": null,
              "value_musd": 101.1,
              "yoy_pct": 21.7
            }
          ]
        },
        "gross_margin": {
          "status": "ok",
          "quarters": [
            {
              "end": "2026-09-30",
              "filed": "2026-10-30",
              "restated": null,
              "pct": 40.3
            },
            {
              "end": "2026-06-30",
              "filed": "2026-07-30",
              "restated": null,
              "pct": 36.6
            },
            {
              "end": "2026-03-31",
              "filed": "2026-04-30",
              "restated": null,
              "pct": 34.8
            },
            {
              "end": "2025-12-31",
              "filed": "2026-03-05",
              "restated": null,
              "pct": 34
            },
            {
              "end": "2025-09-30",
              "filed": "2025-10-30",
              "restated": null,
              "pct": 33.3
            },
            {
              "end": "2025-06-30",
              "filed": "2025-07-31",
              "restated": null,
              "pct": 34.1
            }
          ]
        },
        "operating_margin": {
          "status": "ok",
          "quarters": [
            {
              "end": "2026-09-30",
              "filed": "2026-10-30",
              "restated": null,
              "pct": 8
            },
            {
              "end": "2026-06-30",
              "filed": "2026-07-30",
              "restated": null,
              "pct": 1.2
            },
            {
              "end": "2026-03-31",
              "filed": "2026-04-30",
              "restated": null,
              "pct": -3.5
            },
            {
              "end": "2025-12-31",
              "filed": "2026-03-05",
              "restated": null,
              "pct": 0.5
            },
            {
              "end": "2025-09-30",
              "filed": "2025-10-30",
              "restated": null,
              "pct": -0.2
            },
            {
              "end": "2025-06-30",
              "filed": "2025-07-31",
              "restated": null,
              "pct": -0.1
            }
          ]
        },
        "pretax_income": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "value_musd": 11.4
        },
        "net_income": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "four_quarters_end": "2026-09-30",
          "value_musd": 6.2,
          "four_quarters_musd": 7.8
        },
        "operating_cash_flow": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "first_end": "2025-12-31",
          "value_musd": 40.4
        },
        "capital_spending": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "first_end": "2025-12-31",
          "value_musd": 14.1
        },
        "free_cash_flow": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "first_end": "2025-12-31",
          "value_musd": 26.3
        },
        "diluted_share_change": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "base_end": "2025-09-30",
          "pct": -4.6
        },
        "cash": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "value_musd": 304.3
        },
        "debt": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "value_musd": 0,
          "composition": "credit line"
        },
        "net_cash": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "value_musd": 304.3
        },
        "deferred_revenue": {
          "status": "ok",
          "end": "2026-06-30",
          "filed": "2026-07-30",
          "value_musd": 1.5,
          "yoy_pct": 100.3
        },
        "backlog": {
          "status": "ok",
          "end": "2025-09-30",
          "filed": "2025-10-30",
          "value_musd": 0.6,
          "yoy_pct": -90.8
        },
        "receivables": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "value_musd": 84.7
        },
        "inventory": {
          "status": "not reported"
        },
        "equity": {
          "status": "ok",
          "end": "2026-09-30",
          "filed": "2026-10-30",
          "value_musd": 523.8
        },
        "market_value": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "value_musd": 1061.7
        },
        "enterprise_value": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "value_musd": 757.4
        },
        "ev_sales": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "multiple": 1.8
        },
        "ev_ebit": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "multiple": 104.6
        },
        "pe": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "multiple": 135.3
        },
        "pb": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "multiple": 2
        },
        "fcf_yield": {
          "status": "ok",
          "close_date": "2026-11-13",
          "basis_end": "2026-10-23",
          "basis_filed": "2026-10-30",
          "pct": 2.5
        }
      }
    },
    "short_interest": {
      "status": "ok",
      "settlement": "2026-10-15",
      "published": "2026-10-26",
      "short_pct_of_outstanding": 4.6,
      "days_to_cover": 4.6,
      "change_pct": -4.1
    },
    "insiders": {
      "status": "ok",
      "as_of": "2026-11-15",
      "windows": [
        {
          "days": 90,
          "status": "ok",
          "from": "2026-08-18",
          "bought_usd": 0,
          "sold_usd": 2738308.09,
          "bought_unpriced": 0,
          "sold_unpriced": 0
        },
        {
          "days": 365,
          "status": "ok",
          "from": "2025-11-16",
          "bought_usd": 0,
          "sold_usd": 3756973.11,
          "bought_unpriced": 0,
          "sold_unpriced": 0
        }
      ]
    }
  },
  "body_markdown": "## Current Thesis\nGrid Dynamics' artificial-intelligence (AI) work is pulling the whole IT-consulting business back toward double-digit growth at margins near 20%. That makes the shares modestly more likely than not to beat the S&P 500 over the next three months. The fourth-quarter report, expected around late February 2027, settles it by showing whether formal 2027 guidance matches management's call.\n\nThe shares have kept their post-report gain and pushed higher. They closed at $13.83 on 2026-11-11, after a record close of $14.06 on 2026-11-10 and an intraday 52-week high of $14.14 on 2026-11-11. The close before the 2026-10-29 report was $9.49. At $13.83 the market prices in sustained double-digit growth: the shares sit above the $11.80 average analyst target MarketBeat reported on 2026-11-05 and below only Needham's $15 among the published targets.\n\nQ3 2026 still carries the view. Revenue was a record $114.3 million, up 9.7% year over year and above the company's $112.0–114.0 million guidance (Q3 8-K). AI revenue was 31% of the total and grew more than 45% for a third straight quarter. Adjusted earnings before interest, taxes, depreciation and amortization (EBITDA) were $22.9 million, or 20.0% of revenue, against 12.2% a year earlier.\n\nThe rating is Medium because the business evidence is strong but the price already sits above most analyst targets, insiders including a director sold into the rally in early November, and no earnings report falls before late February 2027.\n\n## Bull Case\n- **AI revenue now sets the growth rate.** AI revenue has grown more than 45% for three quarters and reached 31% of revenue in Q3 2026 (8-K). On the 2026-10-29 call, management said it expects \"healthy double-digit growth\" in 2027 and sees the AI share moving toward 40%.\n- **Estimates are still moving up.** Northland Securities raised its fiscal 2026 earnings-per-share estimate to $0.31 from $0.22 on 2026-11-02 and set fiscal 2027 at $0.37 (MarketBeat, 2026-11-05). Q3 adjusted earnings per share were $0.18 against a $0.13 estimate (Benzinga, 2026-10-29).\n- **Margins are back near historical levels.** Q3 2026 gross margin under generally accepted accounting principles (GAAP) was 40.3%, up from 36.6% in Q2. GAAP operating income was $9.1 million, against a $0.2 million loss a year earlier (Q3 10-Q).\n- **Large technology clients are spending more.** Technology, media and telecom (TMT) revenue rose 29.3% year over year to $36.96 million, or 32.3% of the total, in Q3 2026. Retail revenue grew 13.3% (8-K).\n- **Cash funds buybacks and acquisitions.** Cash was $304.3 million on 2026-09-30 (8-K). Management signaled readiness for larger robotics and capital-markets acquisitions in 2027 (StockStory, 2026-10-30), and launched a Business Process Consulting practice on 2026-10-28.\n\n## Bear Case\n- **Fourth-quarter guidance implies a flat quarter.** Q4 2026 revenue guidance of $113.5–115.5 million brackets the $114.3 million reported for Q3. EBITDA guidance of $20.0–22.0 million sits below Q3's $22.9 million (8-K).\n- **One client is nearly a fifth of revenue.** The 10-Q shows the largest client at 17.9% of Q3 2026 revenue and 17.5% for the first nine months. The top 10 clients were 63.3% of Q3 revenue, up from 58.3% a year earlier (2026-10-29 call).\n- **The price sits above most targets.** The $13.83 close on 2026-11-11 is above the $11.80 average target, JPMorgan's $11 and TD Cowen's $13, all set on 2026-10-30. MarketBeat counted four buy, two hold and two sell ratings on 2026-11-05.\n- **A director sold into the rally.** Director Lloyd Carney sold 67,203 shares at an average $13.21 on 2026-11-05 and 2026-11-06 and gifted 14,870 shares (SEC Form 4, filed 2026-11-09). The CEO, CFO and COO also sold under Rule 10b5-1 plans between 2026-10-29 and 2026-11-06.\n- **Buyback capacity is mostly used.** The company bought about 0.9 million shares for $6.7 million in Q3, leaving $12.5 million under its $50 million program on 2026-09-30 (10-Q).\n- **Cash generation lags the margin gain.** Nine-month operating cash flow was $30.5 million against $30.7 million a year earlier (8-K). Finance and consumer-goods revenue were roughly flat in Q3 and healthcare fell about 14%.\n\n## Setup & Price Structure\nThe shares closed at $13.83 on 2026-11-11, up 74.2% over three months from $7.94 on 2026-08-13 (adjusted daily closes). The 50-day moving average was $9.03 and the 200-day $7.15 on 2026-11-11, so the price trades far above both. The 52-week closing low was $5.21 on 2026-06-25.\n\nThe repricing happened in one session. The shares rose from $9.49 to $13.36 on 2026-10-30 while the Nasdaq fell 2.48% that day (Benzinga). Since then the closes have held between $13.10 (2026-11-06) and $14.06 (2026-11-10), and the 2026-11-11 session set a new intraday high of $14.14.\n\nThe levels the case turns on are the $9.49 pre-report close, which marks the full post-report gain, and JPMorgan's $11 target, the lowest published broker target. A drop toward either would show the market rejecting the Q3 repricing before the February report. On the upside, Needham's $15 target is the highest published figure.\n\n## Catalyst Calendar\n\n- **~2027-02-26 (est.):** Q4 2026 report and first 2027 outlook. Shows whether management's call for double-digit growth in 2027 appears in formal guidance and whether AI revenue keeps growing above 45%.\n\n## What Would Change Our Mind\n\nA daily close below $10.90, which would put the shares under JPMorgan's $11 target and give back most of the gain from the $9.49 close before the Q3 report. AI revenue growth below 45%, or 2027 revenue guidance below double digits, would also break the case.\n\nThe risks this note tracks, each with what would confirm it:\n\n- Concentration in large technology clients turns into a revenue hole if one of them cuts spending. Confirmed by: The largest client falling well below the 17.9% share of revenue reported for Q3 2026, or TMT vertical growth dropping well below the 29.3% year-over-year pace.\n- AI growth slows before it is large enough to lift total revenue to double digits. Confirmed by: AI revenue growth below 45% year over year, or 2027 revenue guidance below 10% growth, at the Q4 2026 report.\n- The shares trade above most analyst targets after a 74.2% three-month rise, leaving them exposed to a valuation-driven pullback. Confirmed by: Broker downgrades that cite valuation after the 2026-10-30 move, or further director sales outside Rule 10b5-1 plans in SEC Form 4 filings.\n- Margin gains reverse as the company spends on new practices and enters a seasonally weak first quarter. Confirmed by: Q4 2026 non-GAAP EBITDA below the $20.0M low end of guidance, or Q1 2027 margin guidance well below 20%.\n- Weaker demand across digital engineering services drags the peer group lower. Confirmed by: EPAM guiding 2027 revenue growth down at its fourth-quarter 2026 report.\n\n## Correlation Notes\nGrid Dynamics trades with the IT-services and AI enterprise software group, including EPAM, Kyndryl (KD), Appian (APPN), Clarivate (CLVT), Procore (PCOR), Vertex (VERX), Telos (TLS) and PAR Technology (PAR). EPAM is the closest business match, so its fourth-quarter 2026 report and 2027 outlook, due before Grid Dynamics reports, set the tone for demand across digital engineering services.\n\nThe 2026-10-30 move was company-specific: the shares rose 40.8% while the Nasdaq fell 2.48% (adjusted daily closes; Benzinga). MarketBeat listed a beta of 0.88 on 2026-11-05. After a 74.2% three-month rise, a sell-off across IT-services names would likely hit the shares harder than that beta suggests.",
  "first_seen": "2026-11-10",
  "last_analyzed": "2026-11-12T16:45:12+00:00",
  "last_synthesized": "2026-11-12",
  "date_modified": "2026-11-12",
  "license": "Content © FrontierPicks. Cite the canonical URL."
}