{"id":102,"date":"2026-09-16T19:57:25","date_gmt":"2026-09-16T19:57:25","guid":{"rendered":"http:\/\/localhost:8080\/smallhrtools\/blog\/?p=69"},"modified":"2026-09-16T19:57:25","modified_gmt":"2026-09-16T19:57:25","slug":"skill-gap-analysis-one-hour-method","status":"publish","type":"post","link":"https:\/\/smallhrtools.com\/blog\/skill-gap-analysis-one-hour-method\/","title":{"rendered":"Skill Gap Analysis for Small Teams: A One-Hour Method (No Consultants)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Short answer:<\/strong> a skill gap analysis is three columns &#8211; the skills the work demands, the level the team has, the level the role requires &#8211; plus one multiplication: <strong>gap \u00d7 importance<\/strong>. That last step is what most DIY attempts skip, and it&#8217;s the difference between a wall of red cells and a ranked list you can budget against. The full method below takes about an hour for a team of 5-15 and needs nothing more than a spreadsheet &#8211; or the free <a href=\"https:\/\/smallhrtools.com\/tools\/skill-gap-estimator\/\">Skill Gap Estimator<\/a>, which runs the same math with the weighting built in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 &#8211; List the skills the <em>work<\/em> demands (15 min)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not the skills the team has &#8211; the skills the next 12 months of work requires. Pull from three sources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The team&#8217;s actual deliverables (&#8220;ship the mobile app&#8221; \u2192 React Native, app-store ops, mobile QA)<\/li>\n\n\n\n<li>Recurring failure points (where do delays, rework, and escalations cluster?)<\/li>\n\n\n\n<li>The strategy doc (whatever leadership committed to that the team hasn&#8217;t done before)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Keep it to <strong>6-10 skills<\/strong>. Twenty-line skill matrices die of their own weight; if everything is listed, nothing is prioritised. Mix hard and soft skills &#8211; &#8220;runs client meetings without a senior present&#8221; is as assessable as &#8220;SQL.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 &#8211; Rate current vs required on a 0-5 scale (20 min)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The scale (define it in writing, or every rating means something different per rater):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Level<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>No ability<\/td><\/tr><tr><td>1<\/td><td>Beginner &#8211; needs supervision on everything<\/td><\/tr><tr><td>2<\/td><td>Basic &#8211; routine tasks with support<\/td><\/tr><tr><td>3<\/td><td>Intermediate &#8211; works independently on standard work<\/td><\/tr><tr><td>4<\/td><td>Advanced &#8211; handles complex\/novel cases, coaches others<\/td><\/tr><tr><td>5<\/td><td>Expert &#8211; the person others across the company come to<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Two rules that keep the ratings honest. <strong>Rate the team&#8217;s working level, not its best member<\/strong> &#8211; one expert plus four beginners is not a level-3 team; it&#8217;s a bus-factor problem wearing an average. And <strong>required means &#8220;for effective performance,&#8221;<\/strong> not &#8220;ideal&#8221; &#8211; if you set required = 5 everywhere, you&#8217;ve written a wish list, and the analysis will tell you to train everyone on everything, which is the same as no answer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3 &#8211; Weight each skill by importance (5 min)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rate business importance 1-5: how much does this skill block revenue, delivery, or compliance <em>this year<\/em>? This is the step that turns ratings into decisions, because a 2-point gap on a weight-5 skill matters more than a 3-point gap on a weight-2 skill &#8211; and without weights you&#8217;ll train the biggest gap instead of the most expensive one.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4 &#8211; Compute the weighted gap (worked example)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A 6-person support-engineering team, eight skills scored, showing four here:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Skill<\/th><th>Current<\/th><th>Required<\/th><th>Gap<\/th><th>Weight<\/th><th>Weighted gap (gap \u00d7 weight)<\/th><th>Max weighted (required \u00d7 weight)<\/th><\/tr><\/thead><tbody><tr><td>Core product debugging<\/td><td>4<\/td><td>4<\/td><td>0<\/td><td>5<\/td><td>0<\/td><td>20<\/td><\/tr><tr><td>SQL \/ data analysis<\/td><td>2<\/td><td>4<\/td><td>2<\/td><td>4<\/td><td>8<\/td><td>16<\/td><\/tr><tr><td>Customer communication<\/td><td>3<\/td><td>4<\/td><td>1<\/td><td>5<\/td><td>5<\/td><td>20<\/td><\/tr><tr><td>Scripting\/automation<\/td><td>1<\/td><td>3<\/td><td>2<\/td><td>3<\/td><td>6<\/td><td>9<\/td><\/tr><tr><td><em>(4 more skills, no gap)<\/em><\/td><td>&#8211;<\/td><td>&#8211;<\/td><td>0<\/td><td>12<\/td><td>0<\/td><td>37<\/td><\/tr><tr><td><strong>Totals<\/strong><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><strong>19<\/strong><\/td><td><strong>102<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Weighted gap % = 19 \u00f7 102 \u2248 18.6%. Readiness score = 100 &#8211; 18.6 \u2248 81.4.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Read it against the bands the <a href=\"https:\/\/smallhrtools.com\/tools\/skill-gap-estimator\/\">Skill Gap Estimator<\/a> uses: <strong>85+ Ready \u00b7 65-84 Nearly Ready \u00b7 40-64 Needs Development \u00b7 below 40 Significant Gap<\/strong>. This team is Nearly Ready &#8211; functional today, but the ranked list says exactly where it&#8217;s thin: SQL (weighted gap 8) first, automation (6) second, communication (5) third. Note that automation outranks nothing here despite having the <em>equal-largest raw gap<\/em> &#8211; its weight of 3 pulls it below SQL. That reordering is the whole point of step 3.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5 &#8211; Cost the fix (15 min)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For the priority gaps only (top 2-3, not all eight), estimate:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Training cost = team training hours \u00d7 (average loaded hourly wage + direct training cost per hour)<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The first term is the one budgets forget: employee time <em>is<\/em> the dominant cost of training. For the SQL gap above &#8211; say 6 people \u00d7 20 hours, at a \u20b9600\/hr loaded wage plus \u20b9200\/hr of course cost &#8211; that&#8217;s 120 hours \u00d7 \u20b9800 = <strong>\u20b996,000<\/strong>. Now the gap has a price, and the decision becomes comparable to its alternatives: hire a data analyst, buy a BI tool that removes the need, or accept the gap. Run the numbers in the <a href=\"https:\/\/smallhrtools.com\/tools\/training-budget-calculator\/\">Training Budget Calculator<\/a> and sanity-check total hours against team capacity with the <a href=\"https:\/\/smallhrtools.com\/tools\/learning-hours-calculator\/\">Learning Hours Calculator<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then close the loop: for a gap you chose to train, define <em>before starting<\/em> what &#8220;closed&#8221; looks like (re-rate in 90 days; SQL moves 2\u21923.5+) &#8211; that re-rating is also the input your <a href=\"https:\/\/smallhrtools.com\/tools\/training-roi-calculator\/\">Training ROI<\/a> case needs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Train, hire, or restructure?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The weighted list also tells you <em>which<\/em> fix fits which gap:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Train<\/strong> when the gap is 1-2 levels and the base exists (SQL 2\u21924: trainable in a quarter).<\/li>\n\n\n\n<li><strong>Hire or contract<\/strong> when the gap is 3+ levels on a high-weight skill &#8211; training someone 0\u21924 takes longer than your roadmap has (that&#8217;s a requisition, and the <a href=\"https:\/\/smallhrtools.com\/tools\/cost-per-hire-calculator\/\">Cost Per Hire<\/a> math applies).<\/li>\n\n\n\n<li><strong>Restructure the work<\/strong> when the gap exists only because the work is misassigned &#8211; sometimes the &#8220;skill gap&#8221; is one expert hoarding a task that a level-3 process could distribute.<\/li>\n\n\n\n<li><strong>Watch the bus factor<\/strong> separately: a skill where the <em>team<\/em> scores 4 because <em>one person<\/em> is a 5 is a risk the averages hide. Flag any skill held by a single person regardless of its gap score.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Self-rating or manager rating?<\/strong> Both, then discuss the deltas &#8211; the conversation where an employee self-rates 4 and the manager says 2 is the most valuable output of the whole exercise. For teams that trust each other, calibration in a group session is faster and fairer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How often should we redo it?<\/strong> Twice a year, or after any strategy change that alters the skill list. The re-rating is also your training-effectiveness measurement &#8211; free ROI data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does this work for a 3-person company?<\/strong> Yes &#8211; smaller teams need it <em>more<\/em>, because every gap is uncovered by definition. The bus-factor column is the one to watch at that size.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Is this connected to performance reviews?<\/strong> Keep them separate. Skill gap analysis rates the <em>team against the work<\/em>; reviews rate <em>individuals against expectations<\/em>. Mixing them makes people defend their ratings instead of reporting them honestly &#8211; the same trust rule as <a href=\"https:\/\/smallhrtools.com\/blog\/stay-interview-questions-script\/\">stay interviews<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Calculators referenced: <a href=\"https:\/\/smallhrtools.com\/tools\/skill-gap-estimator\/\">Skill Gap Estimator<\/a> \u00b7 <a href=\"https:\/\/smallhrtools.com\/tools\/training-budget-calculator\/\">Training Budget<\/a> \u00b7 <a href=\"https:\/\/smallhrtools.com\/tools\/learning-hours-calculator\/\">Learning Hours<\/a> \u00b7 <a href=\"https:\/\/smallhrtools.com\/tools\/training-roi-calculator\/\">Training ROI<\/a> \u00b7 <a href=\"https:\/\/smallhrtools.com\/tools\/cost-per-hire-calculator\/\">Cost Per Hire<\/a>. The 0-5 scale and weighted-gap method match the estimator, so you can move between the article and the tool without translation.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Run a defensible skill gap analysis in one hour: the 0-5 rating scale, a weighted-gap worked example, and how to turn the gaps into a training budget.<\/p>\n","protected":false},"author":1,"featured_media":133,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-102","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides"],"_links":{"self":[{"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":2,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":150,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/posts\/102\/revisions\/150"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/media\/133"}],"wp:attachment":[{"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smallhrtools.com\/blog\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}