Introduction to Computer Science
Assignment Proposal
Department of Statistics 2025
Group Name:
1. Yosef Zinabu ----- UGR/3666/17
2. Yilkal Akele ------- UGR/1707/17
3.
4.
5.
Submitted to: Dr. Getahun
Date of submission: Nov 20,2025
Proposal: Statistical Analysis of Ride (Ride App)
Addis Ababa
This proposal outlines a step-by-step plan to collect, clean, analyze, and
report statistical findings using trip-level and aggregated data from Ride (the
Ride-hailing platform operating in Addis Ababa). The project will address the
lecturer's 10 assignment topics (descriptive statistics, correlation,
comparative analysis, regression, time series, hypothesis testing, outlier
analysis, categorical analysis, ANOVA, chi-square). Deliverables include a
written report, Jupyter notebooks, charts, and a presentation.
1. Objectives
1.1 General objective
To perform a complete statistical analysis of Ride’s trip data to satisfy the
assignment requirements and produce actionable insights for the company
and stakeholders.
1.2 Specific objectives
Obtain an anonymized dataset or suitable public/synthetic proxy
representing Ride trips in Addis Ababa.
Produce descriptive statistics (mean, median, mode, range, variance,
SD) for key variables.
Measure correlations and relationships between key variables
(distance, fare, duration, rating).
Test differences across groups (time-of-day, vehicle types, promotion
vs non-promotion) using t-tests and ANOVA.
Build predictive models to estimate fare and short-term demand
(regression and time-series models).
Detect and treat outliers and assess their impact.
Conduct categorical analyses and chi-square tests (payment method
vs satisfaction, vehicle type vs cancellation).
Document methods, results, and code for reproducibility.
2. Research questions
1. What are the mean, median, and mode for Ride’s fare, distance,
duration, and rating?
2. What are the range, variance, and SD of numerical variables in Ride’s
dataset?
3. Is there a significant correlation between fare and distance or duration?
Between surge multiplier and fare?
4. Are there differences in mean fares/durations between vehicle types,
time blocks, or promotion vs non-promotion trips?
5. Can we predict fare or demand using Ride’s available variables and
how much variance is explained?
6. What are the trends and seasonal patterns in daily trips and revenue
for Ride?
7. Did any recent Ride intervention (promotions, surge policy change)
significantly change trip counts or average fare?
8. Are there outliers in Ride’s data and how to handle them?
9. What are the proportions of vehicle types, payment methods, and
cancellation rates?
10. Is there an association between vehicle type and driver rating, or
payment method and satisfaction?
3. Data requirements and variables (About Ride)
3.1 Preferred trip-level scheme (Ride export or API)
Trip ID - unique identifier
Date & time - trip start timestamp (YYYY-MM-DD HH:MM)
Provider - "Ride" (constant)
Pickup zone - district/neighborhood (anonymized)
Dropoff zone - district/neighborhood (anonymized)
Distance km - trip distance
Duration (min) - trip time in minutes
Fare ETB - fare charged
Base fare - base charge
Surge multiplier - numeric factor
Driver rating - rating by passenger (1–5)
Vehicle type - sedan, minibus, moto, etc.
Payment method - cash, mobile money, card
Tip ETB - tip amount (if available)
Cancellation flag - 0/1
Promotion flag - 0/1 (discount applied)
City zone code - coarse geocode for spatial aggregation (if allowed)
3.2 Aggregated fields (if trip-level not available)
Daily trips, daily revenue, avg fare day, avg distance day, peak hour
trips
4. Data sources & collection methods
4.1 Primary: Request from Ride
Formal data request: Prepare and send a polite, signed request to
Ride’s operations/data team asking for anonymized trip data for
educational use. Provide details on variables needed, anonymization
requirements, intended analyses, and deliverables.
Data sharing options: CSV export, temporary API access, or
aggregated reports.
Template request items to include: purpose, date range desired (e.g.,
last 6 months), anonymization guarantee, contact details, and how results
will be shared.
4.2 Secondary options
Public/similar datasets: Use open ride-hailing datasets (Kaggle,
GitHub) and adapt analyses to Ride’s context. We will annotate where
synthetic or proxy data were used.
Manual/field collection: Short driver/customer survey for categorical
variables not in logs (consent required).
5. Sampling plan & sample size
Preferred: 200+ trip records covering at least 1 months (to capture
weekly seasonality).
Minimum: 150–200 records to permit meaningful inference.
Sampling scheme: Random sampling across dates and hours;
stratified by vehicle type and city zone to preserve representativeness.
6. Data cleaning & preprocessing (Ride-specific steps)
1. Date/time parsing: Convert date time to datetime and extract hour,
weekday, and whether it is a weekend.
2. Fare per km: Compute fare per km = fare ETB/ distance km (handle
zero-distance with NaN).
3. Standardized categories: Normalize vehicle type labels, payment
method names.
4. Aggregate series: Build daily/weekly aggregates for time series
modeling.
7. Analysis plan (step-by-step, Ride-specific)
All tests use significance level α = 0.05 unless otherwise noted.
7.1 Descriptive Statistics
Compute mean, median, mode, range, variance, SD, IQR for fare ETB,
distance km, duration min, driver rating, and tip ETB.
Visuals: histograms and boxplots for fare and distance; bar chart for
vehicle-type counts.
Output: Table of descriptive stats with short interpretation (e.g., skewness
indicates right-skewed fares)
7.2 Correlation & Relationships
Pearson correlation between fare ETB and distance km; between fare
ETB and duration min; Spearman if non-normal.
Correlation between surge multiplier and fare ETB to quantify surge
effects.
Visuals: scatter plots with fit lines; a correlation heatmap.
7.3 Comparative Analysis
Compare average fare during daytime vs nighttime using t-test.
Compare mean fares across vehicle type using ANOVA.
Compare promotion flag vs non-promotion mean fares and trip counts.
7.4 Regression Analysis
Simple model: fare ETB ~ distance km
Multiple linear regression: fare ETB ~ distance km + duration min
+ surge multiplier + vehicle type + is weekend + hour of day
Diagnostics: Check VIF for multicollinearity, residual plots for
heteroscedasticity, and normality of residuals.
Consider log-transform of fare if skewed; use robust regression if
outliers impact results.
7.5 Time Series Analysis
Aggregate to daily trips and daily revenue.
Plot trends and decompose series (STL) into trend, seasonality,
residuals.
7.6 Hypothesis Testing (Intervention Analysis)
If Ride implemented a promotion or policy change during the study
period, define pre/post windows.
Use interrupted time series analysis or two-sample t-test (daily
aggregates) to test for level or trend change.
Compute Cohen’s d for effect size.
7.7 Outlier Analysis
Use distance to identify influential observations in regression.
Compare model estimates with and without outliers; document effects.
7.8 Categorical Data Analysis
Proportions of vehicle type, payment method, cancellation flag.
Cross-tabulations: payment method vs driver rating categories; vehicle
type vs cancellation flag.
7.9 ANOVA (multi-group comparisons)
One-way ANOVA: compare avg fare across multiple vehicle type
groups.
Practical implication: which vehicle type is most cost-effective/popular.
7.10 Chi-Square Test
Contingency table: vehicle type × rating category (e.g., 1–2: low, 3:
neutral, 4–5: high)
Run chi-square of independence; check expected counts; use Fisher’s
exact if needed.
Make simple predictive statements (e.g., based on past proportions,
expected percent of high-rated trips for a vehicle type).
8. Potential limitations & mitigations
Data access denial: Use public ride-hailing datasets and clearly mark
limitations.
Small sample/time window: Use non-parametric tests and clearly
discuss reduced statistical power.
9. Example hypothesis test (promotion impact)
Example: Testing the impact of a 2-week promotion
o mean daily trips before promotion = mean daily trips after
promotion
o mean daily trips after promotion > mean daily trips before
promotion
o Test: two-sample t-test on daily trip counts (or interrupted time
series if data allows)