<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: MERCY MUMBI WAHOME</title>
    <description>The latest articles on DEV Community by MERCY MUMBI WAHOME (@mercie_wahome_819901ac530).</description>
    <link>https://dev.to/mercie_wahome_819901ac530</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4071766%2Fc1da3ee7-15bb-438d-ba82-9b1b7956506a.png</url>
      <title>DEV Community: MERCY MUMBI WAHOME</title>
      <link>https://dev.to/mercie_wahome_819901ac530</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mercie_wahome_819901ac530"/>
    <language>en</language>
    <item>
      <title>Building an Interactive Excel Dashboard for E-commerce Product Analysis: A Case Study of Jumia Products</title>
      <dc:creator>MERCY MUMBI WAHOME</dc:creator>
      <pubDate>Mon, 07 Sep 2026 15:38:33 +0000</pubDate>
      <link>https://dev.to/mercie_wahome_819901ac530/building-an-interactive-excel-dashboard-for-e-commerce-product-analysis-a-case-study-of-jumia-53gi</link>
      <guid>https://dev.to/mercie_wahome_819901ac530/building-an-interactive-excel-dashboard-for-e-commerce-product-analysis-a-case-study-of-jumia-53gi</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction: Turning Jumia Product Data into Business Insights&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;E-commerce platforms generate a lot of product data, but raw numbers become useful only when they can support better decisions. For Jumia sellers, prices, discounts, ratings and customer reviews can provide clues about product performance, customer engagement and possible pricing strategies.&lt;br&gt;
For this project, I worked with a dataset of 112 Jumia products to explore these relationships using Microsoft Excel. I wanted to find out whether higher discounts are associated with more customer reviews, whether highly rated products receive stronger engagement, and whether product price is related to rating. I also wanted to identify the products performing best and those that may require a different pricing or marketing approach. I followed a complete data-analysis workflow:&lt;/p&gt;

&lt;p&gt;Raw Data → Cleaning → Transformation → Analysis → Visualization → Insights → Recommendations&lt;/p&gt;

