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
- Benchmark India tech salaries with AmbitionBox
- Research company culture in India with AmbitionBox reviews
- Scrape AmbitionBox for recruitment intelligence
- The complete guide to scraping job boards
- All Thirdwatch use-case guides
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.