Track IT Services Attrition from AmbitionBox Reviews (2026)

Thirdwatch's AmbitionBox Salaries & Ratings Scraper makes Indian IT services attrition a tracked signal at $0.006 per record — pull weekly snapshots, watch review velocity, surface sentiment drops in salary_benefits and career_growth before quarterly disclosures confirm. Built for HR analytics teams, equity research analysts, and Indian IT competitive-intelligence groups who need attrition data months ahead of company reporting.

Why track Indian IT services attrition via AmbitionBox

Indian IT services attrition is the second-most-watched metric in Indian equity research after revenue growth. According to the Q4 FY24 results commentary from TCS, Infosys, and Wipro, trailing-12-month attrition runs 12-25% across the tier-one firms with cyclical swings of ±5 percentage points within a year — and those swings move stocks because Indian IT margins are highly sensitive to bench-staffing and replacement-hiring costs. Reviews on AmbitionBox capture employee sentiment in structured form months before quarterly disclosures, making them a genuinely useful leading indicator.

The job-to-be-done is structured. An equity analyst covering Indian IT services wants weekly review-velocity tracking across the top 10 firms, with sentiment-shift flags. An HR competitive-intelligence team at one IT services firm wants to monitor talent-flight signals at peers before press coverage forces attention. A bootcamp or upskilling startup targeting laid-off IT services engineers wants to time outbound campaigns to attrition spikes. All of these reduce to the same shape — weekly AmbitionBox pull, time-series tracking on volume and category ratings, alert on threshold crossings.

How does this compare to the alternatives?

Three options for Indian IT services attrition tracking:

Approach Cost per 1,000 records × weekly Reliability Setup time Maintenance
Quarterly company disclosures Free, official High but lagging 3-12 weeks Days Public release schedule
Paid HR-intel SaaS (Vasundhara, McKinsey People Analytics) $50K–$300K/year flat High coverage Weeks–months Vendor lock-in
Thirdwatch AmbitionBox Scraper $6 × weekly = $312/year Production-tested, monopoly position on Apify Half a day Thirdwatch tracks AmbitionBox changes

Quarterly disclosures are authoritative but lag the leading indicator window where action is most useful. The AmbitionBox Scraper actor page gives you the live structured feed; the time-series analytics are downstream pandas.

How to track Indian IT services attrition in 4 steps

Step 1: How do I authenticate against Apify?

Sign in at apify.com (free tier, no credit card), open Settings → Integrations, and copy your personal API token. Every example below assumes the token is in APIFY_TOKEN:

export APIFY_TOKEN="apify_api_xxxxxxxxxxxxxxxx"

Step 2: How do I take a weekly snapshot of the IT services peer set?

Pass the IT services peer set as companies and leave roles empty for company-level metrics.

import os, requests, datetime, json, pathlib

ACTOR = "thirdwatch~ambitionbox-scraper"
TOKEN = os.environ["APIFY_TOKEN"]

PEER_SET = ["tcs", "infosys", "wipro", "hcl", "tech-mahindra",
            "ltimindtree", "mphasis", "cognizant",
            "capgemini", "accenture"]

resp = requests.post(
    f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items",
    params={"token": TOKEN},
    json={
        "companies": PEER_SET,
        "roles": [],
        "maxResults": 5,
        "includeCompanyReviews": True,
    },
    timeout=600,
)
records = resp.json()
week = datetime.date.today().isocalendar()
ts = f"{week.year}-W{week.week:02d}"
pathlib.Path(f"snapshots/ambitionbox-it-{ts}.json").write_text(json.dumps(records))
print(f"{ts}: {len(records)} records across {len(PEER_SET)} firms")

Ten firms × five role-records each = 50 records per weekly snapshot, costing $0.30 per pull.

Step 3: How do I compute review-velocity and category-rating trends?

Aggregate snapshots by week and company. Track company_reviews_count velocity and the seven category ratings.

import pandas as pd, glob, json as J

frames = []
for f in sorted(glob.glob("snapshots/ambitionbox-it-*.json")):
    week = pathlib.Path(f).stem.replace("ambitionbox-it-", "")
    for j in J.loads(pathlib.Path(f).read_text()):
        cats = j.get("category_ratings") or {}
        frames.append({
            "week": week,
            "company": j["company_name"],
            "reviews": j.get("company_reviews_count"),
            "rating": j.get("company_rating"),
            "salary_benefits": cats.get("salary_benefits"),
            "career_growth": cats.get("career_growth"),
            "work_life_balance": cats.get("work_life_balance"),
            "job_security": cats.get("job_security"),
        })

df = pd.DataFrame(frames).drop_duplicates(subset=["week", "company"])

reviews = df.pivot(index="company", columns="week", values="reviews").ffill(axis=1)
weeks = sorted(reviews.columns)
if len(weeks) >= 5:
    reviews["wow_change"] = reviews[weeks[-1]] - reviews[weeks[-5]]
    reviews["wow_pct"] = reviews["wow_change"] / reviews[weeks[-5]].clip(lower=1)
    print("--- Review velocity (4-week change) ---")
    print(reviews[["wow_change", "wow_pct"]].sort_values("wow_pct", ascending=False))

A wow_pct >= 0.10 over 4 weeks at a tier-one IT services firm is a leading attrition signal worth flagging.

Step 4: How do I alert when category ratings drop materially?

