{
  "dataset": "Hiring momentum — roles opening vs closing",
  "description": "Real open and close events per observation day, from the listing lifecycle recorded by our own crawl. Measures advertised demand, not headcount: a closed listing may have been filled, cancelled or reposted.",
  "publisher": "OnJob.io",
  "page": "https://onjob.io/trends/hiring-momentum",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "OnJob.io — https://onjob.io/trends (CC BY 4.0)",
  "source": "OnJob.io's own crawl: each listing is stamped with when it was first seen and when it stopped appearing on the employer's careers page. Backfill days (a source's first crawl) are excluded.",
  "generatedAt": "2026-08-17T10:29:50.738Z",
  "available": true,
  "capturedAt": "2026-08-17T10:29:50.719Z",
  "lifecycleGeneratedAt": "2026-07-25T08:03:09.519Z",
  "totals": {
    "rows": 25503,
    "open": 23423,
    "expired": 2080,
    "observationDays": 7,
    "cleanDays": 3
  },
  "window": {
    "start": "2026-07-17",
    "end": "2026-07-23"
  },
  "summary": {
    "rolesOpened": 1291,
    "rolesClosed": 1119,
    "net": 172,
    "openedPerClosed": 1.15,
    "observationDays": 3
  },
  "series": [
    {
      "date": "2026-07-17",
      "rolesOpened": 140,
      "rolesOpenedIndia": 14,
      "rolesClosed": 89,
      "net": 51
    },
    {
      "date": "2026-07-22",
      "rolesOpened": 1029,
      "rolesOpenedIndia": 131,
      "rolesClosed": 912,
      "net": 117
    },
    {
      "date": "2026-07-23",
      "rolesOpened": 122,
      "rolesOpenedIndia": 15,
      "rolesClosed": 118,
      "net": 4
    }
  ],
  "excludedBackfillDays": [
    {
      "date": "2026-07-15",
      "rolesInserted": 2847
    },
    {
      "date": "2026-07-16",
      "rolesInserted": 10008
    },
    {
      "date": "2026-07-24",
      "rolesInserted": 4381
    },
    {
      "date": "2026-07-25",
      "rolesInserted": 6976
    }
  ],
  "minEventsPerEmployer": 5,
  "netAdding": [
    {
      "company": "OpenAI",
      "opened": 61,
      "closed": 39,
      "net": 22
    },
    {
      "company": "Nagarro",
      "opened": 47,
      "closed": 43,
      "net": 4
    },
    {
      "company": "Stripe",
      "opened": 43,
      "closed": 42,
      "net": 1
    },
    {
      "company": "Toast",
      "opened": 45,
      "closed": 38,
      "net": 7
    },
    {
      "company": "MongoDB",
      "opened": 45,
      "closed": 37,
      "net": 8
    },
    {
      "company": "Airbnb",
      "opened": 41,
      "closed": 40,
      "net": 1
    },
    {
      "company": "Okta",
      "opened": 41,
      "closed": 39,
      "net": 2
    },
    {
      "company": "Databricks",
      "opened": 45,
      "closed": 35,
      "net": 10
    },
    {
      "company": "Agoda",
      "opened": 51,
      "closed": 29,
      "net": 22
    },
    {
      "company": "Fivetran",
      "opened": 69,
      "closed": 9,
      "net": 60
    }
  ],
  "netRemoving": [
    {
      "company": "Continental",
      "opened": 92,
      "closed": 113,
      "net": -21
    },
    {
      "company": "Paytm",
      "opened": 10,
      "closed": 20,
      "net": -10
    },
    {
      "company": "Zenoti",
      "opened": 5,
      "closed": 15,
      "net": -10
    },
    {
      "company": "Roku",
      "opened": 16,
      "closed": 25,
      "net": -9
    },
    {
      "company": "Workato",
      "opened": 12,
      "closed": 21,
      "net": -9
    },
    {
      "company": "Jfrog",
      "opened": 1,
      "closed": 10,
      "net": -9
    },
    {
      "company": "Roblox",
      "opened": 11,
      "closed": 18,
      "net": -7
    },
    {
      "company": "Tide",
      "opened": 4,
      "closed": 10,
      "net": -6
    },
    {
      "company": "Salesforce",
      "opened": 54,
      "closed": 59,
      "net": -5
    },
    {
      "company": "Commvault",
      "opened": 10,
      "closed": 15,
      "net": -5
    }
  ]
}