Skip to content

LeonardGeorgescuGL/Proiect-Pachete-Software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Proiect Pachete Software — Analiza Vanzarilor Amazon

Proiect academic realizat in cadrul cursului Pachete Software: Dezvoltarea Aplicatiilor pentru Analiza Datelor si Machine Learning in Python si SAS, Facultatea de Cibernetica, Statistica si Informatica Economica.


Descriere generala

Proiectul analizeaza un set de date comerciale de pe platforma Amazon, acoperind comenzi din mai multe categorii de produse, regiuni geografice si metode de plata. Analiza este realizata in doua medii complementare: SAS pentru prelucrarea statistica si raportarea institutionala, si Python cu Streamlit pentru vizualizarea interactiva si modelele de machine learning.


Setul de date

Fisierul amazon_sales.csv contine inregistrari despre comenzi realizate pe Amazon.

Variabila Tip Descriere
order_id Numeric Identificatorul unic al comenzii
product_id Numeric Identificatorul unic al produsului
product_category Text Categoria produsului (Books, Fashion, Sports, Beauty, Electronics)
price Numeric Pretul original in USD
discount_percent Numeric Procentul de reducere aplicat (0-50%)
quantity_sold Numeric Cantitatea vanduta per comanda
customer_region Text Regiunea geografica a clientului
payment_method Text Metoda de plata (UPI, Credit Card, Wallet, Debit Card)
rating Numeric Ratingul acordat de client (1-5)
review_count Numeric Numarul total de recenzii
discounted_price Numeric Pretul dupa aplicarea reducerii in USD
total_revenue Numeric Venitul total generat de comanda in USD
profit Numeric Profitul net al comenzii in USD

Componenta SAS

Ce face

Codul SAS acopera 10 facilitati demonstrate pe datele Amazon, organizate secvential intr-un singur fisier .sas.

Facilitatile implementate

1. Creare si import date — LIBNAME pentru biblioteca permanenta, PROC IMPORT pentru citirea fisierului CSV cu detectie automata a antetului.

2. Formate definite de utilizator — PROC FORMAT cu formate caracter ($regiune_fmt, $plata_fmt) si numerice cu intervale (rating_fmt, profit_fmt) pentru etichetare descriptiva in rapoarte.

3. Procesare iterativa si conditionala — Pas DATA cu IF-THEN-ELSE pentru clasificarea comenzilor in segmente (Scazut/Mediu/Ridicat/Premium), bucla DO iterativa pentru calculul comisionului per unitate vanduta, calcul marja procentuala si flag comanda mare.

4. Creare subseturi — Patru seturi de date filtrate prin WHERE: produse cu rating excelent, comenzi din occident, promotii profitabile si categorii specifice.

5. Functii SAS — Functii numerice (ROUND, INT, ABS, SQRT, LOG), statistice (MEAN, MAX, MIN, SUM), text (UPCASE, LOWCASE, LENGTH, SUBSTR) si conditionale (IFN, IFC).

6. Combinarea seturilor de date — MERGE SAS cu sortare prealabila pentru fuziune one-to-many, si PROC SQL cu LEFT JOIN, GROUP BY, CASE WHEN si alias CALCULATED.

7. Masive (Arrays) — Normalizare Min-Max simultana pe 4 variabile prin ARRAY cu TEMPORARY, calcul scor compus ponderat, sistem de alerte pe praguri multiple.

8. Proceduri pentru raportare — PROC FREQ cu test Chi-Patrat, PROC TABULATE multidimensional, PROC REPORT cu RBREAK si PROC MEANS cu statistici complete pe grupuri.

9. Proceduri statistice — PROC CORR cu matrice Pearson, PROC REG cu selectie stepwise si VIF, PROC ANOVA cu post-test Tukey, PROC UNIVARIATE cu teste de normalitate, PROC TTEST pentru doua esantioane independente.

10. Grafice — PROC SGPLOT pentru histograma cu curbe de densitate, scatter plot cu grupare si dreapta de regresie, bar chart ordonat si box plot cu linie de referinta; PROC SGSCATTER pentru matricea de scatter plot-uri.

Rulare

Se deschide fisierul analiza_amazon.sas in SAS Studio si se apasa Run. Biblioteca permanenta se creeaza automat la calea /home/u64501249/SASProjectPS. Setul de date amazon_sales.csv trebuie sa se afle in acelasi director.


Componenta Python

Ce face

Aplicatia web construita cu Streamlit ofera o interfata interactiva pentru explorarea aceluiasi set de date Amazon, cu un pipeline de preprocesare configurabil de catre utilizator si patru modele de machine learning comparate in timp real.

Instalare

git clone <url-repository>
cd amazon_app
pip install -r requirements.txt
streamlit run Home.py

Dupa pornire, aplicatia se deschide automat in browser la http://localhost:8501. Se incarca fisierul amazon_sales.csv de pe pagina principala.

Pagini

Home — incarcare CSV cu persistenta prin st.session_state, previzualizare date si statistici sumare (numar comenzi, categorii, venit total, profit total, rating mediu).

Dashboard — filtrare dinamica in timp real (regiune, categorie, discount maxim, toggle produse top), KPI financiari, grafic donut profit pe regiuni (Plotly), distributie metode de plata (Matplotlib) si export CSV filtrat.

Preprocesare — pipeline interactiv in 4 pasi configurabili:

  • Pasul 1: tratarea valorilor lipsa (Mean, Median, KNN Imputer) cu simulare pe date complete
  • Pasul 2: detectia si tratarea outlierilor (IQR, Capping la percentile, Eliminare) cu boxplot interactiv
  • Pasul 3: encoding variabile categoriale (Label Encoding sau One-Hot Encoding) cu preview coloane rezultate
  • Pasul 4: scalare (StandardScaler, MinMaxScaler sau fara scalare) cu histograma de previzualizare

Alegerile facute in preprocesare se salveaza in st.session_state si influenteaza direct modelele din pagina urmatoare.

Machine Learning — patru modele antrenate pe datele preprocesate:

Model Tip Target Metrici
Regresia Liniara Supervizat — Regresie profit R², RMSE, MAE, coeficienti
Random Forest Supervizat — Regresie profit R², RMSE, feature importance
Regresia Logistica Supervizat — Clasificare Segment profit (Low/Med/High) Accuracy, F1, matrice confuzie
PCA + Clustering Ierarhic Nesupervizat Dendrograma, profile clustere

Fiecare model include interpretare ghidata a rezultatelor. Sectiunea de comparatie directa antreneaza simultan toate cele 3 modele supervizate pe acelasi split si compara R² si Accuracy intr-un singur tabel.

Tehnologii

Tehnologie Versiune Scop
Python 3.12 Backend
Streamlit >= 1.32 Interfata web interactiva
Pandas >= 2.0 Manipulare si curatare date
Plotly >= 5.18 Grafice interactive
Matplotlib >= 3.8 Grafice statice (dendrograma)
Scikit-learn >= 1.4 Modele ML, scalare, encoding, PCA
SciPy >= 1.12 Clustering ierarhic (linkage, dendrogram)
NumPy >= 1.26 Operatii numerice

Cerinte

  • Python 3.12+
  • SAS Studio (SAS OnDemand for Academics sau instalare locala)
  • Fisierul amazon_sales.csv prezent in directoarele corespunzatoare

Context academic

Proiect realizat la Facultatea de Cibernetica, Statistica si Informatica Economica, in cadrul cursului Pachete Software. Datele sunt sintetice si folosite exclusiv in scop educational.

Releases

No releases published

Packages

 
 
 

Contributors