<?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: Tonny Muthuri</title>
    <description>The latest articles on DEV Community by Tonny Muthuri (@tonny_muthuri_9556958a78f).</description>
    <link>https://dev.to/tonny_muthuri_9556958a78f</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%2F4070918%2F28771fa6-b897-48ca-b125-db46af085240.png</url>
      <title>DEV Community: Tonny Muthuri</title>
      <link>https://dev.to/tonny_muthuri_9556958a78f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tonny_muthuri_9556958a78f"/>
    <language>en</language>
    <item>
      <title>JUMIA PRODUCT PERFORMANCE INTERACTIVE DASHBOARD</title>
      <dc:creator>Tonny Muthuri</dc:creator>
      <pubDate>Fri, 11 Sep 2026 11:19:19 +0000</pubDate>
      <link>https://dev.to/tonny_muthuri_9556958a78f/jumia-product-performance-interactive-dashboard-18a5</link>
      <guid>https://dev.to/tonny_muthuri_9556958a78f/jumia-product-performance-interactive-dashboard-18a5</guid>
      <description>&lt;h1&gt;
  
  
  Introducton
&lt;/h1&gt;

&lt;p&gt;Jumia is an e-commerce platform where different sellers list their products and customers purchase them online. The platform generates data as sellers list products and customers interact with it and purchase products.&lt;br&gt;
In this project, we analyze 112 products listed on Jumia that would give Jumia and its sellers a better understanding of how price, promotions and customer's feedback influence product performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dataset Overview
&lt;/h2&gt;

&lt;p&gt;The dataset contained 6 key fields: Products, current price, Old price, Rating, Reviews and Discount.&lt;br&gt;
I identified several data quality issues like missing values especially on the Rating and Review columns, Some columns such as Current price and Old price were in string/text form and not in their true data type which is supposed to number/currency. &lt;br&gt;
Ratingd header is misspelled.&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%2Fbkanezjpics1v7cbjmnb.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%2Fbkanezjpics1v7cbjmnb.png" alt="Raw-Data" width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Cleaning and preparation
&lt;/h2&gt;