&lt;p&gt;The project uses Excel Tables, Power Query, formulas and functions, PivotTables, PivotCharts, slicers and dashboard techniques. This article documents that process and shows how the raw Jumia data was transformed into an interactive dashboard and, ultimately, evidence-based business recommendations.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Understanding the Dataset and Its Initial Problems&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before cleaning the data, I first needed to understand what I was working with. The dataset contains 112 Jumia products and six main fields: Product, Current Price, Old Price, Discount, Review and Rating. Current Price and Old Price represent product pricing, Discount captures the promotional percentage, Review represents the number of customer reviews, while Rating records the average customer rating out of 5. I treated this stage as a data-quality audit rather than immediately changing anything. The purpose was to identify issues that could affect calculations and visualizations later.&lt;br&gt;
The raw dataset contained formatting and consistency issues that needed attention, particularly around numerical fields. Prices could contain currency symbols or unnecessary characters, while ratings and review counts needed to be standardized into usable numerical values. I also needed to check systematically for missing values, duplicates and other inconsistencies before beginning the analysis.&lt;br&gt;
This preliminary inspection was important because reliable analysis depends on reliable input data. Instead of correcting problems as I encountered them later, I first established what needed to be fixed and why.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fykagwza2yl3znod7b5o8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fykagwza2yl3znod7b5o8.png" alt=" " width="687" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Data Cleaning and Preparation&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The initial dataset contained 115 products, but some records were duplicates. The Balloon Insert product appeared three times, while the 6 Layers Steel Pipe Shoe Cabinet appeared twice. I removed the duplicate records so that each product was represented only once, leaving the required 112 products for analysis.&lt;br&gt;
The Review column also contained negative values such as -2, -14 and -55. Since review counts cannot be negative, I removed the minus signs and converted the values into positive numbers. At the same time, 58 products had missing review counts and ratings, so I kept these as missing rather than incorrectly treating them as zero.&lt;br&gt;
The rating field was stored as text, for example 4.5 out of 5, and the column itself was labelled Ratingd. I renamed the column to Ratings and extracted the numerical rating. Price values also contained KSh and commas, so I removed these characters and converted the prices into numerical values. One product used a price range rather than a single price, which required special handling before numerical analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvub5hs3cc6eft8pnomq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvub5hs3cc6eft8pnomq4.png" alt=" " width="587" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Data Enrichment&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I added calculated columns to support deeper analysis. These additional fields transformed the original variables into useful measures and categories that could later be used in PivotTables, charts, slicers and the dashboard. I created a &lt;strong&gt;Discount Amount&lt;/strong&gt; column to measure the absolute difference between the Old Price and Current Price. I used the Excel formula*&lt;em&gt;=C2-B2&lt;/em&gt;*&lt;br&gt;
I also created a &lt;strong&gt;Rating Category&lt;/strong&gt; column to classify products as Poor, Average or Excellent according to the project criteria. I used the logical IF and AND functions with the formula &lt;strong&gt;=IF(G2="","Not Rated",IF(G2&amp;lt;3,"Poor",IF(G2&amp;lt;=4,"Good","Excellent")))&lt;/strong&gt; .&lt;br&gt;
A &lt;strong&gt;Discount Category&lt;/strong&gt; column was added to group products into Low Discount, Medium Discount and High Discount based on the required percentage thresholds. The formula used was &lt;strong&gt;=IF(E2&amp;lt;20%,"Low Discount",IF(E2&amp;lt;=40%,"Medium Discount","High Discount"))&lt;/strong&gt;.&lt;br&gt;
Finally, I added a &lt;strong&gt;Price Category&lt;/strong&gt; column to segment products into Low, Medium and High price groups using the formula &lt;strong&gt;=IF(B2&amp;lt;=1275,"Low",IF(B2&amp;lt;=2512,"Medium","High"))&lt;/strong&gt; for the price thresholds established for the analysis. These enriched variables provided a stronger foundation for comparing product behaviour and developing the later seller-performance analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe81fl0x5vtj72hfkp6ro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe81fl0x5vtj72hfkp6ro.png" alt=" " width="800" height="518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Excel Techniques and Descriptive Analysis&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After completing the cleaning and enrichment stages, I created a separate Analysis sheet to calculate the key descriptive statistics for the cleaned dataset. I started by determining the &lt;strong&gt;total number of products&lt;/strong&gt; using the formula &lt;strong&gt;=COUNTA('Cleaned Data'!A2:A113)&lt;/strong&gt;, which confirmed that the cleaned dataset contained 112 products.&lt;br&gt;
I then calculated the &lt;strong&gt;total number of reviews&lt;/strong&gt; using the formula &lt;strong&gt;=SUM('Cleaned Data'!H2:H113)&lt;/strong&gt;, which added the available review counts while leaving missing values as blanks rather than treating them as zero. &lt;br&gt;
To understand the overall pricing level, I calculated the** average current price** using &lt;strong&gt;=AVERAGE('Cleaned Data'!B2:B113)&lt;/strong&gt; and the &lt;strong&gt;average old price&lt;/strong&gt; using &lt;strong&gt;=AVERAGE('Cleaned Data'!C2:C113)&lt;/strong&gt;. &lt;br&gt;
I also calculated the &lt;strong&gt;average discount&lt;/strong&gt; using &lt;strong&gt;=AVERAGE('Cleaned Data'!E2:E113)&lt;/strong&gt; and the &lt;strong&gt;average rating&lt;/strong&gt; using &lt;strong&gt;=AVERAGE('Cleaned Data'!G2:G113)&lt;/strong&gt;. &lt;br&gt;
To identify the &lt;strong&gt;most expensive product&lt;/strong&gt;, I first used &lt;strong&gt;=MAX('Cleaned Data'!B2:B113)&lt;/strong&gt; to find the highest Current Price, then used** =INDEX('Cleaned Data'!A2:A113,MATCH(MAX('Cleaned Data'!B2:B113),'Cleaned Data'!B2:B113,0))** to return the product associated with that price. &lt;br&gt;
I followed the same approach for the &lt;strong&gt;least expensive product&lt;/strong&gt;, using &lt;strong&gt;=MIN('Cleaned Data'!B2:B113)&lt;/strong&gt; to identify the lowest Current Price and &lt;strong&gt;=INDEX('Cleaned Data'!A2:A113,MATCH(MIN('Cleaned Data'!B2:B113),'Cleaned Data'!B2:B113,0))&lt;/strong&gt; to return the corresponding product name.&lt;br&gt;
These calculations gave me the initial numerical summary of the dataset and established a foundation for investigating relationships between pricing, discounts, customer reviews and ratings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcbcnwuf7rvbtdmta9rhh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcbcnwuf7rvbtdmta9rhh.png" alt=" " width="799" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Correlation Analysis&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To investigate whether pricing, discounts and customer engagement were related, I used correlation analysis. Correlation measures the direction and strength of a linear relationship between two variables, with values ranging from -1 to +1. A value close to +1 indicates a strong positive relationship, a value close to -1 indicates a strong negative relationship, while a value close to 0 indicates little or no linear relationship. I conducted three correlation tests using the Excel **CORREL **function.&lt;/p&gt;

