Methodology

How these numbers are made

Every figure on this site traces back to a posting collected by an automated pipeline. This page states, plainly, where that data comes from, how it is cleaned, and where it still falls short.

Sources

Mustakbil.com is collected daily, unattended, via a scheduled GitHub Actions workflow. It has proven tolerant of plain HTTP requests, so collection runs without a headless browser.

Rozee.pk sits behind bot detection that plain requests cannot pass, so it is collected through a browser-automation session rather than on a fixed daily schedule. Coverage is periodic and session-based, not continuous — Rozee figures should be read as a sample of the market, not an exhaustive count.

Indeedis collected daily via JobSpy, the same automated cadence as Mustakbil. It surfaces zero salary data for this market — every Indeed-sourced posting has a null salary, not a missing one, so Indeed rows are excluded from salary aggregates entirely rather than silently counted as “no data disclosed.”

LinkedInis collected daily via JobSpy, the same automated cadence as Mustakbil and Indeed. Its guest search endpoints have been observed to return listings outside Pakistan despite a Pakistan-scoped location filter, so every LinkedIn row is checked against a known-city/country match before being stored — anything that doesn’t resolve to Pakistan is dropped and logged, not kept. LinkedIn also resurfaces postings that are genuinely weeks old; those are still stored with their real posting date preserved, but LinkedIn is excluded from the forecasting engine’s targets entirely, since a first-seen-today timestamp on a month-old listing would corrupt a weekly-actuals model that assumes recent collection means recent posting — that exclusion holds regardless of collection method.

Corpus break, July 2026.Indeed and LinkedIn were added this month. A direct check against the existing corpus at the time showed near-zero overlap in employer names with Mustakbil and Rozee — these sources are broadening market coverage into employers the prior two weren’t reaching, not simply adding volume to employers already tracked. Trend lines that span this addition should be read with that in mind: some of the jump is coverage, not organic market growth.

Deduplication

A posting’s identity is derived from a stable combination of its source, source-native ID or URL, and core fields (title, company). Where a source exposes a canonical ID, that ID is the key; where it does not, a fingerprint of the listing content stands in for one. Re-collecting the same listing on a later run updates it in place rather than creating a duplicate row.

Distinct-posting counting

Employers frequently repost near-identical listings — same title, same company, same requirements, refreshed dates — to stay near the top of search results. Counting every such repost as a new signal would inflate demand for whatever skills happen to appear in template job ads. Where this pattern is detectable, repeated postings from the same employer with near-identical content are treated as one distinct posting rather than many, so skill and demand counts reflect hiring activity rather than reposting behavior.

Distinct-company counting

Posting counts alone can be dominated by a single high-volume employer reposting variations of the same roles — one recruiter with 300 open requisitions looks, in raw counts, like ten independent signals of market demand for whatever skills happen to appear in their listings. Company count exists to correct for this: it measures how many distinct employers demand a skill, not how many postings mention it. A skill demanded by 20 different companies is a broader signal than one demanded 300 times by a single company, even if the raw posting count says otherwise. Both numbers are shown side by side rather than collapsed into one, because they answer different questions — posting count is about volume, company count is about breadth.

Bulk-poster exclusion

Any single company holding more than 25% of all tracked postings is flagged as a bulk poster. The market page surfaces this as a concentration disclosure whenever it applies, with a toggle to recompute skill rankings, pairings, and companion lists with that company’s postings excluded entirely. Nothing is deleted or hidden by default — exclusion is opt-in, because a bulk poster is real market activity, not noise to be silently discarded. The toggle exists so the underlying, less-concentrated signal is one click away whenever it’s useful to see it.

Strong-match definition

The skill gap analyzer answers a job seeker’s question, not an economist’s: not “what share of the market matches your skills” but “how many jobs could you credibly apply to right now.” A posting is a strong matchwhen the skills entered cover 70% or more of that posting’s recognized technical demands — enough to be a credible candidate without requiring perfection. A full matchrequires covering every technical skill the posting mentions, no exceptions; every full match is also a strong match. Postings with no recognized technical skill mentions at all are excluded from both counts — there is no match-strength question to answer about a listing the taxonomy cannot read. The “learn this next” ranking simulates learning exactly one additional skill at a time and counts how many currently-short-of-70%-postings would cross that line as a result, so it points at the single highest-leverage skill to learn next, not just the most commonly requested one.

Currency

Currency is captured per posting at collection time rather than assumed. Mustakbil listings, where available, are read directly from posting detail pages. Rozee does not expose distinguishing currency information, so its salary figures are recorded as PKR by default, matching the overwhelming majority of the market it serves. A small number of postings that name a foreign currency outright (USD, AED, and similar) are recorded as such and excluded from PKR salary aggregates rather than silently converted or merged in — see the footnote on the salary figures for the current count.

Soft-skill flagging

The skill taxonomy tags each entry as technical or soft. Soft skills — communication, teamwork, leadership, and the like — are matched the same way technical skills are, but are hidden from the default skill ranking. They appear in a large share of postings regardless of role or seniority, which makes them true but not informative as a ranking signal. They remain available behind an explicit toggle for anyone who wants them.

Known limitations

  • Pharma / APIs collision.The taxonomy’s skill matcher works on substrings and short tokens. The abbreviation “API” and the pharmaceutical-industry sense of “APIs” (active pharmaceutical ingredients) can collide in postings from that sector, which inflates the apparent count of a technical skill in listings that have nothing to do with software.
  • Rozee salary figures.Where Rozee discloses a salary at all, it is typically a single figure rather than a range, unlike Mustakbil’s more frequent min–max bands. Rozee-sourced salary points are folded into the same distribution regardless, which can understate the true spread within a band.
  • Sample recency. This pipeline has been running for a limited window. Trend lines and forecasts are only as reliable as the history behind them, and early readings should be treated as provisional until more collection cycles accumulate.
  • Taxonomy coverage by domain. A taxonomy expansion pass in July 2026 added categories for domains the matcher substantively missed — health and clinical work, lab science, safety and compliance, supply chain, electrical/mechanical trades, teaching, and customer service — built from real posting language, not assumption. Measured before and after: the share of postings with one or zero substantive skill matches fell from 75% to 19% in healthcare, 36% to 9% in logistics and supply chain, and 84% to 52% in trades. Admin/clerical work improved too (71% to 63%) but remains the highest of any domain measured — not because the taxonomy is blind to it, but because administrative and customer-support postings in this market overwhelmingly describe workplace qualities (attention to detail, multitasking, empathy) rather than named competencies. That is how those roles are actually advertised here, and their coverage figures are expected to stay comparatively low permanently as a result — a correct measurement, not a gap still waiting to be closed.
RukhWise

A daily measurement of Pakistan’s job market — postings, skills, and salaries, collected and graded in the open.