&lt;p&gt;Identifying and removal of duplicates is esential before data analysis this helps to evade inaccuracy.&lt;br&gt;
The other step is to remove Kshs, commas and extra spaces from Current and Old prices columns. Then convert to a number.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;=Value(SUBSTITUTE(SUBSTITUTE(B2,"ksh",""),",",""))&lt;/code&gt;&lt;br&gt;
On Review column we change the negative values to absolute values&lt;br&gt;
&lt;code&gt;IF(E2="","",ABS(VALUE(E2)))&lt;/code&gt;&lt;br&gt;
In Rating we remove "out of 5" to chage its data type to a decimal number.&lt;br&gt;
&lt;code&gt;=IF(F2="","",VALUE(SUBSTITUTE(F2,"out of 5","")))&lt;/code&gt;&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%2Fugdmm2578fn8ev2ectqp.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%2Fugdmm2578fn8ev2ectqp.png" alt="Cleaned Data" width="800" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;To make our dataset more complete and valuable we add  a few columns;&lt;br&gt;
&lt;strong&gt;Discount Amount&lt;/strong&gt;- The amount that a customer saves when a product is sold at a reduced price.&lt;br&gt;
&lt;code&gt;(Old price- current price)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Rating Category&lt;/strong&gt;- Poor&amp;lt;3, Average- 3-4.5, Excellent&amp;gt;4.5&lt;br&gt;
&lt;code&gt;=IF(F2="","Missing",IF(F2&amp;lt;3,"Poor",IF(F2&amp;lt;=4.5,"Average","Excellent")&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Discount Category&lt;/strong&gt;- Low Discount&amp;lt;20%, Medium Discount=20%-40%, High Discount&amp;gt;40%&lt;br&gt;
&lt;code&gt;=IF(D2="","Missing",IF(D2&amp;lt;20%,"Low Discount",IF(D2&amp;lt;=40%,"Medium Discount","High Discount")))&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Price Category&lt;/strong&gt;- We categorize price based on Quartiles&lt;br&gt;
Q1-493, Q3-1670 &lt;br&gt;
And named their cells as Price_Q1 and Price_Q3&lt;br&gt;
&lt;code&gt;=IF(B2="","Missing",IF(B2&amp;lt;=Price_Q1,"Low Price",IF(B2&amp;lt;=Price_Q3,"Medium Price","High Price")))&lt;/code&gt;&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%2Fj3fu5g2b23fhs7rjtxwi.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%2Fj3fu5g2b23fhs7rjtxwi.png" alt=" " width="436" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Analysis
&lt;/h2&gt;

&lt;p&gt;After cleaning and preparing data we moved to analyzing it&lt;/p&gt;

&lt;h3&gt;
  
  
  Deriving KPIs
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variable&lt;/th&gt;
&lt;th&gt;values&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Total products&lt;/td&gt;
&lt;td&gt;112&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average Current Price&lt;/td&gt;
&lt;td&gt;Ksh 1,187&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average Old Price&lt;/td&gt;
&lt;td&gt;Ksh 1,811&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average Discount&lt;/td&gt;
&lt;td&gt;Ksh 624&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average Rating&lt;/td&gt;
&lt;td&gt;3.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total reviews&lt;/td&gt;
&lt;td&gt;723&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Most Expensive Price&lt;/td&gt;
&lt;td&gt;Ksh 3750-32pcs portable codeless drill&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Least Expensive Price&lt;/td&gt;
&lt;td&gt;Ksh 38- Single head knitting crothet sweater needle set&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Relationship analysis
&lt;/h3&gt;

&lt;p&gt;I created 3 scatter charts and derived R-squared and their correlations.&lt;br&gt;
&lt;strong&gt;Discount vs Reviews&lt;/strong&gt;&lt;br&gt;
The analysis shows weak negative correlation.&lt;br&gt;
Correl=  -0.137&lt;br&gt;
R&lt;sup&gt;2&lt;/sup&gt; = 0.0187&lt;br&gt;
&lt;strong&gt;Current price vs Rating&lt;/strong&gt; &lt;br&gt;
Week positive correlation&lt;br&gt;
Correl=  0.1101&lt;br&gt;
R&lt;sup&gt;2&lt;/sup&gt; =0.0121&lt;br&gt;
&lt;strong&gt;Rating VS Reviews&lt;/strong&gt;&lt;br&gt;
Week Positive correlation&lt;br&gt;
Correl= 0.0572&lt;br&gt;
R&lt;sup&gt;2&lt;/sup&gt;= 0.0033&lt;br&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%2Fkftmihanz40285p80v9o.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%2Fkftmihanz40285p80v9o.png" alt="Relationship Analysis" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboard Creation
&lt;/h2&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%2Fx8q5hsi9abmfea7h6qxf.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%2Fx8q5hsi9abmfea7h6qxf.png" alt=" " width="520" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete workbook, including the raw and cleaned data, analysis sheets, PivotTables, charts, and final interactive dashboard, is available in my GitHub repository below.&lt;br&gt;
&lt;a href="https://github.com/tonnymuthuri6-lang/JUMIA-PRODUCT-PERFORMANCE-DASHBOARD" rel="noopener noreferrer"&gt;https://github.com/tonnymuthuri6-lang/JUMIA-PRODUCT-PERFORMANCE-DASHBOARD&lt;/a&gt;&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>datascience</category>
    </item>
    <item>
      <title>GETTING STARTED WITH EXCEL FOR DATA ANALYTICS: FROM BASICS TO DATA CLEANING.</title>
      <dc:creator>Tonny Muthuri</dc:creator>
      <pubDate>Tue, 01 Sep 2026 05:18:06 +0000</pubDate>
      <link>https://dev.to/tonny_muthuri_9556958a78f/getting-started-with-excel-for-data-analytics-from-basics-to-data-cleaning-1j11</link>
      <guid>https://dev.to/tonny_muthuri_9556958a78f/getting-started-with-excel-for-data-analytics-from-basics-to-data-cleaning-1j11</guid>
      <description>&lt;h1&gt;
  
  
  INTRODUCTION.
&lt;/h1&gt;

&lt;p&gt;Many times, I thought Excel was just a simple tool that could only work on simple tasks. After interacting with it for the past one week, I have come to realize how powerful it is.&lt;br&gt;
So, what exactly is Excel? Excel is a spreadsheet program developed by Microsoft that helps you organize, manage and analyze data.  &lt;/p&gt;
&lt;h3&gt;
  
  
  Excel Use Cases.
&lt;/h3&gt;

&lt;p&gt;-Used in data entry&lt;br&gt;
-Data cleaning&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;br&gt;
-Analyzing data&lt;br&gt;
-Data visualization&lt;/p&gt;
&lt;h3&gt;
  
  
  Overview.
&lt;/h3&gt;

&lt;p&gt;There are many tools and commands displayed on Excel's interface.&lt;br&gt;
&lt;strong&gt;Ribbon&lt;/strong&gt;- It's a toolbar that contains all the commands used in excel.&lt;br&gt;
For example, Home, Formulas, insert, Review, View, Page layout, Draw.&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%2Fnjlvlpsgxehqv65p1lar.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%2Fnjlvlpsgxehqv65p1lar.png" alt=" " width="799" height="51"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Terminologies used in Excel.
&lt;/h3&gt;

&lt;p&gt;-Cell- A basic unit of a worksheet where you can enter or display data.&lt;br&gt;
 Each cell has an address that identifies each cell. &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%2F3f6joabm2mf4wdochi66.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%2F3f6joabm2mf4wdochi66.png" alt=" " width="223" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-Formula bar- Area above the worksheet where you can view, enter and display formulas.    &lt;/p&gt;

&lt;p&gt;-Rows-This are horizotal lines of cells that run from left to right. &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%2Fcgwsoeqj2ww37xni0c5z.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%2Fcgwsoeqj2ww37xni0c5z.png" alt=" " width="800" height="88"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-Columns- This are vertical lines of  cells that run from top to bottom in a worksheet.&lt;/p&gt;

&lt;p&gt;-Name box- It contains the address the selected cell.&lt;/p&gt;
&lt;h3&gt;
  
  
  Data Types.
&lt;/h3&gt;

&lt;p&gt;-Numbers- Values that can be used in calculations ie, 2,5,7,54&lt;br&gt;
-Texts-refers to letters, words, sentences or combination of characters&lt;br&gt;&lt;br&gt;
used to describe&lt;br&gt;
-Date- this are values that reprent a specific day, month or year ie. 30/04/2026.&lt;br&gt;
To access data types, highlight column, right click then format cells.&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%2Fku0q0xsoz008dgk80eyh.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%2Fku0q0xsoz008dgk80eyh.png" alt=" " width="333" height="347"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Data Validation
&lt;/h3&gt;

&lt;p&gt;This is typically restricting what a user can enter into a data cell. We use data validation to prevent errors when entering data, to maintain consistency across data set, ensuring correct data type is entered and to improve data quality before analysis &lt;br&gt;
Follow this steps to validate your data:&lt;/p&gt;

&lt;p&gt;-select the column or cells  you want to validate &lt;br&gt;
-On the data ribbon, select &lt;strong&gt;Data&lt;/strong&gt;&lt;br&gt;
-click on &lt;strong&gt;Data Validation&lt;/strong&gt; the choose the validation criteria.&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%2Feoc001i0lqp6m2kigb4k.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%2Feoc001i0lqp6m2kigb4k.png" alt=" " width="408" height="379"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Data Filtering and Sorting.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Filtering&lt;/strong&gt;is displaying only the data that meets a specific condition while temporarily hiding the rest.&lt;br&gt;
We use &lt;strong&gt;Sort &amp;amp; Filter&lt;/strong&gt; command to filter.&lt;br&gt;
Types of Filtering:&lt;br&gt;
-Text filtering&lt;br&gt;
-Date filtering&lt;br&gt;
-Number filtering&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sorting&lt;/strong&gt; is arranging data in a particular order ie&lt;br&gt;
-Number sorting- its arranging numbers in a particular order that is ascending or descending.&lt;br&gt;
-Text sorting- its arranging text data in a specific order can be either ascending or descending.&lt;/p&gt;
&lt;h2&gt;
  
  
  Data Preparation and Cleaning.
&lt;/h2&gt;

&lt;p&gt;Data cleaning is one of the most essential steps in data analysis.&lt;br&gt;
Whenever we deal with data, we are bound to encounter data inconsistencies such as duplicate values, missing values or even spelling mistakes.&lt;/p&gt;
&lt;h3&gt;
  
  
  Conditional Formatting
&lt;/h3&gt;

&lt;p&gt;It's an excel feature used to automatically change the appearance of cells based on specific rules or conditions.&lt;br&gt;
Used to identify outliers, trends, patterns,duplicates and missing information&lt;/p&gt;
&lt;h3&gt;
  
  
  Key Functions used in data Cleaning
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Text Functions.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upper() Function- converts texts to uppercase.&lt;/li&gt;
&lt;/ul&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%2Fmm0td0bw29ndso0nlp6m.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%2Fmm0td0bw29ndso0nlp6m.png" alt=" " width="328" height="252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lower() Function- converts texts to lowercase.&lt;/li&gt;
&lt;/ul&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%2Ftq59mtwykk8epoxvw5v9.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%2Ftq59mtwykk8epoxvw5v9.png" alt=" " width="396" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Proper() Function- capitalizes the first letter in a word.&lt;/li&gt;
&lt;/ul&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%2F8lfo2qcta4jk5cgxvmj7.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%2F8lfo2qcta4jk5cgxvmj7.png" alt=" " width="446" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Trim() Function- It removes extra spaces before and after the text.&lt;br&gt;
We use LEN()to count how many characters are in a text&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mid()- used to extract characters in the middle of a text ie. &lt;br&gt;
MID(F2,2,3)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;-F2- Representing text &lt;br&gt;
  -2- representing the starting position&lt;br&gt;
  -3-representing the number of characters to be removed. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aggregate Functions.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Product()- Multiplies numbers in a range&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Max()- used t find the highest value in a range&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Median()- Returns the value in the middle for the sorted data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mode()- used to find most frequent value in a range&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conditional Aggregations.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;COUNTIF- used for condiotional counting ie.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;=COUNTIF(E2, E870, "Sales")&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;COUNTIFS()- Used when we have more than one condition ie &lt;br&gt;
finding male employees who have masters&lt;br&gt;
=COUNTIFS(I2:I870,"M",N2:N870,"Masters")&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SUMIF- used to add values that meet a specific criteria&lt;br&gt;
we start with criteria range then sum range.&lt;br&gt;
ie Total employee salary in HR department&lt;br&gt;
SUMIF(E2:E870,"Human Resource", F2:F877)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SUMIFS()- Used in more than two conditions&lt;br&gt;
we start with criteria range, criteria, then the sum range&lt;br&gt;
ie . Salary for females in Human resource department.&lt;br&gt;
SUMIFS(F2:F877,E2:E870,"Human Resource,I2:I870,"F")&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Date/Time Functions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Today()- it returns today's date&lt;br&gt;
ie&lt;br&gt;
=TODAY() click enter.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now()- Gets Todays date and time&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;-YEAR()- Used to extract year from a date&lt;br&gt;
ie =YEAR()&lt;br&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%2Fn4ky2gjgiot40ev9pg20.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%2Fn4ky2gjgiot40ev9pg20.png" alt=" " width="227" height="223"&gt;&lt;/a&gt;&lt;br&gt;
  -MONTH()- Used to extract a month from date &lt;br&gt;
   -DAY()- Extracts a day from  a date ie.&lt;br&gt;
   =Day()&lt;br&gt;
   -DATEDIF()- Calculates the difference between two dates&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>analytics</category>
    </item>
    <item>
      <title>My First GitHub Project.</title>
      <dc:creator>Tonny Muthuri</dc:creator>
      <pubDate>Sat, 22 Aug 2026 21:47:36 +0000</pubDate>
      <link>https://dev.to/tonny_muthuri_9556958a78f/my-first-github-project-27gp</link>
      <guid>https://dev.to/tonny_muthuri_9556958a78f/my-first-github-project-27gp</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;People, especially beginners, face challenges when making changes to their projects and pushing those changes to Github. Some of the challenges faced include Git command, authentification, configuration etc.&lt;br&gt;
This article aims to explain the process of building a Github project, from creating local directories/folders to uploading the project to Github using Git and secure shell(ssh).&lt;br&gt;
I will use a project titled &lt;strong&gt;Poor Performance in 2025 National Exams&lt;/strong&gt; as a case example to illustrate the steps involved in creating a project.&lt;br&gt;
The process is outlined in the following steps:&lt;/p&gt;
&lt;h3&gt;
  
  
  STEP 1: Creating directories
&lt;/h3&gt;

&lt;p&gt;The first step of a project is to establish a well organized directory structure. This helps keep project files organized logically, making them easier to manage, access and maintain throughout the development process.&lt;br&gt;
We create our project directories within Desktop and OneDrive. &lt;br&gt;
&lt;strong&gt;Desktop&lt;/strong&gt; is basically a special directory used by windows to store files and shortcuts while &lt;strong&gt;OneDrive&lt;/strong&gt; is a microsoft's storage store.&lt;br&gt;
In our case we start by navigating to the desktop directory using Git.&lt;/p&gt;

&lt;p&gt;For example, &lt;code&gt;cd desktop&lt;/code&gt; means 'go to desktop'&lt;br&gt;
Next, Use &lt;strong&gt;&lt;em&gt;ls&lt;/em&gt;&lt;/strong&gt; to list all the directories and files in desktop.&lt;br&gt;
Once you have navigated the desktop directory, Proceed to making your first project directory. &lt;br&gt;
We use &lt;strong&gt;&lt;em&gt;mkdir&lt;/em&gt;&lt;/strong&gt;  commandto create a new directory. &lt;br&gt;
For example,&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;mkdir "Poor-performance-in-2025-National Exam"&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
.&lt;br&gt;
Next, we create additional directories within our newly created project directory. In this case we will create a directory called Data, which will store the datasets required for the analysis.&lt;/p&gt;

&lt;p&gt;For example,&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;mkdir data&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 2: Creating Files
&lt;/h3&gt;

&lt;p&gt;Files are essential part of building a project. In this step, we will create a README.md file.&lt;br&gt;
A README.md gives an overview of the project and describes its purpose, structure and  usage in a clear and understandable way. README.md is written using Markdown language.&lt;br&gt;
we use &lt;strong&gt;&lt;em&gt;touch&lt;/em&gt;&lt;/strong&gt; to create files.&lt;br&gt;
For example,&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;touch README.md&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 3: Printing on README.md
&lt;/h3&gt;

&lt;p&gt;we use &lt;strong&gt;echo&lt;/strong&gt; or &lt;strong&gt;nano&lt;/strong&gt;to add content on README.md file and to describe our project.&lt;br&gt;
In our case example, we will add project title and an overview.&lt;br&gt;
*Using echo&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;echo "# Poor Performance in 2025 National Exam" &amp;gt; README.md&lt;br&gt;
    echo "# Project Overview" &amp;gt;&amp;gt; README.md&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;&amp;gt;&lt;/strong&gt; operator overwrites the file, while &lt;strong&gt;&amp;gt;&amp;gt;&lt;/strong&gt; adds content to the existing file without deleting what is already there.&lt;/p&gt;

&lt;p&gt;*using nano README.md&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# Poor performance in 2025 National Exams&lt;br&gt;
    ## Project Overview&lt;br&gt;
       This project aims to identify key factors that led to poor academic performance in 2025.&lt;br&gt;
    ## Tools Used&lt;br&gt;
      -Excel&lt;br&gt;
      -Power Bi&lt;br&gt;
      -Python&lt;br&gt;
     ## Challenges Faced&lt;br&gt;
      -Missing Data&lt;br&gt;
      -Outliers&lt;br&gt;
      -Duplicates&lt;br&gt;
      -Data Accessibility&lt;br&gt;
      -Unstructured data&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 4: Commit the project
&lt;/h3&gt;

&lt;p&gt;A commit is a saved checkpoint in the history of repository. It records all the changes that have been made at a particular point in time.&lt;br&gt;
First, we stage all eligible changes.&lt;br&gt;
Using:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit add.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Once the changes have been staged,we save them as a commit and give a commit message.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m " Add Poor performance in 2025 National Exam Analysis"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The -m in our command allows us to provide a message describing the changes included in the commit.&lt;br&gt;
To view the history of commits in our repository we use:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;or to show our commit in a short format&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log --oneline&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 5: Checking and Connecting Git to Github
&lt;/h3&gt;

&lt;p&gt;Github is an online platform where Git repositories can be stored and shared.&lt;br&gt;
To securely connect Git to Github, we need to usea Secure shell(ssh). SSH is typically a protocal used to create secure connection between Git and Github.&lt;br&gt;
To check whether ssh keys already exists before generating one use:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ls -al ~/.ssh&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;If a SSH key does not already exist, Generate ed25519 ssh key from the Git using:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh-keygen -t ed25519 -C "tonn*********@gmail.com"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Git generates two keys:&lt;br&gt;
                      -public key &lt;br&gt;
                      -private key&lt;br&gt;
Copy the public one.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cat ~/.ssh/*******.pub&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Add the copied ssh to your Github (Setings &amp;gt; ssh and gpg keys).&lt;br&gt;
Fill in the ssh key form:&lt;br&gt;
          &lt;strong&gt;Title&lt;/strong&gt;- give the key a descriptive name&lt;br&gt;
          &lt;strong&gt;Key type&lt;/strong&gt;- choose authentication key&lt;br&gt;
          &lt;strong&gt;Key&lt;/strong&gt;- paste the copied public ssh key here&lt;br&gt;
Then click add ssh key.&lt;br&gt;
To test the ssh connection you need to return to GitBash and run:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh-T git@github.com&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 6: Connecting Git repository to a remote repository
&lt;/h3&gt;

&lt;p&gt;Open the Github and create a new repository. Once the repository has been created, copy the ssh.&lt;br&gt;
We can then connect our local repository to a remote repository using this command:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git remote add origin "paste the ssh here"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To check the remote repositories connected to our local Git repository we use this command:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git remote -v&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The final stepis to push (sending changes from Git to Github)&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push -u origin main&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The command uploads the created commits from our local &lt;strong&gt;main&lt;/strong&gt; branch to the Github repository called &lt;strong&gt;Origin&lt;/strong&gt;&lt;br&gt;
The final step is to refresh your github.  &lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