&lt;p&gt;Discount vs. Reviews&lt;br&gt;
The first test examined whether products offering higher discounts received more customer reviews. I used the Excel formula &lt;strong&gt;=CORREL('Cleaned Data'!E2:E113,'Cleaned Data'!H2:H113)&lt;/strong&gt;. The resulting correlation coefficient was &lt;strong&gt;-0.14&lt;/strong&gt;, indicating a very weak negative relationship. In the Jumia dataset, this means that products with higher discounts tended to have slightly fewer reviews, but the relationship was too weak to indicate a meaningful pattern. Therefore, the data does not support the assumption that increasing a product's discount automatically leads to greater customer engagement through reviews.&lt;/p&gt;

&lt;p&gt;Rating vs. Reviews&lt;br&gt;
The second test investigated whether products with higher customer ratings also attracted more reviews. I used the formula &lt;strong&gt;=CORREL('Cleaned Data'!I2:I113,'Cleaned Data'!H2:H113)&lt;/strong&gt;. The result was &lt;strong&gt;0.06&lt;/strong&gt;, which is very close to zero and indicates an almost nonexistent linear relationship. Within this dataset, highly rated products were therefore not necessarily the products with the highest number of reviews. This suggests that customer satisfaction, represented by rating, and customer engagement, represented by review volume, were largely independent of each other among the products analysed.&lt;/p&gt;

