Sales Performance Analytics: Greenlight Planet Sun King Nigeria — Lagos Region 2025
Author
Zainab Olayemi Yunusah-Saadu
Published
May 11, 2026
1 Executive Summary
This study analyses 321 transaction-level sales records from Greenlight Planet Sun King Nigeria’s Lagos Region operations spanning January through December 2025. The dataset covers 30 product SKUs across seven Local Government Areas (LGAs) and four sales channels namely Agent Sales, Shop, E-Commerce, and Business Partner — with payment terms ranging from immediate cash to 20-month instalment plans.
Exploratory Data Analysis reveals that revenue is severely right-skewed (skewness = 4.29), driven by a small number of high-volume Business Partner bulk orders. The median transaction generates ₦4.9 million, while the mean is ₦19.4 million, a gap that has material implications for how performance is reported. Hypothesis testing using one-way ANOVA confirms that sales channel has a statistically significant effect on revenue (p < 0.001). Correlation analysis identifies Quantity Sold (r = 0.82) as the strongest revenue predictor, followed by Sales Promotion spend (r = 0.64). A linear regression model applied to log-transformed revenue explains a substantial portion of variance, with Quantity Sold and Sales Channel emerging as the primary actionable drivers.
Core recommendation: Sun King Nigeria should prioritise volume-based incentive schemes for Agent Sales, the highest-transaction-count channel, while protecting and growing the high-value Business Partner segment, which accounts for a disproportionate share of total revenue despite representing only 3.7% of transactions.
I am a Manager at Greenlight Planet Sun King Nigeria Limited, a subsidiary of Greenlight Planet Inc-USA. Greenlight Planet is a global social enterprise founded in 2009 that manufactures and distributes solar energy products under the Sun King brand. Sun King Nigeria serves off-grid and under-grid households and businesses across Lagos State, delivering clean, affordable solar alternatives to kerosene lamps and diesel generators for the approximately 80 million Nigerians who lack reliable grid electricity.
As Finance Manager, i am responsible for budgeting, forecasting, cash flow, liquidity, working capital as well as performance analysis and reporting. The data used in this analysis comes directly from Sun King Nigeria’s internal sales management system, covering transactions recorded in the Lagos Region between January and December 2025.
2.2 Why Exploratory Data Analysis
Before any management decision, whether to reallocate sales agents across LGAs, discontinue a product line, or restructure payment plan offerings, I need a clear, unbiased picture of the underlying data. EDA is the tool that surfaces hidden patterns, flags anomalies, and prevents decisions based on misleading averages. In the Sun King context, knowing that Business Partner orders distort the revenue mean is operationally critical: it changes how I set targets and how I measure agent performance.
2.3 Why Data Visualisation
Sun King Nigeria’s regional sales reports are reviewed by managers who are not data scientists. Visualisation translates 321 rows of transaction data into a story a non-technical manager can act on immediately. For instance, which LGA is underperforming, which product category is growing, which payment plan is driving customer acquisition. A well-constructed chart communicates in seconds what a table of numbers cannot.
2.4 Why Hypothesis Testing
Sun King operates four distinct sales channels simultaneously, each requiring different investment including agent recruitment and training, retail outlet overhead, digital marketing spend, and corporate partnership management. The central operational question is: does the choice of sales channel produce a statistically significant difference in revenue? Without a formal test, apparent differences could be random noise. ANOVA provides a defensible, quantitative answer that justifies reallocation of operational budget.
2.5 Why Correlation Analysis
Understanding which variables move together helps the sales planning team identify the highest-leverage inputs. If payment plan length correlates strongly with revenue, extending credit terms is a growth strategy. If Sales Promotion spend correlates with revenue, the marketing budget is working. Correlation analysis gives me an evidence base for these conversations rather than relying on intuition.
2.6 Why Regression
A regression model that predicts revenue from quantity sold, payment plan, sales channel, and region gives management a quantitative planning tool. It allows scenario simulation: if we deploy additional agents in Epe (Agent Sales, Epe region), the model can estimate expected revenue uplift, making sales targets scientifically defensible rather than aspirational guesses.
3 Data Collection & Sampling
3.1 Source and Collection Method
The dataset was extracted from Greenlight Planet Sun King Nigeria’s internal sales management system, the company’s CRM and order processing platform used across all Lagos Region field operations. The extract was produced by the Finance team and covers all completed sales transactions recorded in the system for the 12-month period January 2025 through December 2025.
Data fields captured at the point of each transaction include: transaction date, product sold, payment plan selected by the customer, quantity sold, sales promotion amount applied, unit price, total revenue, the sales channel through which the sale was made, and the geographic region (LGA) of the sale. Warranty term is a product attribute assigned at point of sale based on product category.
3.2 Sampling Frame and Sample Size
The dataset represents a complete census, not a random sample, of all Lagos Region sales transactions recorded in the system during 2025. The raw extract contained 322 records; one record was identified as a system artefact (a blank row with no transaction data) and was removed during cleaning, leaving 321 usable observations. No sampling methodology was applied because the full population of transactions was accessible. The 321 observations represent 100% of Lagos Region transactions for the period.
Statistical rationale: With 321 observations and 10 variables, the dataset substantially exceeds the minimum threshold of 100 observations and 6 variables required for Case Study 1. The observation-to-variable ratio of 32:1 comfortably supports the regression modelling approach.
3.3 Time Period
January 1, 2025 — December 31, 2025. All 12 calendar months are represented, with monthly observation counts ranging from 23 (June) to 37 (November), reflecting genuine seasonal variation in sales activity rather than incomplete data capture.
3.4 Ethical Notes and Data Sharing
The dataset contains no personally identifiable information (PII). No customer names, customer IDs, phone numbers, or account details are present. All records are transaction-level aggregates tied to product, channel, and geographic identifiers only. The organisation granted permission for use of this data in academic analysis. In compliance with Section 4.3 of the assessment brief, no raw financial data that the organisation treats as strictly confidential has been published.
Table 3: Skewness Analysis — All Numeric Predictors
Variable
Skewness
Mean
Median
sold
promotion
plan
revenue
4.27
19425115
4896000
NA
NA
NA
quantity
NA
NA
NA
6.18
NA
NA
quantity
NA
NA
NA
64.00
NA
NA
quantity
NA
NA
NA
5.00
NA
NA
sales
NA
NA
NA
NA
7.59
NA
sales
NA
NA
NA
NA
13256.00
NA
sales
NA
NA
NA
NA
1188.00
NA
payment
NA
NA
NA
NA
NA
0.23
payment
NA
NA
NA
NA
NA
9.00
payment
NA
NA
NA
NA
NA
6.00
Revenue skewness of 4.29 is severe. The median (₦4,896,000) is less than 26% of the mean (₦19,425,115), indicating that a small number of very large Business Partner transactions are pulling the mean far above the typical transaction value. Resolution: Revenue is log-transformed for all regression modelling. Before-and-after distributions are shown in the Visualisation section.
4.5 Data Quality Issue 2 — Outliers in Revenue and Quantity Sold
41 transactions (12.8%) exceed the IQR upper fence of ₦33.8 million. These are genuine Business Partner bulk orders — not data errors — and are retained in the dataset. The log transformation applied in regression effectively down-weights their influence without discarding real operational data.
5 Data Visualisation
The five plots below tell a single integrated story: Sun King Nigeria’s Lagos revenue is structurally concentrated — by channel, by geography, and by a small number of very large transactions — and a log transformation is necessary to model it honestly.
Code
p1a <- sales |>ggplot(aes(x = revenue)) +geom_histogram(bins =40, fill = BLUE, colour ="white", alpha =0.85) +scale_x_continuous(labels =label_number(prefix ="₦", suffix ="M",scale =1e-6, accuracy =1)) +labs(title ="Raw Revenue Distribution",subtitle ="Severe right skew — mean ≫ median",x ="Revenue (NGN)", y ="Count") +geom_vline(xintercept =median(sales$revenue), colour = RED,linetype ="dashed", linewidth =0.8) +annotate("text", x =median(sales$revenue)*2.5, y =55,label ="Median: ₦4.9M", colour = RED, size =3.2) +theme_sunking()p1b <- sales |>ggplot(aes(x = log_revenue)) +geom_histogram(bins =35, fill = NAVY, colour ="white", alpha =0.85) +labs(title ="Log-Transformed Revenue",subtitle ="Approximately normal — suitable for regression",x ="log(Revenue)", y ="Count") +geom_vline(xintercept =median(sales$log_revenue), colour = GRN,linetype ="dashed", linewidth =0.8) +theme_sunking()p1a + p1b +plot_annotation(title ="Fig 1: Revenue Distribution — Before & After Log Transformation",caption ="Source: Sun King Nigeria internal sales data, Lagos Region 2025",theme =theme(plot.title =element_text(face ="bold", colour = NAVY, size =12)) )
Figure 1: Revenue distribution before and after log transformation
sales |>mutate(region =fct_reorder(region, revenue, median)) |>ggplot(aes(x = region, y = revenue, fill = region)) +geom_boxplot(show.legend =FALSE, outlier.colour = RED,outlier.alpha =0.5, width =0.55) +scale_y_log10(labels =label_number(prefix ="₦", suffix ="M", scale =1e-6)) +scale_fill_brewer(palette ="Blues") +coord_flip() +labs(title ="Fig 4: Revenue Distribution by Region (Log Scale)",subtitle ="Log scale reveals within-region spread | Red dots = outlier transactions",x =NULL, y ="Revenue — log scale (NGN Millions)",caption ="Source: Sun King Nigeria internal sales data, Lagos Region 2025" ) +theme_sunking()
Figure 4: Revenue distribution by region (log scale)
Code
sales |>ggplot(aes(x = payment_plan_months, y = log_revenue, colour = sales_channel)) +geom_jitter(width =0.4, alpha =0.55, size =2) +geom_smooth(method ="lm", se =TRUE, linewidth =0.9,aes(fill = sales_channel), alpha =0.12) +scale_colour_manual(values =c(BLUE, GRN, ORG, NAVY)) +scale_fill_manual(values =c(BLUE, GRN, ORG, NAVY)) +scale_x_continuous(breaks =c(0, 3, 6, 12, 18, 20),labels =c("Cash\n(0)","3m","6m","12m","18m","20m")) +labs(title ="Fig 5: Payment Plan Length vs Log(Revenue) by Sales Channel",subtitle ="Each point = one transaction | Lines = OLS trend per channel",x ="Payment Plan Term (months)", y ="log(Revenue)",colour ="Sales Channel", fill ="Sales Channel",caption ="Source: Sun King Nigeria internal sales data, Lagos Region 2025" ) +theme_sunking()
Figure 5: Payment plan length vs log revenue by sales channel
Visualisation narrative summary: The five plots collectively establish that (1) revenue is non-normal and requires transformation; (2) the Business Partner channel is the highest-value channel despite representing fewer than 4% of transactions; (3) November was the highest-revenue month in 2025; (4) Ikorodu and Ajah dominate geographic revenue but Egbeda shows the widest spread; and (5) the relationship between payment plan length and revenue is positive across all channels, suggesting credit term extension supports higher-value purchases.
6 Hypothesis Testing
6.1 Hypothesis 1 — ANOVA: Does Sales Channel Affect Revenue?
Business question: Does it matter which sales channel a transaction comes through, in terms of the revenue it generates?
\[H_1: \text{At least one sales channel has a significantly different mean log(Revenue)}\]
Code
# ── Assumption checks ──────────────────────────────────────────────────────────# 1. Normality within groups (Shapiro-Wilk on log_revenue per channel)normality_check <- sales |>group_by(sales_channel) |>summarise(n =n(),Mean_logRev =round(mean(log_revenue), 3),SD_logRev =round(sd(log_revenue), 3),Shapiro_W =round(shapiro.test(log_revenue)$statistic, 3),Shapiro_p =round(shapiro.test(log_revenue)$p.value, 4),.groups ="drop" )normality_check |>kbl(caption ="Table 5: Normality Check — Shapiro-Wilk Test of log(Revenue) Within Channels") |>kable_styling(bootstrap_options =c("striped","hover"), full_width =FALSE)
Table 5: Normality Check — Shapiro-Wilk Test of log(Revenue) Within Channels
sales_channel
n
Mean_logRev
SD_logRev
Shapiro_W
Shapiro_p
AGENT SALES
192
15.348
1.690
0.990
0.1727
SHOP
87
15.352
1.496
0.987
0.5218
E-COMMERCE
30
15.755
1.217
0.912
0.0166
BUSINESS PARTNER
12
18.121
1.728
0.653
0.0003
Code
# 2. Homogeneity of variance (Levene's test)levene_result <-leveneTest(log_revenue ~ sales_channel, data = sales)cat("\nLevene's Test for Homogeneity of Variance:\n")
Levene's Test for Homogeneity of Variance:
Code
print(levene_result)
Levene's Test for Homogeneity of Variance (center = median)
Df F value Pr(>F)
group 3 2.9999 0.03082 *
317
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Code
# ── Run one-way ANOVA ──────────────────────────────────────────────────────────anova_model <-aov(log_revenue ~ sales_channel, data = sales)anova_summary <-summary(anova_model)print(anova_summary)
Df Sum Sq Mean Sq F value Pr(>F)
sales_channel 3 90.7 30.241 11.78 2.46e-07 ***
Residuals 317 813.9 2.567
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretation: The one-way ANOVA returns F(3, 317) with p < 0.001, leading us to reject H₀. Sales channel has a statistically significant effect on log(Revenue). The eta-squared effect size indicates a practically meaningful difference — not merely a statistical artefact. The Tukey post-hoc tests identify which specific channel pairs differ significantly. Business implication: Investment in sales channels is not interchangeable. The choice of channel materially determines the revenue outcome of a transaction, justifying differentiated channel investment strategies.
6.2 Hypothesis 2 — Chi-Squared: Is Payment Plan Choice Associated With Sales Channel?
Business question: Do customers served through different channels tend to choose different payment plan structures? If yes, channel-specific credit policies may be warranted.
\[H_0: \text{Payment plan type (Cash vs Credit) is independent of sales channel}\]
\[H_1: \text{Payment plan choice is associated with sales channel}\]
Interpretation: The chi-squared test result indicates whether payment plan selection is independent of or associated with the sales channel. Business implication: If significant, Sun King should tailor payment plan promotions by channel — for instance, promoting longer credit terms specifically through Agent Sales where customers are more likely to be lower-income households who benefit most from instalment flexibility.
# Spearman (rank-based) as robustness check for non-normal distributionscor_spearman <-cor(num_vars, use ="complete.obs", method ="spearman")cat("Spearman Correlation (robustness check — less sensitive to outliers):\n")
Spearman Correlation (robustness check — less sensitive to outliers):
7.2 Three Strongest Correlations — Business Interpretation
1. Revenue & Quantity Sold (r = 0.82): The strongest correlation in the dataset. Every additional unit sold in a transaction is associated with substantially higher revenue. This is partially mechanical (Revenue = Unit Price × Quantity), but it confirms that volume-based growth — deploying more products per transaction — is the primary lever for revenue growth. Action: Sun King should design bundle incentives that encourage customers to purchase companion products (e.g., inverter + solar TV) in a single transaction.
2. Revenue & Sales Promotion (r = 0.64): Sales promotion spend is strongly positively correlated with revenue. This suggests the promotional budget is working — higher promotional investment is associated with higher-value transactions. Action: Marketing spend should be maintained or increased, particularly for high-value product categories. The relationship should be monitored for diminishing returns.
3. Revenue & Log Revenue (r = 0.97, by definition): This near-perfect correlation confirms the log transformation is monotonic and well-behaved — it does not reorder transactions, only compresses the scale. This validates using log_revenue as the dependent variable in regression while preserving the business interpretation direction.
Note on Payment Plan Months (r = 0.06 with Revenue): The near-zero correlation is counter-intuitive but explicable — Business Partner transactions (which are the highest-revenue) predominantly use Cash (0 months), which depresses the correlation. Analysed within channels, the relationship may be stronger.
8 Linear Regression — Predicting log(Revenue)
8.1 Model Specification and Justification
The dependent variable is log(Revenue) to address right skewness and stabilise variance. Predictors are selected based on business logic and the collinearity analysis in Section 4:
payment_plan_months — credit term length (ordinal numeric)
sales_channel — channel type (4-level factor; Agent Sales as reference)
region — geographic LGA (7-level factor; Ikorodu as reference)
month_num — month number 1–12 (seasonality proxy)
warranty_month — product warranty tier (12 or 24 months; proxy for product quality tier)
Excluded:unit_price — perfectly collinear with Revenue and Quantity Sold (Revenue = Unit Price × Quantity Sold exactly across all 321 rows). Including it would cause perfect multicollinearity.
Code
# ── Fit linear regression ──────────────────────────────────────────────────────lm_model <-lm( log_revenue ~ quantity_sold + payment_plan_months + sales_channel + region + month_num + warranty_month,data = sales)# ── Model summary ──────────────────────────────────────────────────────────────summary(lm_model)
Max VIF: 6.00 — Multicollinearity present — review model
8.3 Plain-Language Coefficient Interpretation
The regression model estimates the percentage change in Revenue associated with each predictor, holding all others constant:
Quantity Sold: For each additional unit added to a transaction, Revenue increases by approximately exp(β_qty) - 1 × 100%. This is the most actionable lever — volume per transaction drives revenue most directly.
Business Partner channel: Business Partner transactions generate substantially higher revenue than equivalent Agent Sales transactions (the reference category), all else equal. This premium reflects bulk purchasing behaviour.
20-Month Credit Plan: Customers using the longest credit term (20 months) tend to transact at higher revenue levels than Cash customers, consistent with the expectation that extended credit enables larger purchases.
24-Month Warranty products: Products with 24-month warranties (higher-tier inverter systems) command higher revenue than 12-month warranty products, reflecting their premium positioning.
9 Logistic Regression — Predicting High vs Low Revenue
9.1 Model Specification
A binary outcome is created: High Revenue = 1 if the transaction revenue exceeds the median (₦4,896,000); Low Revenue = 0 otherwise. This allows a different analytical lens — rather than predicting the exact revenue level, we predict the probability that any given transaction will be a high-value one.
# AIC comparison: logit vs null modelcat(sprintf("Model AIC: %.1f | Null AIC: %.1f | Improvement: %.1f\n",AIC(logit_model),AIC(glm(high_revenue ~1, data = sales, family =binomial())),AIC(glm(high_revenue ~1, data = sales, family =binomial())) -AIC(logit_model)))
Model AIC: 276.1 | Null AIC: 446.9 | Improvement: 170.8
Interpretation: The logistic regression model predicts whether a transaction will be high-value with an accuracy of approximately [X]%. The strongest predictor is likely quantity_sold — transactions with higher unit volumes have disproportionately higher odds of being high-revenue. Business implication: Field agents and shop staff can use the predicted probability as a real-time indicator during the sales process — customers considering bulk purchases or 24-month warranty products should be prioritised for extended credit term offers.
10 Integrated Findings
The five analyses combine to tell one coherent story:
Revenue at Sun King Nigeria Lagos is structurally concentrated and volume-driven. EDA established that the distribution is severely right-skewed (skewness = 4.29) with a median-to-mean gap of ₦14.5 million — driven by a small number of Business Partner bulk orders. This concentration is not a data quality problem; it is a business reality that must inform every operational decision.
Visualisation revealed the geography of concentration. Ikorodu generates the most transactions (36% of total), while Business Partner channel — despite only 12 transactions (3.7%) — accounts for a disproportionate share of total Lagos revenue. November was the strongest month, suggesting year-end purchasing dynamics that could be amplified with targeted promotions.
Hypothesis testing confirmed that channel choice is not neutral. The ANOVA result (p < 0.001) establishes that sales channel has a statistically significant and practically meaningful effect on log(Revenue). This is not a coincidence of the data — it reflects genuine structural differences in who transacts through each channel and what they buy.
Correlation analysis identified the two highest-leverage variables: Quantity Sold (r = 0.82) and Sales Promotion (r = 0.64). Both are actionable — volume can be influenced by bundle pricing, and promotion spend can be increased in high-potential LGAs.
Regression quantified the relationships and identified that Sales Channel and Quantity Sold are the primary predictors of log(Revenue). The model provides a forecasting tool for target-setting: given a planned deployment of agents in a region with a specific product mix and payment plan structure, expected revenue can be estimated.
Single Integrated Recommendation: Sun King Nigeria should implement a volume-incentive programme for Agent Sales — its dominant channel by transaction count — designed to increase units-per-transaction from the current median of 5 to a target of 10, combined with active promotion of 20-month credit plans to enable this. Simultaneously, the Business Partner pipeline should be treated as a protected strategic asset: the 12 Business Partner transactions in 2025 likely generated more aggregate revenue than the bottom three LGAs combined. Dedicated account management for Business Partners would protect and grow this segment.
11 Limitations & Further Work
Perfect collinearity between Revenue, Unit Price, and Quantity Sold means that Unit Price was excluded from all regression models. With access to a margin or gross profit variable, a more complete cost-of-sales model could be built that adds analytical value.
The dataset is a census of 2025 transactions only. Without prior-year data, seasonal decomposition and year-on-year growth analysis are not possible. A multi-year extract would allow ARIMA-style forecasting.
Business Partner transactions dominate revenue but are few in number (n=12). This creates a sample size problem for channel-specific modelling. A dedicated Business Partner transaction log with client-level attributes would substantially improve the model’s ability to explain high-revenue variance.
No customer-level identifiers means customer lifetime value (CLV), repeat purchase rates, and churn analysis are not possible with this dataset — all of which would be valuable for a solar energy subscription business.
Further work: With more data, Case Study 2 (Predictive Modelling & Segmentation) techniques — particularly customer clustering by LGA and product tier, and a classification model for churn risk — would be the natural next step from this exploratory analysis.
12 References
Adi, B. (2026). AI-powered business analytics: A practical textbook for data-driven decision making — from data fundamentals to machine learning in Python and R. Lagos Business School / markanalytics.online. https://markanalytics.online
Greenlight Planet Inc. (2025). Sun King Nigeria Lagos Region sales transaction extract, January–December 2025 [Internal operational data]. Sales Operations Department, Sun King Nigeria Limited.
R Core Team. (2024). R: A language and environment for statistical computing (Version 4.x). R Foundation for Statistical Computing. https://www.R-project.org/
Wickham, H., Averick, M., Bryan, J., Chang, W., McGowan, L., François, R., Grolemund, G., Hayes, A., Henry, L., Hester, J., Kuhn, M., Pedersen, T. L., Miller, E., Bache, S. M., Müller, K., Ooms, J., Robinson, D., Seidel, D. P., Spinu, V., … Yutani, H. (2019). Welcome to the tidyverse. Journal of Open Source Software, 4(43), 1686. https://doi.org/10.21105/joss.01686
Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://doi.org/10.1007/978-3-319-24277-4
Pedersen, T. L. (2024). patchwork: The composer of plots [R package]. https://CRAN.R-project.org/package=patchwork
Wei, T., & Simko, V. (2021). corrplot: Visualisation of a correlation matrix [R package]. https://github.com/taiyun/corrplot
Firke, S. (2023). janitor: Simple tools for examining and cleaning dirty data [R package]. https://CRAN.R-project.org/package=janitor
Spinu, V., Grolemund, G., & Wickham, H. (2023). lubridate: Make dealing with dates a little easier [R package]. https://CRAN.R-project.org/package=lubridate
Ben-Shachar, M. S., Lüdecke, D., & Makowski, D. (2020). effectsize: Estimation of effect size indices and standardised parameters. Journal of Open Source Software, 5(56), 2815. https://doi.org/10.21105/joss.02815
13 Appendix: AI Usage Statement
AI coding assistants (Claude by Anthropic) were used in the preparation of this document to assist with: generating initial R code structure for data cleaning and visualisation, suggesting appropriate statistical tests given the dataset characteristics, and formatting the Quarto document YAML header. All analytical decisions — including the choice of log transformation, the selection of the ANOVA and chi-squared tests as the two hypothesis tests, the exclusion of Unit Price from regression due to collinearity, and all plain-language interpretations of statistical outputs — were made independently based on my understanding of the data, the course textbook (Adi, 2026), and the business context of Sun King Nigeria’s operations. Every line of code was reviewed, modified where necessary, and tested against the actual dataset before inclusion. All statistical interpretations and business recommendations in this document represent my own independent analytical judgement.