Watch salary_benefits and career_growth for 0.2+ point drops over 8 weeks — the earliest sentiment indicators of attrition.

sb = df.pivot(index="company", columns="week", values="salary_benefits").ffill(axis=1)
cg = df.pivot(index="company", columns="week", values="career_growth").ffill(axis=1)
if len(weeks) >= 9:
    sb["drop_8w"] = sb[weeks[-1]] - sb[weeks[-9]]
    cg["drop_8w"] = cg[weeks[-1]] - cg[weeks[-9]]
    flags = pd.concat([sb["drop_8w"].rename("salary_drop"),
                       cg["drop_8w"].rename("career_drop")], axis=1)
    serious = flags[(flags.salary_drop <= -0.2) | (flags.career_drop <= -0.2)]
    print(serious.sort_values("salary_drop"))

A company showing both salary_drop <= -0.2 and career_drop <= -0.2 over 8 weeks is the textbook attrition-onset pattern. Alert this set into your equity-research or HR-intelligence Slack channel.

Sample output

A single weekly record for one IT services firm with category_ratings populated looks like this. The attrition analysis stitches many such rows over time.

{
  "role": "Software Engineer",
  "company_name": "Tata Consultancy Services",
  "avg_salary": 574006,
  "reports_count": 1250,
  "company_rating": 3.8,
  "company_reviews_count": 45000,
  "category_ratings": {
    "work_life_balance": 3.9,
    "salary_benefits": 3.2,
    "job_security": 4.1,
    "career_growth": 3.5,
    "work_satisfaction": 3.4,
    "skill_development": 3.6,
    "company_culture": 3.7
  }
}

The signature attrition-onset pattern across an 8-week window typically looks like this:

Week reviews rating salary_benefits career_growth
W08 44,200 3.8 3.4 3.6
W12 44,800 3.8 3.3 3.5
W16 46,400 3.7 3.1 3.3

Reviews up 2,200 in 8 weeks, salary_benefits down 0.3, career_growth down 0.3 — sentiment falling alongside review-volume rising is the canonical attrition-onset shape.

Common pitfalls

Three issues bite IT services attrition trackers built on AmbitionBox. Quarterly-results bias — review volume spikes around quarterly results announcements regardless of underlying attrition; smooth with a 4-week rolling average rather than reading single-week deltas. Re-baselining artifacts — AmbitionBox occasionally re-baselines a company's category ratings (typically after acquisition or methodology change); a 0.5+ jump or drop within a single week is more likely a re-baseline than real sentiment change. Cross-check against company_reviews_count velocity before reading. Survivor bias in active employees — current employees are slightly under-represented in review samples relative to recent leavers, which can make ratings appear more negative during high-attrition periods than the underlying workforce sentiment justifies. Treat AmbitionBox as the leading-indicator floor, not the only signal.

Thirdwatch's actor returns company_reviews_count and the seven category_ratings on every record so the time-series analysis can happen downstream. The pure-HTTP architecture means a 10-firm weekly snapshot completes in under three minutes and costs $0.30 — annual data sits at roughly $16, two orders of magnitude cheaper than any HR-intelligence subscription.

Related use cases

Frequently asked questions

Why are AmbitionBox reviews a useful attrition signal?

Reviews are written disproportionately by departing or recently-departed employees, so review velocity at a company is a leading indicator of attrition months before the company's official quarterly disclosure. A 50%+ jump in monthly review volume at TCS or Infosys typically precedes their reported attrition uptick by one or two quarters.

What review-volume threshold actually matters?

For tier-one Indian IT services firms (TCS, Infosys, Wipro, HCL, Tech Mahindra), a 30%+ month-over-month rise in company_reviews_count with sustained 3-month duration is a meaningful attrition signal. For mid-cap firms, lift the threshold to 50% because base rates are lower. Single-month spikes without sustained follow-through are typically media-coverage artifacts rather than real attrition.

How does AmbitionBox compare to LinkedIn for attrition tracking?

AmbitionBox captures unfiltered employee sentiment in structured form — seven category ratings plus review counts. LinkedIn shows public employment changes but employees often delay updating their profile by months. AmbitionBox leads LinkedIn by a quarter or two for IT services attrition signals; LinkedIn is the confirmation lag indicator.

Which category ratings drop first when attrition is rising?

salary_benefits and career_growth are the leading indicators — they drop 0.2-0.4 points before overall company_rating moves. work_life_balance often drops in lock-step but lags slightly. job_security tends to be the last category to move because IT services firms don't lay off in lock-step. Track all seven and weight salary_benefits and career_growth higher in any composite score.

Can I attribute attrition signals to specific roles or experience bands?

Partially. AmbitionBox publishes role-level salary data via the actor's role and experience_range fields. Attrition specifically among 2-5 year experience bands (the highest-poached cohort in Indian IT) shows up first in the role-level review velocity for that band. The actor returns reports_count per role, so you can track role-level momentum separately from company-level.

How fresh does the data need to be?

Weekly snapshots are sufficient. AmbitionBox refreshes review counts as new reviews come in, with most lag inside 24-48 hours. Daily snapshots are wasted effort because the underlying source updates more slowly than that. For a quarterly-reporting attrition dashboard, weekly is the right cadence; the analysis lives in the time series not the latest single point.

Run the AmbitionBox Salaries & Ratings Scraper on Apify Store — pay-per-record, free to try, no credit card to test.