&lt;p&gt;Current Price vs. Rating&lt;br&gt;
The final test examined whether the price of a product was associated with its customer rating. I used the formula &lt;strong&gt;=CORREL('Cleaned Data'!B2:B113,'Cleaned Data'!I2:I113)&lt;/strong&gt;. The resulting coefficient was &lt;strong&gt;0.11&lt;/strong&gt;, showing a very weak positive relationship. This indicates that more expensive products tended to have slightly higher ratings, but the relationship was not strong enough to suggest that price was an important predictor of customer satisfaction. In this dataset, a higher-priced product was therefore not necessarily better rated than a lower-priced product.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1lqsavsb4qho5371dhk1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1lqsavsb4qho5371dhk1.png" alt=" " width="707" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Top 5 Highest and Lowest Rated Products&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To identify the products with the strongest and weakest customer ratings, I used Excel's &lt;strong&gt;LARGE&lt;/strong&gt; and &lt;strong&gt;SMALL&lt;/strong&gt; functions. These functions were appropriate because they allowed me to rank the numerical ratings and identify the highest and lowest values directly from the cleaned dataset.&lt;br&gt;
For the &lt;strong&gt;top 5 highest-rated products&lt;/strong&gt;, I first used &lt;strong&gt;=LARGE('Cleaned Data'!G2:G113,1)&lt;/strong&gt; to identify the highest rating, which was &lt;strong&gt;5&lt;/strong&gt;. I then used the &lt;strong&gt;FILTER&lt;/strong&gt; function to retrieve the products associated with this rating. Five products achieved the maximum rating of 5, making them the highest-rated products in the dataset and potential indicators of strong customer satisfaction.&lt;br&gt;
For the &lt;strong&gt;top 5 lowest-rated products&lt;/strong&gt;, I used the &lt;strong&gt;SMALL&lt;/strong&gt; function to rank the ratings from lowest upward. The five lowest ratings was &lt;strong&gt;2.0&lt;/strong&gt; . I then used &lt;strong&gt;FILTER&lt;/strong&gt; to identify the products corresponding to these ratings. These products represent the weakest-rated products in the dataset and may require further investigation into product quality, customer expectations or seller performance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frg762hg8ry24niz1rt6f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frg762hg8ry24niz1rt6f.png" alt=" " width="799" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Top 10 Products with the Highest Discounts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To identify the products receiving the highest discounts, I ranked the discount percentages from highest to lowest using Excel's &lt;strong&gt;LARGE&lt;/strong&gt; function. I used &lt;strong&gt;=LARGE('Cleaned Data'!D2:D113,1)&lt;/strong&gt; to identify the highest discount and adjusted the ranking number to retrieve the top 10 values. I then used &lt;strong&gt;FILTER&lt;/strong&gt; to identify the products corresponding to these discounts. This showed which products were being promoted most heavily and provided a basis for comparing high discounts with reviews and ratings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fldtekwv4snb1piikc8pi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fldtekwv4snb1piikc8pi.png" alt=" " width="784" height="599"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Top 10 Products by Customer Reviews&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To identify the products with the strongest customer engagement, I ranked the review counts from highest to lowest using Excel's &lt;strong&gt;LARGE&lt;/strong&gt; function. I used &lt;strong&gt;=LARGE('Cleaned Data'!H2:H113,1)&lt;/strong&gt; to find the highest review count and then ranked the remaining values from 2 to 10. I used XLOOKUP to match each review count to its corresponding product with &lt;strong&gt;=XLOOKUP(F61,'Cleaned Data'!H2:H113,'Cleaned Data'!A2:A113)&lt;/strong&gt;.&lt;br&gt;
The highest review count was 69, and the Top 10 results identified the products receiving the most customer reviews. These products represent the strongest customer engagement in the dataset and can later be compared with their ratings, prices and discount levels to understand what may be associated with stronger customer interaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1qim4xm1jxybal4ldenw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1qim4xm1jxybal4ldenw.png" alt=" " width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;High Discounts with Low Ratings&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I also investigated products that were receiving high discounts but poor customer ratings. I used the &lt;strong&gt;FILTER&lt;/strong&gt; function with two conditions: &lt;strong&gt;a discount above 40%&lt;/strong&gt; and &lt;strong&gt;a rating below 3&lt;/strong&gt;. The formula was** =FILTER('Cleaned Data'!A2:A113,('Cleaned Data'!F2:F113&amp;gt;40%)&lt;em&gt;('Cleaned Data'!I2:I113&amp;lt;3),"No matching products")&lt;/em&gt;*. This was useful because it highlighted products where heavy price reductions were not translating into strong customer satisfaction, providing potential areas for sellers to review product quality, pricing or marketing strategies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1rn6ei0znhollq4dkco2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1rn6ei0znhollq4dkco2.png" alt=" " width="799" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Products Requiring Better Pricing or Marketing Strategies&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I then identified products that may require a different pricing or marketing strategy by combining three indicators: poor ratings, low review activity and discounts above 20%. I used the FILTER function with the formula &lt;strong&gt;=FILTER('Cleaned Data'!A2:A113,('Cleaned Data'!I2:I113&amp;lt;3)*('Cleaned Data'!H2:H113&amp;lt;5)*('Cleaned Data'!F2:F113&amp;gt;20%),"No matching products")&lt;/strong&gt;. I chose these conditions because they highlight products that have low customer satisfaction, limited engagement and are already being discounted. The analysis returned several products, suggesting that discounting alone may not be sufficient for this group and that sellers may need to review their pricing, product quality, positioning or marketing approach.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa1kwgydhte9uviffl8iz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa1kwgydhte9uviffl8iz.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Key Insights&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The Jumia dataset reveals that customer response is more complicated than simply offering a cheaper price. Despite discounts reaching as high as 64%, the relationship between discounts and reviews was almost nonexistent (-0.14). This suggests that aggressive promotions may attract attention, but they do not automatically create lasting customer engagement.&lt;br&gt;
A particularly interesting pattern is the separation between popularity and satisfaction. With a rating-review correlation of only 0.06, products generating reviews are not necessarily the products customers rate highly. This means a seller could have a product that attracts considerable attention while still failing to deliver a satisfying experience.&lt;br&gt;
The data also shows that price is a poor substitute for perceived value. The price-rating correlation of 0.11 indicates that paying more does not guarantee a better customer experience. At the same time, the presence of products rated 5.0 alongside products rated as low as 2.0 suggests that product-level factors can create much larger differences in customer satisfaction than price alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Business Recommendations&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Turn discounts into a targeted tool, not a rescue strategy. Sellers should use large discounts strategically on products that already demonstrate good customer response, rather than repeatedly discounting poorly rated products. A product with a 64% discount and weak customer feedback should trigger investigation before another promotion.&lt;br&gt;
Build around the products customers already love. The five products achieving 5.0 ratings provide potential benchmarks. Sellers should examine what makes these products successful such as product quality, presentation, value or reliability and replicate those strengths across weaker products.&lt;br&gt;
Treat poor ratings as a product problem first. Products falling around 2.0–2.2 should be reviewed for quality issues, misleading descriptions, poor fulfilment or unmet customer expectations. Reducing their price further may increase sales temporarily but could worsen customer dissatisfaction if the underlying problem remains.&lt;br&gt;
Use different strategies for different products. The absence of products with more than 40 reviews and average ratings of 3–4 shows that highly engaged products in this dataset tend to fall outside that specific middle-rating segment. Sellers should therefore segment products by both engagement and satisfaction instead of applying one marketing strategy to the entire catalogue.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Working on the Jumia dataset was more interesting than I expected. At the beginning, I thought I would simply clean the data, apply a few Excel formulas, create some charts and be done. But as I worked through the dataset, I started noticing things that made me question my own assumptions. I expected bigger discounts to attract more customers and expensive products to have better ratings, but the data did not always support that. That was probably the biggest surprise for me.&lt;br&gt;
I also realised how much the quality of the data matters. Removing duplicates, organising the information and creating useful categories may seem like small steps, but they made a big difference in how confidently I could interpret the results. I started seeing Excel differently too. It was no longer just about knowing which formula to use; it was about knowing what question I was trying to answer and what the result was actually telling me.&lt;br&gt;
The part I found most interesting was watching ordinary rows of data turn into something that could tell a business story. A rating represents a customer's experience, a review shows engagement, a discount reflects a seller's strategy, and the price gives another piece of the picture. Putting all these pieces together made the dataset feel much more real.&lt;/p&gt;

</description>
      <category>analysis</category>
      <category>data</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Getting Started with Excel for Data Analytics: From Basics to Data Cleaning.</title>
      <dc:creator>MERCY MUMBI WAHOME</dc:creator>
      <pubDate>Mon, 31 Aug 2026 08:57:23 +0000</pubDate>
      <link>https://dev.to/mercie_wahome_819901ac530/getting-started-with-excel-for-data-analytics-from-basics-to-data-cleaning-2pkm</link>
      <guid>https://dev.to/mercie_wahome_819901ac530/getting-started-with-excel-for-data-analytics-from-basics-to-data-cleaning-2pkm</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When I began my journey into data science and analytics, Excel was one of the first tools I encountered. Week 1 changed my perspective by showing me that Excel is much more than a platform for entering and storing information. It can be used to organize, validate, transform, and prepare data for meaningful analysis. In this article, I explore the fundamental Excel concepts I learned and apply them to an HR dataset containing employee information. I demonstrate how to work with an Excel workbook, understand cells and data types, navigate the Ribbon and Home tab, use functions and operators, and identify common data-quality problems. &lt;br&gt;
The main focus is data cleaning, since reliable analysis begins with reliable data. Using the HR dataset, I demonstrate how seemingly small inconsistencies—such as incorrect formatting, duplicate records, missing values, inconsistent text, and invalid dates; can affect the quality of information produced from a dataset. The process therefore moves from understanding Excel → entering and examining data → identifying problems → cleaning the data → preparing it for analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is Excel&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Microsoft Excel is a spreadsheet application used to organize, calculate, analyze, and present data. It provides a structured environment in which information can be stored in rows and columns, with each intersection forming a cell. For data analytics, Excel is particularly useful because it combines data storage with tools for calculations, filtering, sorting, visualization, and data cleaning. It also provides functions that can transform raw information into useful insights. My first important realization was that good analysis does not begin with immediately calculating results. It begins with understanding the data and ensuring that the data is accurate, consistent, and suitable for analysis.&lt;br&gt;
To begin working with Excel, I installed and opened Microsoft Excel on my computer. When Excel opens, it provides options for creating a new workbook or opening an existing one. An Excel workbook is the main file that contains one or more worksheets. A worksheet is the individual spreadsheet where data is entered and manipulated. Each worksheet consists of rows, columns, and cells. A cell can contain different types of information, including text, numbers, dates, percentages, and currency values. Recognizing these data types is important because Excel handles each type differently. For example, a date should be stored as a date rather than ordinary text if I want to sort dates chronologically or perform calculations involving time.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Exploring the Excel Interface&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Excel organizes its tools through the Ribbon, which appears at the top of the workbook. The Ribbon contains tabs such as Home, Insert, Page Layout, Formulas, Data, Review, and View, with each tab grouping related commands. The Home tab is especially useful when working with data. It contains options for formatting text and numbers, changing alignment, inserting or deleting cells, sorting and filtering data, and finding or replacing information. These features make it possible to improve both the appearance and quality of a dataset without leaving the worksheet. An Excel workbook also has several useful features, including multiple worksheets, formulas, functions, formatting tools, tables, sorting, filtering, and conditional formatting. Together, these features allow Excel to support the entire journey from raw data to analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4j870gndmgwchuwlni16.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4j870gndmgwchuwlni16.png" alt=" " width="800" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Data Entry and Understanding the Dataset&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Data entry involves recording information into the appropriate cells while maintaining consistency in how the information is represented. For example, numbers should remain numerical, dates should use a consistent date format, and text should be entered consistently. For my practical exercise, I used the HR_Dataset_Dirty.xlsx dataset. It contains employee information such as Employee ID, names, department, salary, hire date, age, gender, performance score, work experience, employee type, location, and training hours. Before making any changes, I examined the dataset to understand its structure and identify possible data-quality issues.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3muss4ypqxee0dhz2z1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3muss4ypqxee0dhz2z1n.png" alt=" " width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Data Cleaning&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before cleaning the data, I made a copy of the original dataset. This is an important data-management practice because the original data should always be preserved in case I need to compare changes or recover information. I created a separate worksheet for the cleaned data and worked on the copy rather than altering the original dataset. This allowed me to distinguish between the raw data and the cleaned data.&lt;br&gt;
Data cleaning is the process of identifying and correcting inaccurate, incomplete, inconsistent, or incorrectly formatted data. It is an essential stage of data analytics because poor-quality data can produce misleading results. While examining my dataset, I found several examples of these problems. For instance, employee names appeared with inconsistent capitalization, departments were represented in different ways, and some dates were invalid or inconsistently formatted.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Text Cleaning and Standardization&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Text cleaning involves correcting inconsistencies in text so that similar information is represented in a uniform way. Common examples include inconsistent capitalization, extra spaces, spelling variations, and different labels referring to the same category. Excel provides several useful text functions for this. &lt;strong&gt;PROPER&lt;/strong&gt; capitalizes the first letter of each word, &lt;strong&gt;UPPER&lt;/strong&gt; converts text to uppercase, and &lt;strong&gt;LOWER&lt;/strong&gt; converts text to lowercase. &lt;strong&gt;TRIM&lt;/strong&gt; removes unnecessary spaces, while &lt;strong&gt;Find and Replace&lt;/strong&gt; can be used to replace inconsistent words or labels throughout a dataset.&lt;br&gt;
For example, the names JOHN, john, and JoHn represent the same person but have different formatting. Using PROPER standardizes them to John. Similarly, department labels such as HR, H.R, and Hr may need to be standardized to one consistent value. In my HR dataset, I identified inconsistent capitalization in the First Name column. Some names appeared entirely in uppercase while others were lowercase or mixed. I therefore applied the PROPER function to standardize the names.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F17bdy9utenj0dz8p2c82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F17bdy9utenj0dz8p2c82.png" alt=" " width="739" height="282"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Removing Duplicates&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Duplicate data occurs when the same record, or an identifier that should be unique, appears more than once. Duplicates can distort analysis by causing certain employees or observations to be counted multiple times. Excel provides &lt;strong&gt;Remove Duplicates **under the **Data&lt;/strong&gt; tab. Duplicates should be reviewed before deletion because two records may share one value while still representing different records. For my HR dataset, Employee ID is particularly useful for checking duplicates because it should uniquely identify an employee. We found repeated Employee IDs, so this gives us a real example of why duplicate checking is necessary. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh6znzgewsksnwpf16em9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh6znzgewsksnwpf16em9.png" alt=" " width="799" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Formatting and Data Types&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Data formatting ensures that information is displayed consistently and that Excel recognizes each value according to its correct data type. Common types include &lt;strong&gt;text&lt;/strong&gt;, &lt;strong&gt;numbers&lt;/strong&gt;, &lt;strong&gt;dates&lt;/strong&gt;, &lt;strong&gt;percentages&lt;/strong&gt;, and &lt;strong&gt;currency&lt;/strong&gt;. Correct data types are important because Excel performs calculations and sorting differently depending on how a value is stored. For example, a salary should be &lt;strong&gt;numerical&lt;/strong&gt; so that it can be calculated, while a hire date should be recognized as a date so that employees can be sorted &lt;strong&gt;chronologically&lt;/strong&gt;. &lt;br&gt;
Common Excel tools for this include Number Format, Currency, Date, and Format Cells. In my HR dataset, I found inconsistencies in the Salary and Hire Date columns. Some salary values used different currency representations, while some dates were entered in different formats. I standardized these values so that the dataset would use consistent formats.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F67ayce8fw2y9cccrqema.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F67ayce8fw2y9cccrqema.png" alt=" " width="800" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For valid dates, I standardized the display format so that all dates follow the same pattern.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy7ou0gcfpoqagqobe4he.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy7ou0gcfpoqagqobe4he.png" alt=" " width="799" height="247"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Missing Values and Blank Cells&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Missing data occurs when information expected in a dataset has not been provided. A blank cell and a zero should not automatically be treated as the same because a blank may indicate unavailable information, while zero can be a valid value depending on the field. Excel tools such as &lt;strong&gt;Filter&lt;/strong&gt;, &lt;strong&gt;Find&lt;/strong&gt; &amp;amp; &lt;strong&gt;Select&lt;/strong&gt;, and functions such as &lt;strong&gt;COUNTBLANK&lt;/strong&gt; can help identify missing values. For example, a missing salary or department requires investigation, while a project count of zero may be a legitimate record. In my HR dataset, I checked for blank values and considered the meaning of each field before deciding how the missing information should be handled. This approach helped ensure that cleaning my data did not introduce new errors by replacing meaningful values unnecessarily.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F62glivwz66us9zqkjcg9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F62glivwz66us9zqkjcg9.png" alt=" " width="799" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Find and Replace&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is used to locate a particular value or text and replace it with a consistent or corrected value. It is especially useful when the same inconsistency appears many times in a dataset. For example, HR, Hr, and H.R may all refer to the same department, but Excel treats them as different text values. In our HR dataset, we can standardize such department names using Find and Replace so that the same department has one consistent label. This improves filtering, grouping, counting, and later analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu9bkreaxeugh53pvf34h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu9bkreaxeugh53pvf34h.png" alt=" " width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Data Validity and Logical Checking&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Data validity means checking whether values are reasonable and make sense within the context of the dataset. It involves checking whether values fall within an expected and reasonable range. In an HR dataset, age is a good example because employees would generally be expected to fall within the defined working-age range. For this exercise, I used 19 to 65 years as the acceptable range. Excel's logical functions, particularly IF, together with comparison operators such as &amp;gt;= and &amp;lt;=, can be used to identify values outside this range. This allows unusual records to be flagged for investigation rather than automatically deleted. Applying this check helps improve the reliability of the dataset before analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcorg828svsl8xvf9ix2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcorg828svsl8xvf9ix2j.png" alt=" " width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conditional Formatting&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It is an Excel feature that automatically changes the appearance of cells when they meet a specified condition. It helps identify unusual values quickly without manually checking every record. For example, it can highlight high salaries, low performance scores, missing values, or unusually long work experience. In our HR dataset, I used conditional formatting to highlight employees with more than 25 years of work experience. This makes potentially unusual records easier to identify and investigate before analysis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftb8fn2pa3yzenfhs0zio.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftb8fn2pa3yzenfhs0zio.png" alt=" " width="800" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Operators and Functions&lt;br&gt;
Excel uses operators and functions to transform and analyze data. Operators are symbols that tell Excel how to perform an operation or comparison. Arithmetic operators include addition, subtraction, multiplication, and division, while comparison operators include equal to, greater than, less than, greater than or equal to, less than or equal to, and not equal to. In my dataset, I applied PROPER for name standardization and used IF and AND to validate employee ages against the 19–65 range. I also used comparison operators to identify work experience exceeding 25 years. These examples demonstrated how functions and operators can turn simple spreadsheet values into useful data-quality checks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5mlaay4g2eniokbnok0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5mlaay4g2eniokbnok0l.png" alt=" " width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;My first week with Excel showed me that effective data analytics begins with clean, reliable data. By working with the HR dataset, I learned how to identify and correct inconsistencies, duplicates, missing values, formatting issues, and invalid information using Excel's tools and functions. Most importantly, I learned to look beyond the numbers and question the quality and meaning of the data before analysing it. This experience has given me a stronger foundation and greater confidence as I continue my journey in data science and analytics.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understanding the Git Workflow: Working Directory, Staging, Commit and Push</title>
      <dc:creator>MERCY MUMBI WAHOME</dc:creator>
      <pubDate>Mon, 24 Aug 2026 18:03:00 +0000</pubDate>
      <link>https://dev.to/mercie_wahome_819901ac530/understanding-the-git-workflow-working-directory-staging-commit-and-push-87d</link>
      <guid>https://dev.to/mercie_wahome_819901ac530/understanding-the-git-workflow-working-directory-staging-commit-and-push-87d</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Beginner friendly explanation of Git and GitHub: Kenya Hospital Health Records&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When I started learning Git and GitHub, I was completely new to them and the terms used like repository. I slowly began to understand how these tools work together. Git helps track and manage changes to a project while GitHub allows us to store the project online. &lt;br&gt;
In this project, I applied what I learned by creating &lt;strong&gt;Kenya Hospital Health Records&lt;/strong&gt; and moved it from my local computer to GitHub. So this article explains my journey from the start to successfully uploading my project to GitHub, explaining each step in a simple way.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1.Understanding the Git Workflow&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I learnt the basics of a G it workflow: working directory where I create and edit files, staging where I prepare selected changes, commit to save them as a checkpoint and pushing to send the work from my computer to GitHub.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2.Connecting Git to GitHub Using SSH&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I first confirmed that Git was installed on my computer, then checked for an existing SSH key and found mine &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3jpbl8aj19cr5wq5aqb1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3jpbl8aj19cr5wq5aqb1.png" alt=" " width="799" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3.Creating the project locally&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I created a folder named &lt;strong&gt;Kenya Hospital Health Records&lt;/strong&gt; and opened it in GitHub, then created the project files that would make my hospital records project. I then checked the folder to confirm the files have been created successfully. This gave me the basic project structure that I would later track using Git.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4.Initializing Git and Checking the Project&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now that my files were ready, I needed to introduce Git to the project by creating a local repository that would allow me to track changes to my files. Then I checked the Git status to see how it viewed the files. They appeared as untracked. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F412cyukct3be0uyytvka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F412cyukct3be0uyytvka.png" alt=" " width="721" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, I staged the files which tells Git which changes I want to include in my next commit. I then created my first commit, the &lt;strong&gt;initial commit&lt;/strong&gt;. A commit is like a checkpoint that saves the current state of my project in Git's history.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft8y21g4j77983igzlazj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft8y21g4j77983igzlazj.png" alt=" " width="684" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;5.Creating the GitHub Repository&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After creating and committing my project locally, I needed an online place to store it, so I created a new repository on GitHub and gave it a name similar to my local project. I kept the repository empty because the project and its initial commit were already on my computer which will allow me to connect to the existing local project to the new GitHub repository &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F65p0dzagfngfupdymrur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F65p0dzagfngfupdymrur.png" alt=" " width="629" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;6.Connecting the Local Project to GitHub&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I then connected my local Git repository to the GitHub repository using the SSH address I had copied from GitHub. I gave this remote connection the name** origin**, the standard name for the main remote repository. I checked the remote connection to confirm that the GitHub SSH address had been saved correctly for both fetching and pushing.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;7.Setting the main branch&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The next step was to make sure my project used the main branch. A branch is a separate line of development where changes to a project can be managed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3g0tosvf5e9xog74eyxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3g0tosvf5e9xog74eyxp.png" alt=" " width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;8.Pushing the project to GitHub&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I used the push command to send my committed files from the local repository to the GitHub repository. The command also connected my local main branch with the remote main branch so that Git would know where to send future updates. Git confirmed the main branch was successfully set up to track origin. This was an important moment in my learning because I could see the work I had created and saved locally could finally appear online.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgn6jucmhy4w8hmxrf3q1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgn6jucmhy4w8hmxrf3q1.png" alt=" " width="799" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the push was done, I opened my GitHub repository and I could see my project files online confirming that the local project had been successfully uploaded. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo3ae1wrifp130mrng20a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo3ae1wrifp130mrng20a.png" alt=" " width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This project helped me understand Git and GitHub by actually using them. I learned how to create a local project, track it with Git, connect it securely to GitHub using SSH and upload online.&lt;br&gt;
The workflow:** Working Directory &amp;gt; Staging &amp;gt; Commit &amp;gt; Push &amp;gt; GitHub** may seem complicated at first but once each stage is understood, it becomes easier to follow.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
