EdwardSamuel13 commited on
Commit
8f69dec
·
verified ·
1 Parent(s): 021d131

Upload 14 files

Browse files
README.md CHANGED
@@ -1,19 +1,54 @@
1
  ---
2
  title: Business Analytics Dashboard
3
- emoji: 🚀
4
- colorFrom: red
5
- colorTo: red
6
- sdk: docker
7
- app_port: 8501
8
- tags:
9
- - streamlit
10
  pinned: false
11
- short_description: Streamlit template space
12
  ---
13
 
14
- # Welcome to Streamlit!
15
 
16
- Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:
17
 
18
- If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
19
- forums](https://discuss.streamlit.io).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  title: Business Analytics Dashboard
3
+ emoji: 📊
4
+ colorFrom: blue
5
+ colorTo: indigo
6
+ sdk: streamlit
7
+ sdk_version: 1.38.0
8
+ app_file: src/dashboard.py
 
9
  pinned: false
 
10
  ---
11
 
12
+ # Integrated Business Analytics Dashboard
13
 
14
+ This is a comprehensive Business Analytics tool that combines traditional data analytics with AI-powered insights.
15
 
16
+ ## Features
17
+
18
+ - **📊 Overview**: Real-time KPIs and recent activity tracking.
19
+ - **📈 Sales Performance**: Interactive charts for revenue trends, category performance, and top products.
20
+ - **👥 Customer Segmentation**: RFM (Recency, Frequency, Monetary) analysis using K-Means clustering.
21
+ - **🔮 Forecasting**: Sales forecasting using Linear Regression.
22
+ - **💬 Feedback Analysis**: Sentiment analysis of customer reviews.
23
+ - **🤖 Business Q&A**: AI-powered RAG (Retrieval-Augmented Generation) system to answer questions about your data.
24
+
25
+ ## Tech Stack
26
+
27
+ - **Frontend**: Streamlit
28
+ - **Visualization**: Plotly
29
+ - **Machine Learning**: Scikit-learn, TextBlob
30
+ - **AI/RAG**: LangChain, FAISS, Hugging Face Transformers (Flan-T5)
31
+
32
+ ## Local Installation
33
+
34
+ 1. Clone the repository.
35
+ 2. Install dependencies:
36
+ ```bash
37
+ pip install -r requirements.txt
38
+ ```
39
+ 3. Run the application:
40
+ ```bash
41
+ streamlit run src/dashboard.py
42
+ ```
43
+
44
+ ## Data
45
+
46
+ The application uses synthetic data located in the `data/` directory:
47
+ - `sales_data.csv`: Transaction records.
48
+ - `customer_reviews.csv`: User feedback and ratings.
49
+ - `web_logs.json`: Web traffic logs.
50
+
51
+ To regenerate data, run:
52
+ ```bash
53
+ python src/data_gen.py
54
+ ```
data/customer_reviews.csv ADDED
@@ -0,0 +1,501 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ReviewID,CustomerID,Product,Rating,ReviewText,Date
2
+ 6f535f89-e401-4e0f-8939-ef9bead7bec5,1154,Headphones,1,Broken on arrival. Very disappointed.,2026-01-01
3
+ 5ed73ae0-fc41-4175-8ff2-51cf06269f70,1108,Desk Chair,1,Broken on arrival. Very disappointed.,2026-01-01
4
+ 0d4fc743-d57d-4102-b716-d7619179703b,1030,Headphones,3,"The Headphones is okay, but could be better.",2026-01-03
5
+ 9f23403a-42f5-410a-a544-29c630137a80,1095,Monitor,2,Customer service was unhelpful.,2026-01-03
6
+ 905d6a69-e879-47ac-97f4-f88cddfe9121,1056,Headphones,5,Good value for money. The Headphones exceeded my expectations.,2026-01-02
7
+ f8187871-a730-4128-932a-b0f60cc7754d,1001,Coffee Maker,1,The Coffee Maker stopped working after two days.,2026-01-01
8
+ 4ab1ab59-54f0-4ec2-a61f-c0611bb85112,1101,Headphones,5,Good value for money. The Headphones exceeded my expectations.,2026-01-01
9
+ e64e2b2d-c97e-4828-9850-a65279a6470c,1136,Laptop,5,Fast shipping and great service.,2026-01-03
10
+ a46c9460-b55f-4e5d-a502-fd39b0e0565a,1016,Headphones,1,Customer service was unhelpful.,2026-01-02
11
+ f39fe641-377c-45a4-8c7d-5796e0b5ddd0,1135,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
12
+ c1e08486-a390-49f4-93bb-52ab8273400c,1187,Smartphone,2,Customer service was unhelpful.,2026-01-03
13
+ a357ba67-415a-46b4-892c-e47f09251906,1018,Coffee Maker,1,Customer service was unhelpful.,2026-01-01
14
+ 3df31349-459d-4fb5-8fba-42444827075f,1017,Smartphone,1,Terrible experience with this Smartphone.,2026-01-02
15
+ 824bef98-e4c4-4882-a28c-dff867d9c8e4,1088,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-01
16
+ 5486334b-d569-4a38-b6ac-f970afe6052b,1049,Laptop,4,Good value for money. The Laptop exceeded my expectations.,2026-01-02
17
+ 4641baf6-1a60-4807-a78f-49f2a261d6dc,1132,Keyboard,5,Fast shipping and great service.,2026-01-02
18
+ 7544d3e6-4f6f-427a-ba31-1b7e379d2349,1082,Laptop,5,"The Laptop is amazing, 5 stars!",2026-01-02
19
+ 0ac4a07c-3274-4991-8cc8-c8078174a096,1160,Smartphone,4,"The Smartphone is amazing, 5 stars!",2026-01-02
20
+ 673fb5b0-ec13-4f07-9a65-5ef60313e3ef,1133,Monitor,5,"The Monitor is amazing, 5 stars!",2026-01-03
21
+ 728768d1-4826-4846-a1a5-9adc5158cb86,1029,Keyboard,5,"Excellent quality, highly recommended.",2026-01-02
22
+ 8c85af35-7367-42c7-90cd-e5c3d73e5632,1068,Keyboard,4,"The Keyboard is amazing, 5 stars!",2026-01-01
23
+ 9bb2e446-ed59-4398-b649-ff09175991ea,1010,Mouse,2,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-01
24
+ e9721813-ca51-4e9e-b66c-46ebe379cc86,1169,Headphones,1,Customer service was unhelpful.,2026-01-01
25
+ 86f106d9-9b37-46cf-a5bf-ca3367a0deec,1178,Monitor,2,Terrible experience with this Monitor.,2026-01-02
26
+ 7bd5ea4d-3446-4700-b40a-6f51a555a445,1180,Keyboard,1,Terrible experience with this Keyboard.,2026-01-01
27
+ 5da5f675-1b50-44d6-97e9-a4136f993420,1133,Coffee Maker,5,Fast shipping and great service.,2026-01-03
28
+ cc80543a-fb1f-45e8-ac9e-7b8763a6b06f,1133,Mouse,3,"The Mouse is okay, but could be better.",2026-01-03
29
+ 91999d5f-15ce-4849-9ce1-f3af6c22167b,1147,Coffee Maker,4,I love this Coffee Maker! It works great.,2026-01-02
30
+ 70443480-62a8-4555-94e4-085ed39c2bfc,1092,Mouse,3,"The Mouse is okay, but could be better.",2026-01-02
31
+ 33b3f445-8574-4b9c-b67a-8172bc603788,1170,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
32
+ 79fb464e-10cf-403f-a9f0-517b28eab54a,1011,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-03
33
+ 5534f77d-0730-4155-9d65-fdf25223111f,1138,Keyboard,1,Not worth the money. Analyzing the Keyboard shows poor build quality.,2026-01-01
34
+ 5b460364-416d-4a26-b089-0e765ffb0456,1165,Coffee Maker,2,The Coffee Maker stopped working after two days.,2026-01-02
35
+ 6c070379-5907-4268-968b-42cc112532b3,1084,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-02
36
+ 5e9f40f8-8ba1-4407-a663-3334b4a17f7a,1064,Desk Chair,1,Customer service was unhelpful.,2026-01-02
37
+ 3f59dfa0-fcc5-44be-bd4a-5466f3acca68,1149,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-02
38
+ 82599c87-c2d6-4063-853d-1c4697e058b9,1042,Monitor,1,The Monitor stopped working after two days.,2026-01-01
39
+ a8d23fe2-6672-4dfa-a34d-2c5028c2cbfc,1037,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
40
+ b34d5ab6-c6da-479b-a7c9-b4b377d70311,1124,Laptop,2,Broken on arrival. Very disappointed.,2026-01-02
41
+ ae6af388-1108-4e17-8b16-a65d8f3f329b,1085,Desk Chair,4,"The Desk Chair is amazing, 5 stars!",2026-01-02
42
+ 6ce1edee-edd4-4209-8486-fb1bd07b7724,1110,Laptop,4,Good value for money. The Laptop exceeded my expectations.,2026-01-02
43
+ 3540a26d-de77-4d4f-9ad1-0cac7c20ecf5,1002,Coffee Maker,5,Good value for money. The Coffee Maker exceeded my expectations.,2026-01-03
44
+ 01a75e0a-33d0-43fd-86c0-0a8adffe2dbc,1039,Mouse,4,Fast shipping and great service.,2026-01-03
45
+ 2857d66d-345a-4c28-9749-f77e83f3c616,1119,Headphones,2,The Headphones stopped working after two days.,2026-01-01
46
+ 6e1450f9-625e-4ea8-8102-da6e7a9f143b,1152,Monitor,2,The Monitor stopped working after two days.,2026-01-02
47
+ 414ab65f-38d3-4674-a5b8-a9eccfa57f25,1082,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
48
+ bd185220-cf9e-48eb-9ef8-3d15a3521701,1182,Coffee Maker,2,Customer service was unhelpful.,2026-01-01
49
+ dff21807-2033-4e81-91e7-45ff2a23a71c,1133,Monitor,2,Terrible experience with this Monitor.,2026-01-02
50
+ 1b434750-6d2d-4441-8cc1-47aff181dd0c,1062,Headphones,3,"The Headphones is okay, but could be better.",2026-01-01
51
+ d1748912-7794-458e-8b5b-bbfdcdc54cae,1049,Headphones,4,"Excellent quality, highly recommended.",2026-01-03
52
+ ea855d66-8900-4547-81f5-9debea4ee2dd,1145,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
53
+ b8d8f1ab-e2d0-4788-a004-0a2678ce872d,1003,Smartphone,5,Fast shipping and great service.,2026-01-02
54
+ 39485a8a-d422-4f59-83f9-7e6074e8fa93,1143,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
55
+ f33bc9d7-2abb-4647-9838-6f30b70bda21,1124,Smartphone,2,Terrible experience with this Smartphone.,2026-01-03
56
+ eb7b8ad8-74b4-4650-b819-bc8179a130ba,1192,Smartphone,4,Good value for money. The Smartphone exceeded my expectations.,2026-01-03
57
+ e0fa546a-1ef1-4fc1-9daf-231bc1737ba6,1195,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-02
58
+ 20d6697c-51ac-4149-a3e4-b52d4ae09629,1178,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
59
+ ebea2850-8103-465e-a708-7c377b1137b3,1100,Mouse,2,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-01
60
+ 0fbd0e7f-9a40-413b-87bd-55950047dfb9,1003,Laptop,4,Good value for money. The Laptop exceeded my expectations.,2026-01-02
61
+ 12bc2507-257c-4b02-953b-d49ae84b5e24,1013,Laptop,4,I love this Laptop! It works great.,2026-01-03
62
+ 4756228e-db88-4d27-b761-4545243d0405,1037,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-01
63
+ 7d25eadb-4a4e-46c1-acd5-b1384b927128,1056,Laptop,4,I love this Laptop! It works great.,2026-01-03
64
+ 594ae000-0d44-4b64-b6dd-2650ad84fd1a,1190,Desk Chair,2,The Desk Chair stopped working after two days.,2026-01-02
65
+ b115d7e2-d257-449c-9948-bf577bc1f7cb,1170,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
66
+ c1e464fb-180c-4ae3-b83b-0d47fc46d1b7,1159,Coffee Maker,1,The Coffee Maker stopped working after two days.,2026-01-03
67
+ e73e153d-b639-4107-88a0-c691ed8c24b2,1110,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
68
+ 9522eda1-9462-49de-ad87-f3d71ecc9af6,1162,Monitor,4,"The Monitor is amazing, 5 stars!",2026-01-02
69
+ b5b3ecb5-5d61-462d-a04e-86b11bbbefac,1157,Keyboard,2,Not worth the money. Analyzing the Keyboard shows poor build quality.,2026-01-02
70
+ 6713250d-6615-42bb-8599-f9ca5990e243,1198,Headphones,4,Fast shipping and great service.,2026-01-02
71
+ 9b751b4f-0a6a-4930-8bc6-5ea5681ec744,1157,Mouse,3,"The Mouse is okay, but could be better.",2026-01-03
72
+ dacd40ba-8625-4bc0-a0ac-34f2ae672648,1061,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-01
73
+ 041dac52-4419-42d6-876b-25ad499e52b5,1005,Coffee Maker,5,Good value for money. The Coffee Maker exceeded my expectations.,2026-01-02
74
+ 29568c67-26ff-42a1-9ddc-7abbb6a16061,1073,Coffee Maker,2,Customer service was unhelpful.,2026-01-03
75
+ 613ea092-aca9-4f9e-bc85-9916236ed0d0,1175,Mouse,5,"Excellent quality, highly recommended.",2026-01-03
76
+ 757a0380-c7c3-4b29-b23f-2ffd5d51ca84,1160,Mouse,4,"The Mouse is amazing, 5 stars!",2026-01-01
77
+ 208f2390-2eab-453e-b1ce-8621f50a455f,1023,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
78
+ 3e6ebd2c-4224-470e-829f-06c71370b983,1160,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-03
79
+ 5ca1eca4-0570-47f6-b56a-64f90366a89e,1178,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-01
80
+ 6bdc8206-3e45-49c1-abf8-96587a6dfc6d,1013,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
81
+ c9e116b9-7e2a-40da-95a6-b3ef1d3042ee,1164,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
82
+ f1d6d202-e86a-4ba5-9526-52ea1d4211f8,1085,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-01
83
+ 0b3a2953-189f-4e7e-b3bc-c2dabec6d834,1018,Mouse,4,Good value for money. The Mouse exceeded my expectations.,2026-01-02
84
+ 26c1a108-e8d6-4cf7-942c-80a2b5767c1a,1108,Monitor,1,Customer service was unhelpful.,2026-01-01
85
+ 2271e3be-085e-4fbc-8100-dc0807ddebf3,1103,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-02
86
+ 357cc20c-b7bf-4181-9262-d5ac8f7e91de,1172,Keyboard,5,Fast shipping and great service.,2026-01-01
87
+ 56156797-e8e4-45ae-b7fe-7355d83df6ae,1154,Smartphone,4,Good value for money. The Smartphone exceeded my expectations.,2026-01-02
88
+ da98948d-eb23-4938-8e6a-0b5edd0f73e8,1053,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
89
+ 8019cce7-81f2-4460-89fd-5ee55192afa7,1183,Laptop,4,Good value for money. The Laptop exceeded my expectations.,2026-01-01
90
+ 16d9aa91-e4f9-4c65-bdf3-7d455bb0273f,1154,Laptop,1,Customer service was unhelpful.,2026-01-01
91
+ 6725be25-9209-4726-889f-c7771b9894c5,1121,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
92
+ 62684b43-408c-480d-9175-b167175ec2b5,1063,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
93
+ ec93993b-815f-4816-b5fc-4489e5706947,1106,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
94
+ 489c0d72-da62-4326-a328-9f93a231a9d9,1174,Headphones,1,The Headphones stopped working after two days.,2026-01-03
95
+ 05dfc5bb-27e0-4d66-8ff3-bf723d74e8cc,1054,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
96
+ 7eaed43c-f320-494e-beb2-b833f141dd13,1178,Headphones,4,Good value for money. The Headphones exceeded my expectations.,2026-01-01
97
+ 6c5c3ffe-685c-40b7-a84b-588ed139b53f,1094,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-01
98
+ 4f74edc2-2459-42f9-84b8-fcb2c75795ba,1101,Headphones,1,Customer service was unhelpful.,2026-01-02
99
+ e393a344-dbba-4c4f-838c-f5de55443efb,1152,Smartphone,5,Good value for money. The Smartphone exceeded my expectations.,2026-01-03
100
+ 7f80dbce-b879-44be-bd0e-6b7b2a9c37e3,1172,Mouse,4,Good value for money. The Mouse exceeded my expectations.,2026-01-01
101
+ cf937908-0a15-479a-80ab-4b074a43e10c,1009,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
102
+ a8677ad1-ace0-4b86-bc11-330ae16dac5b,1037,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
103
+ 0cb484d4-aa00-4ba5-a420-a2868bcd7eb4,1023,Keyboard,5,"The Keyboard is amazing, 5 stars!",2026-01-01
104
+ ca37973b-6082-4fe9-bf0c-6693aaa25864,1005,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-01
105
+ 8f39f8f3-062a-4d31-96d7-aa0116052cda,1197,Mouse,2,Customer service was unhelpful.,2026-01-02
106
+ 24ab6f4d-d2eb-45a1-b55e-632947a13168,1127,Smartphone,5,I love this Smartphone! It works great.,2026-01-03
107
+ a6d5f800-f450-466c-a690-a17c1d529926,1052,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
108
+ b231e7d7-a51c-47a2-a10d-3cfd0e98ddb8,1186,Mouse,4,Good value for money. The Mouse exceeded my expectations.,2026-01-01
109
+ e60aada1-51fd-498f-bc06-57a9fd04a25c,1108,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
110
+ 61a2bcaa-3791-4d72-a8d9-fd15a7cbe0b3,1154,Coffee Maker,5,Fast shipping and great service.,2026-01-03
111
+ 3365d25b-e592-4f7a-9525-aa88c33b88b0,1004,Desk Chair,4,"The Desk Chair is amazing, 5 stars!",2026-01-01
112
+ b8ee0531-0e8e-4ab3-8ee7-0218e83608fe,1010,Coffee Maker,4,"The Coffee Maker is amazing, 5 stars!",2026-01-02
113
+ 985e4886-d21d-4696-86bd-20ac0d6b15ec,1151,Monitor,2,Broken on arrival. Very disappointed.,2026-01-01
114
+ 8562f3ab-7180-4487-8d94-508a10e32e3b,1030,Headphones,3,"The Headphones is okay, but could be better.",2026-01-03
115
+ 4f49fa99-f0c5-4bf8-8f3e-297f00e8c059,1137,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-03
116
+ a4c956c8-86d7-4a32-ac69-da1d0b7b9c01,1060,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
117
+ 108109b5-4757-4291-b3ab-bd8bb2f2feb7,1086,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
118
+ c18918c6-99a2-4e9a-b17d-c180e17adfd9,1047,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-02
119
+ bd561a8e-9f23-4324-8cf2-4f5aaed55726,1059,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
120
+ 387ae2d2-b4ce-43c1-8333-fe5aec6808bc,1163,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
121
+ 3e10a57c-16a9-46ed-acb8-fa646acaefa5,1198,Mouse,3,"The Mouse is okay, but could be better.",2026-01-02
122
+ ea8b6d73-88a6-4f33-ab9e-ebab64d72967,1165,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-01
123
+ 1514b88a-cf8e-4af3-89f3-5c9d8308450e,1036,Smartphone,4,Fast shipping and great service.,2026-01-03
124
+ 6dd8cccc-a29b-4628-aca4-1c10231956a8,1134,Desk Chair,1,Customer service was unhelpful.,2026-01-01
125
+ dd7edcf9-fbf0-4c30-9a61-73ed594a4f2e,1195,Coffee Maker,5,"Excellent quality, highly recommended.",2026-01-02
126
+ e4e5ab2a-7578-4b4d-87a1-9d754d97f351,1179,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
127
+ d8c828ac-753f-4434-84e3-f86241a5b2f0,1001,Keyboard,4,"The Keyboard is amazing, 5 stars!",2026-01-03
128
+ 3864cb10-b7c2-4f92-a94e-ed3f58f49e90,1019,Monitor,4,I love this Monitor! It works great.,2026-01-03
129
+ 094d4ebd-1699-417f-bf74-1b09dcf85347,1090,Coffee Maker,1,Broken on arrival. Very disappointed.,2026-01-03
130
+ aca1c130-364b-479f-b266-92f68c6931d9,1200,Mouse,5,I love this Mouse! It works great.,2026-01-03
131
+ 9ce53da9-dcad-457e-8224-56cb3e9800fb,1111,Smartphone,4,"Excellent quality, highly recommended.",2026-01-02
132
+ 72a7410e-9acb-4437-b3ea-e5b5ee0bde13,1159,Smartphone,2,Terrible experience with this Smartphone.,2026-01-02
133
+ 183bee9b-23b6-4e8c-ba8e-2dec4a4b970c,1143,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
134
+ 4ef4ec7e-bf3b-41fb-9ff2-5e0dfcc8919e,1036,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
135
+ 79705db6-3b97-410d-9b3d-4cfa6c14b13e,1105,Desk Chair,1,The Desk Chair stopped working after two days.,2026-01-03
136
+ 075e3b87-a5cb-486d-9b21-6412dd0f46d4,1194,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
137
+ 7c5ed0a2-cff2-47e1-a7d1-35ce1a95a394,1110,Mouse,2,Customer service was unhelpful.,2026-01-02
138
+ 82538874-1929-452f-9de4-e5a0b0a9065c,1127,Headphones,1,Broken on arrival. Very disappointed.,2026-01-02
139
+ 201162af-e5df-4633-9ea6-d2a865ebbf76,1169,Laptop,5,Good value for money. The Laptop exceeded my expectations.,2026-01-02
140
+ 377c88a0-f54b-4abb-8f7c-5ca08aedea8a,1105,Monitor,5,"Excellent quality, highly recommended.",2026-01-03
141
+ 86a59dc3-8b74-4936-aeb4-88283c76c902,1171,Mouse,1,Customer service was unhelpful.,2026-01-03
142
+ ba8cb85a-1678-4aa2-864a-88a65b876aa9,1168,Laptop,2,The Laptop stopped working after two days.,2026-01-02
143
+ a3cf31f8-c845-49ef-86a3-cbf1e10c8e36,1042,Headphones,2,Customer service was unhelpful.,2026-01-02
144
+ 9795795d-2c01-4a94-a6c9-e45feca021c6,1041,Desk Chair,4,"Excellent quality, highly recommended.",2026-01-01
145
+ 71a05d6c-6f5a-4ff3-aea8-4a386cd44902,1132,Desk Chair,2,The Desk Chair stopped working after two days.,2026-01-03
146
+ 91e3644d-02dd-4c6b-83cf-176eb0ede2f5,1180,Laptop,2,Terrible experience with this Laptop.,2026-01-03
147
+ 65a72b5f-a4c1-4f91-b292-645931d8ec57,1022,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
148
+ 532a547f-d128-4916-bd50-8f47652a176a,1044,Smartphone,5,Good value for money. The Smartphone exceeded my expectations.,2026-01-01
149
+ 9a2b8246-a40d-480d-aab1-e0a98ce04298,1174,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
150
+ 9bf447c3-f7ab-4171-89ab-aadcb6d0f0ef,1001,Headphones,1,Customer service was unhelpful.,2026-01-02
151
+ 3de90fd9-956f-469b-94ae-02444a9b69e3,1082,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-02
152
+ 52ce32e8-22b5-4f37-9b2e-1e898913f2f0,1088,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
153
+ 26fcbc1d-7700-4e43-baf3-1f447a03d8a0,1112,Laptop,2,Customer service was unhelpful.,2026-01-01
154
+ 7efa38a5-d600-4c5a-9a6f-5a60f97ae55a,1098,Smartphone,2,Not worth the money. Analyzing the Smartphone shows poor build quality.,2026-01-01
155
+ 301e35cb-d6ae-4adf-8c8e-302106624e64,1143,Headphones,5,Good value for money. The Headphones exceeded my expectations.,2026-01-02
156
+ 064e97f5-883e-44a9-bdf7-1fc7f5a7d23e,1082,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
157
+ b5e8bbd4-eb1f-4ef5-928b-6ad3ec9d7658,1075,Monitor,4,"Excellent quality, highly recommended.",2026-01-01
158
+ e4564927-1bff-4bcd-b0d9-5dd6c5f0dfb3,1200,Laptop,4,I love this Laptop! It works great.,2026-01-02
159
+ 952ca2d1-8d2a-49c0-bb9b-cabf5464b135,1049,Mouse,3,"The Mouse is okay, but could be better.",2026-01-02
160
+ 239a6d42-d2ad-42a6-b411-d9d111e99ec4,1152,Coffee Maker,2,Customer service was unhelpful.,2026-01-03
161
+ de0e1824-5a3c-4a65-9ceb-bf94f2f1feb0,1102,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
162
+ 886a9dcb-88cd-465c-97c2-9048cd2aac5b,1113,Monitor,3,"The Monitor is okay, but could be better.",2026-01-01
163
+ fa1c6272-d76d-4de7-9d38-fbc5a5f625dd,1079,Keyboard,4,"The Keyboard is amazing, 5 stars!",2026-01-02
164
+ df7f6207-0e5b-4b91-8a14-a9f16db42d26,1167,Keyboard,1,Customer service was unhelpful.,2026-01-02
165
+ b7e90497-011d-4b99-8b28-82a5c61c3397,1155,Keyboard,5,I love this Keyboard! It works great.,2026-01-01
166
+ b439bcc8-9828-4c33-850f-a0b1430b3d76,1164,Smartphone,4,Good value for money. The Smartphone exceeded my expectations.,2026-01-01
167
+ 8fa95ec3-727c-4301-b2a9-30fe85d9b1ba,1126,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-02
168
+ 0cbf00ca-fe0f-4bc9-b68a-ceb7a3b3207c,1161,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
169
+ 242bf7bf-c621-468e-8443-d9a8a47ed76e,1151,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
170
+ bb287a6d-1a07-457b-9f9d-1e74049cd160,1039,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
171
+ a4cc89db-1055-463c-8360-99c9a234ed21,1130,Mouse,3,"The Mouse is okay, but could be better.",2026-01-02
172
+ 7e4ff60d-093f-4ebc-a024-f779d5eabe9a,1071,Coffee Maker,1,Terrible experience with this Coffee Maker.,2026-01-01
173
+ 05e08ea8-f812-4394-8115-90b79255bb41,1103,Keyboard,1,Terrible experience with this Keyboard.,2026-01-03
174
+ 26344184-5839-4477-99c9-3a43a4a408f5,1047,Desk Chair,5,"The Desk Chair is amazing, 5 stars!",2026-01-01
175
+ 68778ecb-3064-4094-99d9-f6103a20bb07,1155,Smartphone,2,Customer service was unhelpful.,2026-01-01
176
+ 8f902934-a24d-484d-9e7b-1fddd2228ef8,1005,Mouse,4,I love this Mouse! It works great.,2026-01-02
177
+ 037dea9d-0ab6-4866-a2ed-70132b0bc27a,1128,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
178
+ 22d78c4f-f0bf-4023-8512-765632109614,1067,Desk Chair,4,"The Desk Chair is amazing, 5 stars!",2026-01-03
179
+ a6b595be-6288-45b8-a79a-52b22c3a11e7,1182,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-02
180
+ ce0fe7af-b3a5-42cb-8272-adf3238e7ae4,1147,Mouse,1,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-02
181
+ f1f8049a-7835-4883-bd3d-64725d0d072e,1189,Laptop,5,I love this Laptop! It works great.,2026-01-02
182
+ b28158f0-065e-44e1-be80-1c8449ccbdfb,1084,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-02
183
+ 178ebbc2-b0bc-46e5-882a-3eb4e25650f9,1165,Coffee Maker,1,Not worth the money. Analyzing the Coffee Maker shows poor build quality.,2026-01-03
184
+ f22f7c79-641a-4d82-8e19-6e1946ef5599,1170,Desk Chair,1,Not worth the money. Analyzing the Desk Chair shows poor build quality.,2026-01-03
185
+ 6873214f-e6bb-497f-9e13-13b798f9ca92,1174,Mouse,1,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-03
186
+ 0cb91e87-4176-4a5e-befc-557fe8877987,1185,Laptop,5,I love this Laptop! It works great.,2026-01-02
187
+ c9faf9b7-7e31-435f-a739-4d6e8af1ac83,1054,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
188
+ f09314cb-40ce-422c-8dce-488da55c67bd,1096,Mouse,2,Customer service was unhelpful.,2026-01-01
189
+ 10ca1429-b97c-4829-948e-f512411f6fa2,1072,Mouse,5,I love this Mouse! It works great.,2026-01-02
190
+ 8c897fe4-e575-441f-addb-f278a7c2d086,1138,Keyboard,1,Not worth the money. Analyzing the Keyboard shows poor build quality.,2026-01-03
191
+ ed6f3a74-5a9b-49dc-ab38-a504d29ddc56,1132,Desk Chair,2,The Desk Chair stopped working after two days.,2026-01-01
192
+ 4485e362-df61-466a-bf5e-abf2aa8fd309,1130,Mouse,1,Customer service was unhelpful.,2026-01-01
193
+ bdcd00a9-8fc2-4e2d-8bf2-cc01c95b44d8,1059,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
194
+ a7a873e5-5a69-47ad-ad44-ab9df095562e,1141,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
195
+ dacc0bfc-28f7-44f6-a146-704d6dd04a83,1107,Coffee Maker,2,Terrible experience with this Coffee Maker.,2026-01-03
196
+ fa87fb09-6f26-424b-b740-eaf17e991651,1101,Monitor,2,The Monitor stopped working after two days.,2026-01-03
197
+ 3d86c367-502d-4593-8480-76ab4cba06ed,1040,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-01
198
+ 75f1f413-cfb8-4cef-a9ba-1163dc554e9c,1122,Laptop,2,Terrible experience with this Laptop.,2026-01-02
199
+ ec9fb045-012b-4ad5-b893-6d2d864743c7,1131,Desk Chair,1,The Desk Chair stopped working after two days.,2026-01-03
200
+ 28b8afe2-3e63-4507-8a6d-21579be400f8,1198,Keyboard,1,Not worth the money. Analyzing the Keyboard shows poor build quality.,2026-01-03
201
+ cddedd24-c57d-4a49-a894-520aa68385d8,1157,Desk Chair,1,Not worth the money. Analyzing the Desk Chair shows poor build quality.,2026-01-02
202
+ a61995de-d441-41d4-a829-c2ae37ebe27f,1065,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
203
+ ba92a64a-f9b3-4a02-9f0b-63633e6d48ce,1111,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
204
+ 891b3e6a-ddd4-4b03-9653-d1b3b0c52fa8,1009,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
205
+ ca5aa416-b95b-4a5c-835e-62d8061664a3,1079,Mouse,4,Good value for money. The Mouse exceeded my expectations.,2026-01-01
206
+ fe994342-5c76-4bd6-8f40-3393ccb9c92d,1185,Desk Chair,5,"Excellent quality, highly recommended.",2026-01-01
207
+ 44e65aaa-8831-4ab3-acc4-2de6988ba37a,1103,Desk Chair,4,"Excellent quality, highly recommended.",2026-01-02
208
+ 0218c6a9-d29e-4c00-bb99-da582a498fca,1014,Coffee Maker,4,I love this Coffee Maker! It works great.,2026-01-02
209
+ eaf2b5ee-2c16-4dc4-87c5-f0aa32736c91,1195,Mouse,4,I love this Mouse! It works great.,2026-01-02
210
+ 0bb19467-9130-42ca-b236-f41dc22c384c,1179,Laptop,2,Broken on arrival. Very disappointed.,2026-01-02
211
+ bd017e57-ea28-4bde-ba2e-cb547263e1e0,1126,Headphones,3,"The Headphones is okay, but could be better.",2026-01-03
212
+ 971d4716-f8dc-4be1-9833-88942452260d,1081,Headphones,2,The Headphones stopped working after two days.,2026-01-01
213
+ 58697ca2-ec0d-41ff-89d9-1a56a28b2e14,1171,Coffee Maker,5,I love this Coffee Maker! It works great.,2026-01-02
214
+ 3ddf5688-0139-4b86-af85-203cf830bea5,1144,Coffee Maker,4,Good value for money. The Coffee Maker exceeded my expectations.,2026-01-03
215
+ 2340c896-6bf5-41f9-903d-51750750d866,1086,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
216
+ 5ab68220-1c24-4102-99e5-e402fe2895ad,1010,Laptop,4,"Excellent quality, highly recommended.",2026-01-03
217
+ a2d295db-b27b-4350-b06a-ab8f21f5b1e8,1002,Coffee Maker,1,Broken on arrival. Very disappointed.,2026-01-01
218
+ a86e5687-05ed-4a30-97ef-661efe11ac4f,1048,Desk Chair,1,The Desk Chair stopped working after two days.,2026-01-03
219
+ 35b00f9f-4fc8-4ae9-981e-5c688ff4a938,1088,Monitor,2,Customer service was unhelpful.,2026-01-01
220
+ e8aac4a5-23a7-44e7-9092-285ee27ce6ea,1119,Smartphone,5,I love this Smartphone! It works great.,2026-01-02
221
+ afc93fac-af0c-463b-8593-49d143cb74f5,1173,Headphones,4,"The Headphones is amazing, 5 stars!",2026-01-03
222
+ c0271c77-394a-412b-9309-87b53b87c3eb,1126,Headphones,2,The Headphones stopped working after two days.,2026-01-02
223
+ 54a2f8bd-c228-40e7-951a-8247dbc4da67,1049,Coffee Maker,5,Good value for money. The Coffee Maker exceeded my expectations.,2026-01-01
224
+ e7d88614-b991-45ea-b8b7-8c4acc281fa0,1026,Desk Chair,4,Good value for money. The Desk Chair exceeded my expectations.,2026-01-01
225
+ 5a438639-a825-410c-bd2f-24d32469980a,1148,Desk Chair,5,Good value for money. The Desk Chair exceeded my expectations.,2026-01-01
226
+ 2ab7fb10-de72-4c23-be66-f86146576837,1103,Laptop,5,Fast shipping and great service.,2026-01-02
227
+ d12e73a1-75f1-4fb8-a28a-11d12f45428a,1068,Headphones,5,"Excellent quality, highly recommended.",2026-01-01
228
+ acf70176-d72a-48c4-af23-37c18d25f8e1,1098,Laptop,4,Fast shipping and great service.,2026-01-03
229
+ 580cd898-aaf7-4d3b-8e5e-2a7e2ee4cbbd,1029,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-03
230
+ 7ef3f84e-5d0c-4a73-8608-da420d15b670,1058,Coffee Maker,2,Broken on arrival. Very disappointed.,2026-01-02
231
+ ad49207a-b704-4f41-8dd3-6a903143ac24,1090,Desk Chair,5,Fast shipping and great service.,2026-01-02
232
+ 148b119e-f45e-4a21-979b-d4244ae4eca0,1067,Headphones,2,Terrible experience with this Headphones.,2026-01-02
233
+ 0a7d8551-fa0f-423a-ae6f-8060c1b07882,1155,Coffee Maker,1,The Coffee Maker stopped working after two days.,2026-01-03
234
+ 95a85dc0-14b0-4ab5-a035-0f66e8aadb20,1060,Smartphone,5,I love this Smartphone! It works great.,2026-01-01
235
+ aa6248e0-7a04-48fc-9411-876018011cfb,1078,Mouse,1,The Mouse stopped working after two days.,2026-01-02
236
+ c17c0907-500a-47b5-9b83-c0a6d42c0ff9,1176,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
237
+ 08000a94-b2d3-4cb1-b429-5188b04a908e,1196,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-02
238
+ 8b378aed-2fbc-4484-b951-ec7b22be0d3b,1028,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
239
+ 713812b7-3f58-4e69-b325-da6074a40131,1065,Keyboard,5,I love this Keyboard! It works great.,2026-01-02
240
+ 23f1127b-d7eb-400b-bf68-728e18709d0d,1023,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
241
+ 5fe2a075-79c2-4cb5-9498-b88b51451785,1109,Keyboard,2,Not worth the money. Analyzing the Keyboard shows poor build quality.,2026-01-03
242
+ bf461cbe-de96-43f4-8332-f820b8cf55d4,1043,Smartphone,4,"The Smartphone is amazing, 5 stars!",2026-01-03
243
+ 19fc2491-e20a-4582-81e0-41666ce724f7,1045,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
244
+ 41ee0c23-8381-4bda-875b-fc906c9fe79b,1135,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-01
245
+ a7ae4221-c895-4289-b9c7-ec6e82dba4db,1114,Laptop,5,"The Laptop is amazing, 5 stars!",2026-01-02
246
+ 9f16723f-96d2-4428-839d-148b28e796b2,1016,Headphones,5,I love this Headphones! It works great.,2026-01-02
247
+ 9a7f7500-1576-4b3e-bbea-22db922e5cc6,1111,Monitor,1,Broken on arrival. Very disappointed.,2026-01-01
248
+ 3c2087bf-d815-481b-8a43-f7c5052a5c27,1159,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
249
+ 6f9254fd-12e1-44ce-b327-6dbb5605dfb3,1191,Monitor,2,Broken on arrival. Very disappointed.,2026-01-02
250
+ 55e904e1-4f8e-45e6-8f2f-5a82f0e7025c,1009,Mouse,1,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-03
251
+ d24e387a-9d94-401b-b89a-3e7c54764d30,1152,Monitor,1,Broken on arrival. Very disappointed.,2026-01-02
252
+ 2002cc5a-d225-47f3-aaed-6c602491132d,1174,Smartphone,5,Fast shipping and great service.,2026-01-03
253
+ 3a41a2bc-70d2-44b7-ab34-b535b93c3567,1174,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
254
+ f3c7da4a-2c59-4dbb-b298-b8b01996dcaf,1195,Desk Chair,5,Good value for money. The Desk Chair exceeded my expectations.,2026-01-01
255
+ d3e9b1f3-3aa9-402b-8819-dcb447c8195c,1199,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
256
+ f50fa11b-87d4-4b62-8e59-8494eb753fd7,1010,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-01
257
+ ef8df74d-d9a7-4d36-981a-a08580886f1a,1024,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
258
+ 0ea3a189-26fa-4827-a674-5a3f4ab047e0,1038,Laptop,2,Broken on arrival. Very disappointed.,2026-01-02
259
+ 6696c1a6-3e06-424c-90df-7ce39b993874,1077,Headphones,1,The Headphones stopped working after two days.,2026-01-02
260
+ 250e83ee-adf5-4580-9be8-cd0d0bd3a0c5,1142,Keyboard,1,The Keyboard stopped working after two days.,2026-01-01
261
+ 1b68bdbb-3ccf-47d2-b8ec-0c1dc912280e,1064,Monitor,3,"The Monitor is okay, but could be better.",2026-01-01
262
+ c4613bbc-5c9f-442d-b8ac-671d21ec7a71,1095,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
263
+ 9b3b9f88-2f4f-4761-b770-5cdc60ebb712,1157,Headphones,1,Broken on arrival. Very disappointed.,2026-01-01
264
+ 4af53dfe-54cb-4831-b7e4-d6981c360249,1152,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
265
+ 423e25ce-a0f3-40b4-8905-5447bf9cd75c,1050,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
266
+ b50e33d7-d9d0-4e8b-8576-5c2a15c7dc6e,1052,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
267
+ e207dbb6-6f95-4e22-bfac-dfa64c956585,1158,Monitor,5,Fast shipping and great service.,2026-01-02
268
+ 15a57d60-cba8-4d6e-aa54-79f2399b29fc,1010,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
269
+ aa1adda7-2822-40a9-9b12-ad2ea7366835,1150,Mouse,5,Good value for money. The Mouse exceeded my expectations.,2026-01-02
270
+ a47bfb9a-ad9e-4165-9e63-46ad7bd01a0c,1028,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-01
271
+ aeee0e2c-25a6-4cf8-a872-b415040b7232,1150,Smartphone,1,Not worth the money. Analyzing the Smartphone shows poor build quality.,2026-01-01
272
+ 77bb271a-efa6-4f91-ac53-55e0f2df8f17,1155,Laptop,1,Terrible experience with this Laptop.,2026-01-01
273
+ f5beee1a-c842-4488-a73b-63f363cbb148,1087,Mouse,4,"The Mouse is amazing, 5 stars!",2026-01-03
274
+ 36b06ba7-73b0-4af0-a8e2-3a61107175c2,1042,Mouse,2,The Mouse stopped working after two days.,2026-01-02
275
+ 242942a1-6d67-431d-9783-ac0d1c8e1029,1176,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-02
276
+ bb2ced3f-0db7-4a95-be5f-24a3155878da,1129,Keyboard,4,Fast shipping and great service.,2026-01-02
277
+ 27d6b2e2-9e59-4f5d-91f1-df713a84be76,1041,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
278
+ 65a664a2-3f06-451f-8cc9-308797fcfb3a,1146,Desk Chair,5,I love this Desk Chair! It works great.,2026-01-03
279
+ 7151bed7-527f-4409-896e-c14913550472,1056,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
280
+ 7bea76c1-c72b-4da0-af65-f4bd75e3f1d0,1030,Smartphone,2,Broken on arrival. Very disappointed.,2026-01-03
281
+ 909bfa8d-230c-47f1-9be6-6e9e06e33f44,1132,Laptop,5,"The Laptop is amazing, 5 stars!",2026-01-03
282
+ 712b8f43-0040-45e1-bcc1-425173833649,1165,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-01
283
+ bd906e59-9848-49f0-99b6-9c3f58a44e03,1159,Desk Chair,5,"Excellent quality, highly recommended.",2026-01-03
284
+ dd070b9d-5f87-4ba1-94ba-c9b7ba9f75d6,1051,Keyboard,4,I love this Keyboard! It works great.,2026-01-01
285
+ 0d16192b-515b-4487-862f-9d6e41198320,1003,Keyboard,1,The Keyboard stopped working after two days.,2026-01-03
286
+ 2184c4e8-0181-4f3f-ad75-fd4ffcfa2369,1199,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-02
287
+ 854f6ac0-ce92-464c-be0e-023b6095aa9f,1063,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
288
+ 08c252d6-9ce8-4e82-8e11-4e0d7e8eda3e,1055,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
289
+ 58a1e189-a350-4524-8f47-188bf0ac7edc,1015,Smartphone,1,Not worth the money. Analyzing the Smartphone shows poor build quality.,2026-01-01
290
+ 665700be-80c4-4989-90f3-0807982d91ca,1116,Mouse,2,The Mouse stopped working after two days.,2026-01-03
291
+ a608f248-3cdc-4271-8c17-52fd6587a1af,1200,Headphones,5,"The Headphones is amazing, 5 stars!",2026-01-01
292
+ c7e72b71-9ac6-4645-822d-a24e45aef092,1185,Mouse,1,Customer service was unhelpful.,2026-01-03
293
+ af51f151-6878-42c4-85ec-aad134a9c479,1177,Smartphone,5,Fast shipping and great service.,2026-01-02
294
+ a01c6ce5-4c2f-489c-9915-96e2adee77ed,1018,Headphones,2,Terrible experience with this Headphones.,2026-01-02
295
+ 3d76c659-256d-4405-b93d-f0b6b60301aa,1109,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
296
+ 13551496-0b6e-4982-98a4-61ca8146ef20,1063,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
297
+ 7247be4a-21d5-463b-aa3f-75218ca9724a,1045,Mouse,1,Broken on arrival. Very disappointed.,2026-01-01
298
+ 5046427f-c016-4336-9f10-a1ff0c686931,1026,Smartphone,5,Fast shipping and great service.,2026-01-01
299
+ 0f6322ae-6013-461a-87e3-a4293e9bf492,1026,Coffee Maker,5,"The Coffee Maker is amazing, 5 stars!",2026-01-02
300
+ 00bf7f2f-261e-417f-a8e0-fd9e4f7d3715,1026,Desk Chair,5,"Excellent quality, highly recommended.",2026-01-01
301
+ 2b4772f4-8c01-45cd-a854-24dd891119e8,1093,Desk Chair,4,"Excellent quality, highly recommended.",2026-01-03
302
+ c55cdd19-0812-4b35-ac7e-fbe23c6d8133,1141,Smartphone,2,Customer service was unhelpful.,2026-01-03
303
+ 13a8fde4-bb30-40c3-af65-6bef326dbb01,1193,Monitor,1,The Monitor stopped working after two days.,2026-01-03
304
+ b942190f-1f1e-44f5-85e1-7c3c63011a73,1200,Monitor,1,The Monitor stopped working after two days.,2026-01-02
305
+ d752133c-6a53-447a-b8e6-44d9693c3019,1003,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-01
306
+ aae58054-ad3e-4fa2-90ba-24118997b384,1175,Keyboard,2,The Keyboard stopped working after two days.,2026-01-01
307
+ 7a982635-b38f-4a15-b03b-bd44a604efc6,1063,Coffee Maker,4,I love this Coffee Maker! It works great.,2026-01-03
308
+ 7742614d-033b-4e59-99a8-d90461604bd6,1192,Coffee Maker,1,Broken on arrival. Very disappointed.,2026-01-02
309
+ a5e46132-4e66-4424-b4d8-a6c397aecc61,1125,Mouse,3,"The Mouse is okay, but could be better.",2026-01-02
310
+ 0af11f9e-0bd1-4e08-af26-e55a7b6db4c4,1006,Coffee Maker,4,"Excellent quality, highly recommended.",2026-01-02
311
+ b2e13d23-41c9-42f2-94ae-d155212075d1,1184,Keyboard,1,Not worth the money. Analyzing the Keyboard shows poor build quality.,2026-01-01
312
+ 7950cd1f-f76e-473b-8ce4-01aac7d1b01b,1003,Monitor,4,Fast shipping and great service.,2026-01-02
313
+ 44dccebd-3dcf-494c-af07-11811d3845db,1144,Headphones,4,"Excellent quality, highly recommended.",2026-01-02
314
+ cb61756c-070f-47e9-8b55-bdafdf118c67,1168,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
315
+ 52158776-9b4d-412a-9683-e1f4887b6650,1027,Keyboard,2,Terrible experience with this Keyboard.,2026-01-01
316
+ 87723389-01a4-49bd-b572-765a37791983,1096,Keyboard,2,Broken on arrival. Very disappointed.,2026-01-01
317
+ c7f4e7c7-e1d4-4e55-9c31-6d04c3c68354,1150,Monitor,4,I love this Monitor! It works great.,2026-01-03
318
+ cc6d9c71-43cb-4d81-9f49-889b149bdd63,1165,Mouse,1,Terrible experience with this Mouse.,2026-01-01
319
+ 5d05b9f2-ef4b-4109-8271-534a5c9f6380,1108,Coffee Maker,2,Not worth the money. Analyzing the Coffee Maker shows poor build quality.,2026-01-02
320
+ 653ac312-9de8-4ab0-a44a-e9f078fd07ff,1089,Desk Chair,5,"Excellent quality, highly recommended.",2026-01-02
321
+ 999c35a0-1d69-447d-929c-a30763b54f04,1048,Desk Chair,4,"Excellent quality, highly recommended.",2026-01-02
322
+ 3c7ff37d-1408-449b-bf9e-c3a06d8363da,1113,Coffee Maker,5,Fast shipping and great service.,2026-01-02
323
+ 1dc7bd19-cf95-4764-af31-e92dbbff1e4b,1177,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
324
+ 6a4f6052-801f-40df-8043-3a6aacfc9e2f,1193,Monitor,5,Good value for money. The Monitor exceeded my expectations.,2026-01-01
325
+ 95abe7ae-3d92-40f0-acf7-dc55d8b16dcc,1091,Laptop,4,Good value for money. The Laptop exceeded my expectations.,2026-01-02
326
+ 66d77338-bdff-49c6-a26c-c1ec1b46f9d7,1196,Headphones,1,Terrible experience with this Headphones.,2026-01-03
327
+ 70cc6d61-c6bf-4d33-ac75-6a2a61b5f657,1140,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
328
+ 5d0b7acc-5f4c-4f41-8677-6680f0a0eebb,1127,Keyboard,2,Customer service was unhelpful.,2026-01-01
329
+ 8b626ce4-3212-483b-9933-bad67571b6d7,1135,Laptop,2,Customer service was unhelpful.,2026-01-02
330
+ fe250f62-d2ba-451d-8957-c530bf58359f,1012,Laptop,5,"Excellent quality, highly recommended.",2026-01-01
331
+ aff8d43e-37a8-4934-a3c9-44abbabc7d4b,1168,Laptop,1,Broken on arrival. Very disappointed.,2026-01-03
332
+ 49e7929b-f492-40d2-82ec-bc97b7a6beb2,1171,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
333
+ 4c1003df-4d4b-4444-919f-fe03f61f4793,1101,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
334
+ 6c9c7ebd-7e86-43bf-ad08-5b30619a77cd,1053,Coffee Maker,1,Not worth the money. Analyzing the Coffee Maker shows poor build quality.,2026-01-03
335
+ f390ca5d-4bfe-4fa6-8037-9b0c37e9df35,1175,Keyboard,2,Customer service was unhelpful.,2026-01-01
336
+ 6a8543a7-7503-4dcf-8e37-9bbb125594f0,1200,Laptop,2,Customer service was unhelpful.,2026-01-01
337
+ a04f4370-2c92-4a23-8c56-32d4af27966d,1172,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
338
+ 82e86755-4ba7-4d82-af81-70515fe5581d,1059,Smartphone,2,Customer service was unhelpful.,2026-01-01
339
+ 8828418d-fd87-4360-a593-837999d8dfd2,1189,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
340
+ 6a68934d-ec4f-46ec-a31d-e8bd350ba522,1068,Smartphone,2,Broken on arrival. Very disappointed.,2026-01-02
341
+ 636781d0-4010-42a2-977a-e41906f770ff,1081,Desk Chair,4,Fast shipping and great service.,2026-01-02
342
+ 6333257a-90bc-450e-ba19-e10d89e4d2f0,1152,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
343
+ 0597cbff-ed4e-449f-bba8-43a3e7034c12,1056,Mouse,3,"The Mouse is okay, but could be better.",2026-01-02
344
+ f6172de1-c787-44de-8f09-1ace8d1bde2f,1060,Monitor,4,Fast shipping and great service.,2026-01-01
345
+ 384aaaa9-8a91-419e-873e-ed62073f1d91,1125,Mouse,3,"The Mouse is okay, but could be better.",2026-01-03
346
+ 3a538c4c-a404-4eeb-aba8-1faf9a753c81,1103,Headphones,3,"The Headphones is okay, but could be better.",2026-01-03
347
+ 14297ac2-d7ca-4eaf-b0aa-15033a1d8916,1196,Mouse,1,The Mouse stopped working after two days.,2026-01-02
348
+ bf2f97f3-2e5e-44f0-b9bc-4e90939f8a27,1038,Mouse,5,"The Mouse is amazing, 5 stars!",2026-01-03
349
+ f2b2c021-fce2-4232-b4fa-785bf477649b,1153,Monitor,5,I love this Monitor! It works great.,2026-01-01
350
+ 7b88ace4-2aec-4c2b-a4d3-4b17a94c4f2f,1015,Smartphone,1,Terrible experience with this Smartphone.,2026-01-02
351
+ 47b88951-391a-4488-992a-da0b546fc668,1017,Smartphone,4,I love this Smartphone! It works great.,2026-01-01
352
+ 608af5ee-0cc4-4865-83a4-14a2e8686363,1191,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-03
353
+ 181cb16f-9439-463e-a528-cf08af82e87c,1021,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
354
+ 8378dd18-20d7-4ec8-ab9b-541c73a0294a,1041,Desk Chair,4,I love this Desk Chair! It works great.,2026-01-01
355
+ 314ce4b2-84c2-41a6-9fc3-86097ad51b22,1006,Smartphone,1,Customer service was unhelpful.,2026-01-01
356
+ b24f59f9-7243-4ed5-9d3d-0b4a895654d7,1150,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-03
357
+ a6e9b5ae-6685-4327-b22d-1294fd28a4d7,1014,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
358
+ ad596310-55ac-4899-baff-5380d3cf6541,1115,Keyboard,1,Broken on arrival. Very disappointed.,2026-01-02
359
+ d62598ba-ca41-48af-baa6-302f9ce1e6a5,1187,Monitor,4,"Excellent quality, highly recommended.",2026-01-02
360
+ 9398daad-d527-4a01-8085-fa43a7faaf3a,1123,Desk Chair,1,Customer service was unhelpful.,2026-01-03
361
+ 72e44643-9d42-4ad0-94e6-0ced48ec8cc6,1160,Keyboard,1,Broken on arrival. Very disappointed.,2026-01-02
362
+ ee0b349c-2946-4d29-90d3-46e80e8fb3d4,1035,Monitor,3,"The Monitor is okay, but could be better.",2026-01-01
363
+ 4776fcba-1c41-49cf-9fce-1d867d866eaa,1140,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
364
+ fce364dd-55f3-41e7-8a60-019068c29304,1107,Keyboard,1,Customer service was unhelpful.,2026-01-02
365
+ 8d8a5399-184c-4b24-bcde-7407844bf02f,1159,Mouse,2,Terrible experience with this Mouse.,2026-01-02
366
+ f0c3ad82-feb1-4313-9a1d-07eca9b4715f,1003,Coffee Maker,5,"Excellent quality, highly recommended.",2026-01-02
367
+ a1c06f17-3615-4724-be15-878913b445ba,1176,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
368
+ 5039df9a-b4e1-4029-9d81-81b2f5233ab5,1105,Monitor,1,Not worth the money. Analyzing the Monitor shows poor build quality.,2026-01-03
369
+ 686e677b-fe3f-4d89-983f-1aa93e45e4a5,1052,Headphones,4,I love this Headphones! It works great.,2026-01-03
370
+ 7603fce3-98ac-452b-ab0c-ba4118182465,1094,Mouse,3,"The Mouse is okay, but could be better.",2026-01-03
371
+ 2d91f696-d166-41b4-b2d9-80c15a36d3df,1191,Coffee Maker,1,Customer service was unhelpful.,2026-01-03
372
+ 6b264020-1a75-45b5-aa17-47f5c0d7e804,1153,Monitor,3,"The Monitor is okay, but could be better.",2026-01-01
373
+ 7cedcd0c-37c9-4360-a917-e2e29bda79cc,1144,Headphones,5,Fast shipping and great service.,2026-01-02
374
+ d6d4836b-92ee-45bb-96b3-bada122f0f94,1055,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-02
375
+ 9708c2c6-b5e5-4eb5-b092-e5d3da5aa48c,1166,Mouse,5,Fast shipping and great service.,2026-01-02
376
+ 6457be65-0db5-44ff-95d2-c673e3165417,1136,Coffee Maker,1,Broken on arrival. Very disappointed.,2026-01-03
377
+ 0c1fdc0a-b29c-4d64-aaac-2c7ff2a05e81,1030,Desk Chair,1,Customer service was unhelpful.,2026-01-03
378
+ 0351dfd7-d2c3-4b9b-a49b-c6793509d895,1128,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
379
+ 591a6550-7e66-41b7-bdb9-43886d0f8812,1049,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-03
380
+ 1d6b5978-2bf7-4025-b213-52aeaeeaa345,1100,Monitor,3,"The Monitor is okay, but could be better.",2026-01-01
381
+ 31c8c87f-b0e8-4b62-bbd1-c5ffcd6f0c98,1108,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
382
+ 3df8c0c9-d66b-4c9e-8d65-86ee1edb568b,1020,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-02
383
+ 54550f94-86e1-44b3-9c69-5efe9d29e050,1069,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
384
+ 0b9fec78-d90e-4921-811a-a7ba0960a59c,1080,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
385
+ 3e1fcad1-0e68-44d6-95b5-0c219a200881,1122,Keyboard,5,Fast shipping and great service.,2026-01-03
386
+ bfeea37a-5b75-4440-99f3-d11d29d0cb45,1076,Smartphone,2,Broken on arrival. Very disappointed.,2026-01-02
387
+ 80e6d3de-5539-4a02-86ca-565f84114531,1058,Headphones,2,Broken on arrival. Very disappointed.,2026-01-02
388
+ f7ba4319-e75f-49d8-abcd-1399b1e155ce,1061,Keyboard,5,"Excellent quality, highly recommended.",2026-01-03
389
+ 8c542108-9603-4f79-aac5-0d4b9902fea3,1195,Smartphone,2,Not worth the money. Analyzing the Smartphone shows poor build quality.,2026-01-03
390
+ d9c1ab2d-7b59-46b1-a734-bf111fa85609,1072,Headphones,1,The Headphones stopped working after two days.,2026-01-03
391
+ 2774e089-a1d2-4505-9a8f-cb9237c386e5,1038,Mouse,2,Customer service was unhelpful.,2026-01-03
392
+ e4588c5e-f608-437b-86f6-4c515278db82,1088,Headphones,3,"The Headphones is okay, but could be better.",2026-01-01
393
+ 11da787e-45b7-4b82-8f08-6740701d2fe4,1154,Laptop,1,The Laptop stopped working after two days.,2026-01-03
394
+ 8ec23f07-529a-4573-af2b-68babd61592e,1018,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
395
+ e739fc11-fb40-4faf-97d1-a5fcbd32a40a,1066,Keyboard,4,"Excellent quality, highly recommended.",2026-01-03
396
+ e5e55049-6bc4-4f7b-9e1e-119b7e580c89,1046,Keyboard,4,"Excellent quality, highly recommended.",2026-01-03
397
+ b405e657-d1a3-4650-9b36-101def5ffb6e,1047,Headphones,2,The Headphones stopped working after two days.,2026-01-03
398
+ 098dfa47-cfa4-4ffa-a7e3-8fcd30183922,1032,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
399
+ 924a6fea-3bb7-4577-a529-880c8ac08318,1154,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-01
400
+ d3270cc0-1900-4321-8219-eb725ba6612b,1054,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
401
+ 517eaaa6-406e-42c6-8e0b-38abc5c68438,1060,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-01
402
+ c6a6aeb4-37b6-48c4-a3bd-994c505f1c4d,1014,Keyboard,2,Customer service was unhelpful.,2026-01-02
403
+ c595806e-e50e-4faf-8238-a72d3e0b6622,1121,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
404
+ bca40fc2-a956-4750-8574-fe6d6662a715,1087,Monitor,1,Not worth the money. Analyzing the Monitor shows poor build quality.,2026-01-03
405
+ a68e851a-0bcf-4d34-9f2b-d1def53b1b90,1151,Monitor,5,"The Monitor is amazing, 5 stars!",2026-01-02
406
+ 5cc3c950-4e4c-4008-a95e-bce8b21d8ed2,1149,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-02
407
+ 470e81b5-a12f-409f-a2b7-6d0e76fe0b48,1187,Mouse,2,The Mouse stopped working after two days.,2026-01-01
408
+ 9c7cc702-bfcf-448c-bc3a-c0878ff9aa6c,1155,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
409
+ 75fdb0a0-1b8c-474a-b3de-c96d2d03fb11,1124,Smartphone,4,"The Smartphone is amazing, 5 stars!",2026-01-02
410
+ 542092e1-302c-4a2f-a45c-6d39c6c2236c,1167,Mouse,3,"The Mouse is okay, but could be better.",2026-01-03
411
+ 6b253e7b-17cb-4af4-acfc-9822c2abd8e0,1103,Mouse,2,Customer service was unhelpful.,2026-01-02
412
+ 34c93ebf-e099-4b65-9108-eec8107aad8b,1056,Keyboard,2,Terrible experience with this Keyboard.,2026-01-03
413
+ ef2ea5e6-312e-4608-b870-a04c9f27bc06,1110,Monitor,3,"The Monitor is okay, but could be better.",2026-01-02
414
+ 22d67eca-b141-41f0-ba6c-9048075e5026,1031,Laptop,5,Good value for money. The Laptop exceeded my expectations.,2026-01-02
415
+ 4b322b05-b4e4-4d56-b9f2-eb71a828211d,1003,Laptop,4,Fast shipping and great service.,2026-01-03
416
+ 21f257f2-4e3d-431a-ae25-7feeeb7d5cef,1167,Keyboard,5,Fast shipping and great service.,2026-01-01
417
+ d9da15e6-bc27-4719-abb5-5ac9a5767e70,1070,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
418
+ e12ac803-8674-42ec-9de1-f9efb0376816,1185,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
419
+ 696b6093-0fb3-41e9-8f33-671ccf8ddcd6,1173,Keyboard,1,Broken on arrival. Very disappointed.,2026-01-03
420
+ 3c148b57-bbc7-419e-af50-dacb3ee1d728,1112,Smartphone,4,"The Smartphone is amazing, 5 stars!",2026-01-01
421
+ 1819db76-03b0-44c0-a6db-8a5b4efc8d6d,1140,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-01
422
+ 4a49d83b-4f5c-4a32-8a78-98e6a618a46b,1069,Coffee Maker,5,Good value for money. The Coffee Maker exceeded my expectations.,2026-01-01
423
+ 8d80d237-f8d6-40af-82c2-6d9f4be972b5,1070,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-01
424
+ 07e3a513-ab0c-46dd-bc39-53ebab5deee3,1041,Monitor,3,"The Monitor is okay, but could be better.",2026-01-03
425
+ d6377a84-cefa-4037-bea1-6e1d478e018e,1194,Keyboard,2,Terrible experience with this Keyboard.,2026-01-02
426
+ 4ec22c2a-99d6-468d-b29c-e74001dfe951,1113,Mouse,1,Broken on arrival. Very disappointed.,2026-01-02
427
+ f01f7382-e4fa-42c2-b398-e4fc59dd9452,1024,Headphones,3,"The Headphones is okay, but could be better.",2026-01-01
428
+ 6d0102f9-83c6-486c-bc5f-eb6aab1635f0,1169,Mouse,5,Fast shipping and great service.,2026-01-01
429
+ fd5c8bcd-6aa1-4b75-961b-e345fad911e5,1071,Smartphone,4,Good value for money. The Smartphone exceeded my expectations.,2026-01-01
430
+ 48f63a9e-9371-4e14-8d7e-2e139cd928ef,1027,Desk Chair,5,Good value for money. The Desk Chair exceeded my expectations.,2026-01-01
431
+ 9ef9ab9a-3141-4cc0-99ff-60d67eb7d909,1139,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-02
432
+ 31490475-e5b2-4ed0-90a0-cd0fb4e91064,1120,Keyboard,3,"The Keyboard is okay, but could be better.",2026-01-01
433
+ a2e3bca4-d4b0-4d7e-8fa0-b71651e63610,1035,Coffee Maker,2,The Coffee Maker stopped working after two days.,2026-01-01
434
+ 17e50b8d-fd78-4451-9325-4d59d6b9ad4a,1176,Mouse,2,Terrible experience with this Mouse.,2026-01-02
435
+ e8c7c867-8231-435c-8e49-13539fa38a92,1046,Monitor,2,The Monitor stopped working after two days.,2026-01-02
436
+ e6dd8969-aada-4ba0-937a-d987dc2e10f5,1200,Headphones,3,"The Headphones is okay, but could be better.",2026-01-01
437
+ 517c8165-331b-46c7-a49b-ed7b06f40c1e,1099,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-01
438
+ bfd554ff-2e65-471f-8465-1be59dd3225e,1148,Smartphone,2,The Smartphone stopped working after two days.,2026-01-02
439
+ a2592eb5-0905-41a0-ace8-e005fd75a89a,1045,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
440
+ 61b0d81f-b60c-498a-a1d9-e4fe7af3f398,1111,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-02
441
+ 6c65ae6b-ffbd-44fd-afc1-2e17a9f99d4f,1154,Laptop,1,Broken on arrival. Very disappointed.,2026-01-01
442
+ 58d34b8c-91e1-44e2-aafa-3f05c67e7ffb,1060,Laptop,5,Fast shipping and great service.,2026-01-01
443
+ 9195164c-17e0-43ca-a23b-b1c68989d605,1065,Monitor,4,Good value for money. The Monitor exceeded my expectations.,2026-01-01
444
+ d29dc973-a007-4f86-90bf-b144d5b31d9a,1139,Headphones,2,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-03
445
+ ad433e2d-9bdc-44e5-b11e-b154c12690a1,1005,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-03
446
+ c88fa1b8-3b01-4d8e-8b05-4b749f012883,1079,Headphones,5,Fast shipping and great service.,2026-01-01
447
+ dbd141b4-a184-4f6d-a759-361d47cb1782,1039,Mouse,2,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-01
448
+ ac608144-6cb5-4299-a0e8-6fd500903816,1046,Mouse,4,I love this Mouse! It works great.,2026-01-02
449
+ 68fd116b-4529-4253-b015-03eebea35692,1049,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
450
+ 8473d2d6-acaf-48fb-8cc6-c4d9ce52f6b3,1138,Headphones,1,Terrible experience with this Headphones.,2026-01-02
451
+ 41e1f836-3cf6-4621-b3c8-18b73ae60248,1054,Coffee Maker,2,The Coffee Maker stopped working after two days.,2026-01-02
452
+ f5024acd-f066-427a-9a3f-3ff25ef512bb,1189,Smartphone,1,Terrible experience with this Smartphone.,2026-01-02
453
+ 9cbf4d7d-e70c-4280-afa9-7de7619987c0,1066,Keyboard,2,Customer service was unhelpful.,2026-01-03
454
+ c6aaf4fc-6f45-4ada-81fa-9da6098b5863,1093,Laptop,5,"The Laptop is amazing, 5 stars!",2026-01-03
455
+ 3fc4520b-48c6-4ec3-acfc-807549b868c2,1187,Coffee Maker,1,The Coffee Maker stopped working after two days.,2026-01-02
456
+ 9ec6e137-f19b-483f-a23b-69012d355557,1035,Headphones,4,"The Headphones is amazing, 5 stars!",2026-01-02
457
+ 7323eab3-0554-4144-97f1-480a546bc509,1069,Desk Chair,4,"Excellent quality, highly recommended.",2026-01-01
458
+ 058eb663-d536-40b0-9239-abdf570bee97,1148,Mouse,4,Good value for money. The Mouse exceeded my expectations.,2026-01-03
459
+ c2559353-f95d-42ff-a9c0-36fc58eef3cf,1144,Keyboard,4,Good value for money. The Keyboard exceeded my expectations.,2026-01-02
460
+ ce94f92b-85e7-4074-af9a-354ae7468a52,1160,Desk Chair,1,The Desk Chair stopped working after two days.,2026-01-03
461
+ e10f2f09-45a0-4117-9bd8-ea385f8b3066,1123,Monitor,5,Fast shipping and great service.,2026-01-03
462
+ 3fad566f-021d-4d13-9d99-d991a1ad9b2e,1146,Laptop,2,Terrible experience with this Laptop.,2026-01-02
463
+ dfa5db11-9ae4-4021-a780-ac62ce81d541,1109,Headphones,1,Not worth the money. Analyzing the Headphones shows poor build quality.,2026-01-01
464
+ 99d72f60-529d-42f8-b5a3-b60453a67d03,1025,Smartphone,4,Good value for money. The Smartphone exceeded my expectations.,2026-01-03
465
+ 5400ceae-67a4-4f73-b867-2905dca4a1c9,1012,Mouse,5,Fast shipping and great service.,2026-01-01
466
+ 8ca89e63-cd75-44b1-9fe5-d69e753961bc,1134,Coffee Maker,1,Not worth the money. Analyzing the Coffee Maker shows poor build quality.,2026-01-01
467
+ 9787edf2-c313-41be-89a2-7c560128e485,1151,Smartphone,4,"Excellent quality, highly recommended.",2026-01-02
468
+ 82377592-8cec-4d07-a2e9-6c154622d06e,1117,Smartphone,5,I love this Smartphone! It works great.,2026-01-01
469
+ 48e8c79a-fc67-4db7-8657-6feeef3f6b9a,1190,Headphones,4,"The Headphones is amazing, 5 stars!",2026-01-03
470
+ aabe05a3-66e7-403c-a522-67569c4b1428,1097,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-02
471
+ 73317cff-6e00-490c-af02-eb0df67ebec9,1151,Headphones,4,Fast shipping and great service.,2026-01-02
472
+ 74fcfa93-421a-41df-9452-f39a9c7d8944,1005,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-02
473
+ b3458e14-7523-44be-9b43-0a8ab367618f,1165,Headphones,4,I love this Headphones! It works great.,2026-01-01
474
+ dae8d1a7-ddd5-4c3c-9d00-992fdf475b94,1111,Desk Chair,1,Terrible experience with this Desk Chair.,2026-01-02
475
+ 42c7de49-d8a5-4329-95c2-ca8c0d2e773e,1160,Smartphone,1,Terrible experience with this Smartphone.,2026-01-02
476
+ 06bcb3c0-14ae-434d-9500-46e3e87ed008,1195,Coffee Maker,1,Customer service was unhelpful.,2026-01-01
477
+ cbce5f02-42bd-434a-860a-9d63cc654e5f,1184,Laptop,5,Good value for money. The Laptop exceeded my expectations.,2026-01-03
478
+ 56336f85-1a45-4565-b2b2-26eef2011d1d,1101,Mouse,2,Not worth the money. Analyzing the Mouse shows poor build quality.,2026-01-02
479
+ 6ea0682e-6b38-47b0-9bc6-6ea4d44afdde,1187,Desk Chair,4,I love this Desk Chair! It works great.,2026-01-01
480
+ 139a538c-56b5-483d-a712-0dfe00036056,1139,Desk Chair,1,Broken on arrival. Very disappointed.,2026-01-03
481
+ 051ee74a-f195-421d-ac20-ee708153af6c,1176,Mouse,3,"The Mouse is okay, but could be better.",2026-01-01
482
+ 4ae352b6-a985-4bd9-bdcc-0c666265617a,1067,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
483
+ 2e427c4b-aedf-46a1-b923-ee23e3068822,1053,Laptop,3,"The Laptop is okay, but could be better.",2026-01-01
484
+ f72e5937-f83b-4c67-b51d-e11bb1bd449c,1095,Smartphone,2,Broken on arrival. Very disappointed.,2026-01-02
485
+ 6f580d82-fbbe-486b-a3c0-d6dee3393838,1148,Laptop,3,"The Laptop is okay, but could be better.",2026-01-02
486
+ f9f5abe4-e208-445f-84c6-050953e1eeef,1072,Keyboard,1,The Keyboard stopped working after two days.,2026-01-01
487
+ a54d72ab-0442-4173-a8c9-ec24c26c8bb3,1086,Coffee Maker,3,"The Coffee Maker is okay, but could be better.",2026-01-03
488
+ b518c9e1-db5b-48d9-a895-52a768b1a6e5,1148,Desk Chair,5,"Excellent quality, highly recommended.",2026-01-03
489
+ 57d90d12-7c06-44aa-bab5-1e50f2c9cc0f,1080,Mouse,4,"Excellent quality, highly recommended.",2026-01-01
490
+ bfd80514-b641-4eda-9327-aa9722be2e23,1068,Coffee Maker,1,Broken on arrival. Very disappointed.,2026-01-03
491
+ 6f442446-8f9d-4bb5-8b9f-a5ec2d8dfa8e,1019,Smartphone,1,Terrible experience with this Smartphone.,2026-01-02
492
+ 967bdaf2-897c-4965-b3f8-5398d4d92be8,1043,Desk Chair,3,"The Desk Chair is okay, but could be better.",2026-01-03
493
+ 1fd6d1df-7219-40e8-8d31-8c5354c5237b,1077,Laptop,3,"The Laptop is okay, but could be better.",2026-01-03
494
+ 54979c9e-214b-486f-9830-22250885dbcf,1015,Monitor,2,Terrible experience with this Monitor.,2026-01-03
495
+ 3d9fa8db-dbf8-4c3c-aeb7-976fdcb96c70,1138,Coffee Maker,5,Good value for money. The Coffee Maker exceeded my expectations.,2026-01-01
496
+ 7d918fcb-ffbd-4fdc-b4aa-6acedf0d13ac,1110,Headphones,3,"The Headphones is okay, but could be better.",2026-01-03
497
+ dfe223fd-605b-4b1b-816d-074a2c2459bf,1078,Keyboard,1,Customer service was unhelpful.,2026-01-02
498
+ a11244cb-1243-47d7-8a22-46d5fe22a8c3,1106,Smartphone,5,Good value for money. The Smartphone exceeded my expectations.,2026-01-03
499
+ a5965343-846d-441e-bfd6-9772c18119a6,1074,Smartphone,3,"The Smartphone is okay, but could be better.",2026-01-02
500
+ 683e83b7-bfa7-4b26-823c-d8793e972573,1144,Coffee Maker,5,Fast shipping and great service.,2026-01-03
501
+ 322408fd-62a7-4fd7-abd2-01970d40d7ac,1083,Headphones,3,"The Headphones is okay, but could be better.",2026-01-02
data/sales_data.csv ADDED
The diff for this file is too large to render. See raw diff
 
data/web_logs.json ADDED
The diff for this file is too large to render. See raw diff
 
requirements.txt CHANGED
@@ -1,3 +1,14 @@
1
- altair
2
- pandas
3
- streamlit
 
 
 
 
 
 
 
 
 
 
 
 
1
+ streamlit
2
+ pandas
3
+ numpy
4
+ plotly
5
+ scikit-learn
6
+ textblob
7
+ langchain-community
8
+ langchain-huggingface
9
+ langchain-text-splitters
10
+ langchain-core
11
+ transformers
12
+ faiss-cpu
13
+ torch
14
+ sentence-transformers
src/__pycache__/models.cpython-311.pyc ADDED
Binary file (4.64 kB). View file
 
src/__pycache__/processor.cpython-311.pyc ADDED
Binary file (3.27 kB). View file
 
src/__pycache__/rag_engine.cpython-311.pyc ADDED
Binary file (6.93 kB). View file
 
src/dashboard.py ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import plotly.express as px
3
+ import plotly.graph_objects as go
4
+ import pandas as pd
5
+ import os
6
+ from processor import get_integrated_data, clean_sales_data
7
+ from models import perform_customer_segmentation, forecast_sales, analyze_sentiment
8
+ from rag_engine import RAGSystem
9
+
10
+ # Page Config
11
+ st.set_page_config(page_title="Business Analytics System",
12
+ layout="wide", page_icon="📊")
13
+
14
+ # Custom CSS
15
+ st.markdown("""
16
+ <style>
17
+ .metric-card {
18
+ background-color: #f0f2f6;
19
+ padding: 20px;
20
+ border-radius: 10px;
21
+ text-align: center;
22
+ }
23
+ .metric-title {
24
+ font-size: 16px;
25
+ color: #555;
26
+ }
27
+ .metric-value {
28
+ font-size: 32px;
29
+ font-weight: bold;
30
+ color: #000;
31
+ }
32
+ </style>
33
+ """, unsafe_allow_html=True)
34
+
35
+
36
+ @st.cache_data
37
+ def load_all_data():
38
+ data = get_integrated_data()
39
+ sales = clean_sales_data(data['sales'])
40
+ reviews = analyze_sentiment(data['reviews'])
41
+ logs = data['logs']
42
+ rfm = perform_customer_segmentation(sales)
43
+ return sales, reviews, logs, rfm
44
+
45
+ @st.cache_resource
46
+ def get_rag_system():
47
+ # Construct absolute path to data directory
48
+ data_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'data')
49
+ rag = RAGSystem(data_dir)
50
+ return rag
51
+
52
+
53
+
54
+ try:
55
+ sales_df, reviews_df, logs_df, rfm_df = load_all_data()
56
+ except FileNotFoundError:
57
+ st.error("Data files not found. Please run data generation first.")
58
+ st.stop()
59
+
60
+ # Sidebar
61
+ st.sidebar.title("Analytics Portal")
62
+ st.sidebar.image(
63
+ "https://img.icons8.com/color/96/000000/monitor--v1.png", width=50)
64
+ page = st.sidebar.radio("Navigate", ["Overview", "Sales Performance",
65
+ "Customer Segments", "Forecasting", "Feedback Analysis", "Business Q&A"])
66
+
67
+ st.sidebar.markdown("---")
68
+ st.sidebar.info("Integrated Business Analytics System v1.0")
69
+
70
+ # --- Overview ---
71
+ if page == "Overview":
72
+ st.title("📊 Integrated Business Analytics Dashboard")
73
+ st.markdown("Real-time insights on Sales, Customers, and Operations.")
74
+
75
+ # KPI Row
76
+ col1, col2, col3, col4 = st.columns(4)
77
+
78
+ total_revenue = sales_df['TotalPrice'].sum()
79
+ total_orders = len(sales_df)
80
+ avg_order_value = total_revenue / total_orders
81
+ avg_sentiment = reviews_df['Sentiment_Score'].mean()
82
+
83
+ with col1:
84
+ st.metric("Total Revenue", f"${total_revenue:,.2f}")
85
+ with col2:
86
+ st.metric("Total Orders", f"{total_orders}")
87
+ with col3:
88
+ st.metric("Avg Order Value", f"${avg_order_value:,.2f}")
89
+ with col4:
90
+ st.metric("Avg Sentiment",
91
+ f"{avg_sentiment:.2f}", delta_color="normal")
92
+
93
+ st.markdown("### Recent Activity")
94
+ c1, c2 = st.columns(2)
95
+ with c1:
96
+ st.subheader("Recent Sales")
97
+ st.dataframe(sales_df.sort_values('Date', ascending=False).head(5)[
98
+ ['Date', 'Product', 'TotalPrice', 'Region']])
99
+ with c2:
100
+ st.subheader("Recent Reviews")
101
+ st.dataframe(reviews_df.sort_values('Date', ascending=False).head(5)[
102
+ ['Date', 'Product', 'Sentiment_Label', 'ReviewText']])
103
+
104
+ # --- Sales Performance ---
105
+ elif page == "Sales Performance":
106
+ st.title("📈 Sales Performance")
107
+
108
+ # Filters
109
+ region = st.selectbox(
110
+ "Select Region", ["All"] + list(sales_df['Region'].unique()))
111
+ if region != "All":
112
+ filtered_sales = sales_df[sales_df['Region'] == region]
113
+ else:
114
+ filtered_sales = sales_df
115
+
116
+ # Charts
117
+ col1, col2 = st.columns(2)
118
+
119
+ with col1:
120
+ # Time series
121
+ daily = filtered_sales.set_index('Date').resample(
122
+ 'D')['TotalPrice'].sum().reset_index()
123
+ fig_line = px.line(daily, x='Date', y='TotalPrice',
124
+ title='Daily Revenue Trend')
125
+ st.plotly_chart(fig_line, use_container_width=True)
126
+
127
+ with col2:
128
+ # Category Bar
129
+ cat_sales = filtered_sales.groupby(
130
+ 'Category')['TotalPrice'].sum().reset_index()
131
+ fig_bar = px.bar(cat_sales, x='Category', y='TotalPrice',
132
+ title='Revenue by Category', color='Category')
133
+ st.plotly_chart(fig_bar, use_container_width=True)
134
+
135
+ # Product drilldown
136
+ st.subheader("Top Selling Products")
137
+ top_prods = filtered_sales.groupby('Product').agg(
138
+ {'TotalPrice': 'sum', 'Quantity': 'sum'}).sort_values('TotalPrice', ascending=False).reset_index()
139
+ st.dataframe(top_prods)
140
+
141
+ # --- Customer Segments ---
142
+ elif page == "Customer Segments":
143
+ st.title("👥 Customer Segmentation (RFM)")
144
+ st.markdown(
145
+ "Using K-Means clustering on Recency, Frequency, and Monetary value.")
146
+
147
+ col1, col2 = st.columns([3, 1])
148
+
149
+ with col1:
150
+ # 3D Scatter works best, or 2D pair
151
+ fig_clust = px.scatter_3d(rfm_df.reset_index(), x='Recency', y='Frequency', z='Monetary', color='Cluster',
152
+ title="Customer Clusters (RFM)", opacity=0.7)
153
+ st.plotly_chart(fig_clust, use_container_width=True)
154
+
155
+ with col2:
156
+ st.subheader("Cluster Stats")
157
+ cluster_stats = rfm_df.groupby('Cluster').mean().reset_index()
158
+ st.dataframe(cluster_stats.round(2))
159
+
160
+ st.markdown("### Insights")
161
+ st.info("Clusters allow identifying loyal customers (High Frequency/Monetary) vs Churn risk (High Recency).")
162
+
163
+ # --- Forecasting ---
164
+ elif page == "Forecasting":
165
+ st.title("🔮 Sales Forecasting")
166
+
167
+ days = st.slider("Forecast Days", 7, 90, 30)
168
+
169
+ hist_df, pred_df = forecast_sales(sales_df, days)
170
+
171
+ # Combine for plot
172
+ hist_df['Type'] = 'Historical'
173
+ pred_df['Type'] = 'Predicted'
174
+ pred_df.rename(columns={'Predicted_Sales': 'TotalPrice'}, inplace=True)
175
+
176
+ combined = pd.concat([hist_df, pred_df])
177
+
178
+ fig = px.line(combined, x='Date', y='TotalPrice', color='Type',
179
+ title=f"Sales Forecast (Next {days} Days)")
180
+ fig.add_vline(x=hist_df['Date'].max(), line_dash="dash", line_color="gray")
181
+ st.plotly_chart(fig, use_container_width=True)
182
+
183
+ # --- Feedback Analysis ---
184
+ elif page == "Feedback Analysis":
185
+ st.title("💬 Sentiment Analysis")
186
+
187
+ # Sentiment Distribution
188
+ col1, col2 = st.columns(2)
189
+
190
+ with col1:
191
+ counts = reviews_df['Sentiment_Label'].value_counts()
192
+ fig_pie = px.pie(names=counts.index, values=counts.values, title='Sentiment Distribution',
193
+ color_discrete_map={'Positive': 'green', 'Negative': 'red', 'Neutral': 'gray'})
194
+ st.plotly_chart(fig_pie, use_container_width=True)
195
+
196
+ with col2:
197
+ avg_by_prod = reviews_df.groupby(
198
+ 'Product')['Sentiment_Score'].mean().sort_values().reset_index()
199
+ fig_bar = px.bar(avg_by_prod, x='Sentiment_Score', y='Product', orientation='h',
200
+ title='Avg Sentiment by Product', color='Sentiment_Score', color_continuous_scale='RdYlGn')
201
+ st.plotly_chart(fig_bar, use_container_width=True)
202
+
203
+ st.subheader("Review Explorer")
204
+ sentiment_filter = st.multiselect(
205
+ "Filter Sentiment", ['Positive', 'Neutral', 'Negative'], default=['Negative'])
206
+ st.dataframe(reviews_df[reviews_df['Sentiment_Label'].isin(
207
+ sentiment_filter)][['Date', 'Product', 'Rating', 'ReviewText']])
208
+
209
+ # --- Business Q&A ---
210
+ elif page == "Business Q&A":
211
+ st.title("🤖 Business Q&A")
212
+ rag = get_rag_system()
213
+
214
+ # Initialize index if not ready
215
+ if rag.vector_store is None:
216
+ with st.spinner("Initializing Knowledge Base (this may take a moment)..."):
217
+ success = rag.build_index()
218
+ if success:
219
+ rag.init_llm()
220
+ st.success("Knowledge Base Ready!")
221
+ else:
222
+ st.error("Could not build index. Please check if data files exist in the 'data' directory.")
223
+
224
+ query = st.text_input("Ask a question:", placeholder="e.g., What are customers saying about the Pro Laptop?")
225
+
226
+ if query:
227
+ with st.spinner("Thinking..."):
228
+ try:
229
+ result = rag.query(query)
230
+ st.markdown("### Answer")
231
+ st.write(result['answer'])
232
+
233
+ with st.expander("View Retrieved Context"):
234
+ if result['context']:
235
+ for i, doc in enumerate(result['context']):
236
+ st.markdown(f"**Source {i+1} ({doc.metadata.get('source', 'unknown')}):**")
237
+ st.text(doc.page_content)
238
+ else:
239
+ st.text("No context retrieved.")
240
+ except Exception as e:
241
+ st.error(f"An error occurred: {e}")
src/data_gen.py ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import numpy as np
3
+ import json
4
+ import random
5
+ from faker import Faker
6
+ from datetime import datetime, timedelta
7
+ import os
8
+
9
+ fake = Faker()
10
+ Faker.seed(42)
11
+ np.random.seed(42)
12
+
13
+ DATA_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'data')
14
+ os.makedirs(DATA_DIR, exist_ok=True)
15
+
16
+ def generate_sales_data(num_records=1000):
17
+ print("Generating Sales Data...")
18
+ products = {
19
+ 'Laptop': {'category': 'Electronics', 'price_range': (800, 2500)},
20
+ 'Smartphone': {'category': 'Electronics', 'price_range': (400, 1200)},
21
+ 'Headphones': {'category': 'Accessories', 'price_range': (50, 300)},
22
+ 'Monitor': {'category': 'Electronics', 'price_range': (150, 600)},
23
+ 'Mouse': {'category': 'Accessories', 'price_range': (20, 100)},
24
+ 'Keyboard': {'category': 'Accessories', 'price_range': (30, 150)},
25
+ 'Desk Chair': {'category': 'Furniture', 'price_range': (100, 500)},
26
+ 'Coffee Maker': {'category': 'Appliances', 'price_range': (40, 200)}
27
+ }
28
+
29
+ data = []
30
+ start_date = datetime.now() - timedelta(days=365)
31
+
32
+ for _ in range(num_records):
33
+ product_name = random.choice(list(products.keys()))
34
+ info = products[product_name]
35
+
36
+ date = start_date + timedelta(days=random.randint(0, 365), hours=random.randint(0, 23))
37
+ quantity = random.randint(1, 5)
38
+ price_unit = round(random.uniform(*info['price_range']), 2)
39
+ total_price = quantity * price_unit
40
+
41
+ data.append({
42
+ 'TransactionID': fake.uuid4(),
43
+ 'Date': date.strftime('%Y-%m-%d %H:%M:%S'),
44
+ 'CustomerID': fake.random_int(min=1001, max=1200),
45
+ 'Product': product_name,
46
+ 'Category': info['category'],
47
+ 'Quantity': quantity,
48
+ 'UnitPrice': price_unit,
49
+ 'TotalPrice': round(total_price, 2),
50
+ 'Region': random.choice(['North', 'South', 'East', 'West']),
51
+ 'PaymentMethod': random.choice(['Credit Card', 'PayPal', 'Debit Card', 'Bank Transfer'])
52
+ })
53
+
54
+ df = pd.DataFrame(data)
55
+ df.to_csv(os.path.join(DATA_DIR, 'sales_data.csv'), index=False)
56
+ print(f"Saved {num_records} sales records.")
57
+
58
+ def generate_web_logs(num_records=500):
59
+ print("Generating Web Logs...")
60
+ logs = []
61
+ start_date = datetime.now() - timedelta(days=7)
62
+
63
+ endpoints = ['/home', '/products', '/cart', '/checkout', '/login', '/support', '/search']
64
+ status_codes = [200, 200, 200, 201, 302, 404, 500]
65
+
66
+ for _ in range(num_records):
67
+ timestamp = start_date + timedelta(minutes=random.randint(0, 7*24*60))
68
+
69
+ log = {
70
+ 'timestamp': timestamp.isoformat(),
71
+ 'ip_address': fake.ipv4(),
72
+ 'request_method': random.choice(['GET', 'POST']),
73
+ 'endpoint': random.choice(endpoints),
74
+ 'status_code': random.choices(status_codes, weights=[60, 10, 5, 5, 10, 8, 2])[0],
75
+ 'user_agent': fake.user_agent(),
76
+ 'response_time_ms': random.randint(20, 1500)
77
+ }
78
+ logs.append(log)
79
+
80
+ with open(os.path.join(DATA_DIR, 'web_logs.json'), 'w') as f:
81
+ json.dump(logs, f, indent=4)
82
+ print(f"Saved {num_records} web logs.")
83
+
84
+ def generate_reviews(num_records=300):
85
+ print("Generating Customer Reviews...")
86
+ reviews = []
87
+
88
+ # Simple templates for negative/positive reviews
89
+ positive_templates = [
90
+ "I love this {product}! It works great.",
91
+ "Excellent quality, highly recommended.",
92
+ "Good value for money. The {product} exceeded my expectations.",
93
+ "Fast shipping and great service.",
94
+ "The {product} is amazing, 5 stars!"
95
+ ]
96
+
97
+ negative_templates = [
98
+ "Terrible experience with this {product}.",
99
+ "Broken on arrival. Very disappointed.",
100
+ "Not worth the money. Analyzing the {product} shows poor build quality.",
101
+ "Customer service was unhelpful.",
102
+ "The {product} stopped working after two days."
103
+ ]
104
+
105
+ products = ['Laptop', 'Smartphone', 'Headphones', 'Monitor', 'Mouse', 'Keyboard', 'Desk Chair', 'Coffee Maker']
106
+
107
+ for _ in range(num_records):
108
+ product = random.choice(products)
109
+ sentiment = random.choice(['positive', 'negative', 'neutral'])
110
+
111
+ if sentiment == 'positive':
112
+ rating = random.randint(4, 5)
113
+ text = random.choice(positive_templates).format(product=product)
114
+ elif sentiment == 'negative':
115
+ rating = random.randint(1, 2)
116
+ text = random.choice(negative_templates).format(product=product)
117
+ else:
118
+ rating = 3
119
+ text = f"The {product} is okay, but could be better."
120
+
121
+ reviews.append({
122
+ 'ReviewID': fake.uuid4(),
123
+ 'CustomerID': fake.random_int(min=1001, max=1200),
124
+ 'Product': product,
125
+ 'Rating': rating,
126
+ 'ReviewText': text,
127
+ 'Date': fake.date_this_year().strftime('%Y-%m-%d')
128
+ })
129
+
130
+ df = pd.DataFrame(reviews)
131
+ df.to_csv(os.path.join(DATA_DIR, 'customer_reviews.csv'), index=False)
132
+ print(f"Saved {num_records} reviews.")
133
+
134
+ if __name__ == "__main__":
135
+ generate_sales_data(2000)
136
+ generate_web_logs(1000)
137
+ generate_reviews(500)
src/models.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import numpy as np
3
+ from sklearn.cluster import KMeans
4
+ from sklearn.preprocessing import StandardScaler
5
+ from textblob import TextBlob
6
+ from sklearn.linear_model import LinearRegression
7
+
8
+ def perform_customer_segmentation(sales_df, n_clusters=4):
9
+ """
10
+ RFM (Recency, Frequency, Monetary) Clustering
11
+ """
12
+ # Calculate RFM metrics
13
+ current_date = sales_df['Date'].max()
14
+
15
+ rfm = sales_df.groupby('CustomerID').agg({
16
+ 'Date': lambda x: (current_date - x.max()).days, # Recency
17
+ 'TransactionID': 'count', # Frequency
18
+ 'TotalPrice': 'sum' # Monetary
19
+ }).rename(columns={
20
+ 'Date': 'Recency',
21
+ 'TransactionID': 'Frequency',
22
+ 'TotalPrice': 'Monetary'
23
+ })
24
+
25
+ # Normalize
26
+ scaler = StandardScaler()
27
+ rfm_scaled = scaler.fit_transform(rfm)
28
+
29
+ # KMeans
30
+ kmeans = KMeans(n_clusters=n_clusters, random_state=42, n_init=10)
31
+ rfm['Cluster'] = kmeans.fit_predict(rfm_scaled)
32
+
33
+ # Label mapping (rough approximation based on centroids could be better, but simple is fine)
34
+ # We just return the dataframe with Cluster ID
35
+ return rfm
36
+
37
+ def forecast_sales(sales_df, days_to_forecast=30):
38
+ """
39
+ Simple Linear Regression on daily sales
40
+ """
41
+ daily_sales = sales_df.set_index('Date').resample('D')['TotalPrice'].sum().reset_index()
42
+ daily_sales['DayIndex'] = np.arange(len(daily_sales))
43
+
44
+ X = daily_sales[['DayIndex']]
45
+ y = daily_sales['TotalPrice']
46
+
47
+ model = LinearRegression()
48
+ model.fit(X, y)
49
+
50
+ # Future dates
51
+ first_future_idx = int(daily_sales['DayIndex'].max()) + 1
52
+ future_indices = np.arange(first_future_idx, first_future_idx + days_to_forecast).reshape(-1, 1)
53
+ future_df = pd.DataFrame(future_indices, columns=['DayIndex'])
54
+ predictions = model.predict(future_df)
55
+
56
+ last_date = daily_sales['Date'].max()
57
+ future_dates = [last_date + pd.Timedelta(days=i) for i in range(1, days_to_forecast + 1)]
58
+
59
+ forecast_df = pd.DataFrame({
60
+ 'Date': future_dates,
61
+ 'Predicted_Sales': predictions
62
+ })
63
+
64
+ return daily_sales, forecast_df
65
+
66
+ def analyze_sentiment(reviews_df):
67
+ """
68
+ Apply TextBlob to get polarity
69
+ """
70
+ def get_polarity(text):
71
+ return TextBlob(str(text)).sentiment.polarity
72
+
73
+ reviews_df['Sentiment_Score'] = reviews_df['ReviewText'].apply(get_polarity)
74
+
75
+ # Categorize
76
+ def label_sentiment(score):
77
+ if score > 0.1: return 'Positive'
78
+ if score < -0.1: return 'Negative'
79
+ return 'Neutral'
80
+
81
+ reviews_df['Sentiment_Label'] = reviews_df['Sentiment_Score'].apply(label_sentiment)
82
+ return reviews_df
src/processor.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import json
3
+ import os
4
+
5
+ DATA_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'data')
6
+
7
+ def load_sales_data():
8
+ path = os.path.join(DATA_DIR, 'sales_data.csv')
9
+ if not os.path.exists(path):
10
+ raise FileNotFoundError(f"{path} not found.")
11
+ df = pd.read_csv(path)
12
+ df['Date'] = pd.to_datetime(df['Date'])
13
+ return df
14
+
15
+ def load_web_logs():
16
+ path = os.path.join(DATA_DIR, 'web_logs.json')
17
+ if not os.path.exists(path):
18
+ raise FileNotFoundError(f"{path} not found.")
19
+ with open(path, 'r') as f:
20
+ data = json.load(f)
21
+ df = pd.DataFrame(data)
22
+ df['timestamp'] = pd.to_datetime(df['timestamp'])
23
+ return df
24
+
25
+ def load_reviews():
26
+ path = os.path.join(DATA_DIR, 'customer_reviews.csv')
27
+ if not os.path.exists(path):
28
+ raise FileNotFoundError(f"{path} not found.")
29
+ df = pd.read_csv(path)
30
+ df['Date'] = pd.to_datetime(df['Date'])
31
+ return df
32
+
33
+ def get_integrated_data():
34
+ """
35
+ Simulates integration by merging Sales and Reviews on Product?
36
+ Or mostly just providing a unified access point.
37
+ Returns a dictionary of dataframes.
38
+ """
39
+ sales = load_sales_data()
40
+ logs = load_web_logs()
41
+ reviews = load_reviews()
42
+
43
+ return {
44
+ 'sales': sales,
45
+ 'logs': logs,
46
+ 'reviews': reviews
47
+ }
48
+
49
+ def clean_sales_data(df):
50
+ # Example cleaning: Remove transactions with 0 or negative quantity/price (not expected in synthetic but good for "Real" scenario)
51
+ df = df[(df['Quantity'] > 0) & (df['UnitPrice'] > 0)]
52
+ return df
src/rag_engine.py ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import pandas as pd
3
+ import json
4
+ from langchain_community.vectorstores import FAISS
5
+ from langchain_huggingface import HuggingFaceEmbeddings
6
+ from langchain_text_splitters import RecursiveCharacterTextSplitter
7
+ from langchain_core.documents import Document
8
+ from transformers import pipeline
9
+
10
+ class RAGSystem:
11
+ def __init__(self, data_dir):
12
+ self.data_dir = data_dir
13
+ self.vector_store = None
14
+ self.embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
15
+ self.llm_pipeline = None
16
+
17
+ def load_documents(self):
18
+ docs = []
19
+
20
+ # 1. Load Reviews (Unstructured)
21
+ reviews_path = os.path.join(self.data_dir, 'customer_reviews.csv')
22
+ if os.path.exists(reviews_path):
23
+ df_reviews = pd.read_csv(reviews_path)
24
+ for _, row in df_reviews.iterrows():
25
+ content = f"Product: {row.get('Product', 'Unknown')}\nDate: {row.get('Date', '')}\nRating: {row.get('Rating', '')}\nReview: {row.get('ReviewText', '')}"
26
+ metadata = {"source": "customer_reviews", "product": row.get('Product', 'Unknown')}
27
+ docs.append(Document(page_content=content, metadata=metadata))
28
+
29
+ # 2. Load Web Logs (Semi-structured)
30
+ logs_path = os.path.join(self.data_dir, 'web_logs.json')
31
+ if os.path.exists(logs_path):
32
+ with open(logs_path, 'r') as f:
33
+ logs_data = json.load(f)
34
+ for log in logs_data:
35
+ content = f"Log Timestamp: {log.get('timestamp', '')}\nAction: {log.get('action', '')}\nPage: {log.get('page', '')}\nUser: {log.get('user_id', '')}"
36
+ metadata = {"source": "web_logs"}
37
+ docs.append(Document(page_content=content, metadata=metadata))
38
+
39
+ # 3. Load Sales Summary (Structured -> Text)
40
+ sales_path = os.path.join(self.data_dir, 'sales_data.csv')
41
+ if os.path.exists(sales_path):
42
+ df_sales = pd.read_csv(sales_path)
43
+ # Create a summary per product/region instead of every row to save tokens/index size
44
+ summary = df_sales.groupby(['Product', 'Region'])['TotalPrice'].sum().reset_index()
45
+ for _, row in summary.iterrows():
46
+ content = f"Sales Summary:\nProduct: {row['Product']}\nRegion: {row['Region']}\nTotal Revenue: ${row['TotalPrice']:.2f}"
47
+ metadata = {"source": "sales_summary"}
48
+ docs.append(Document(page_content=content, metadata=metadata))
49
+
50
+ return docs
51
+
52
+ def build_index(self):
53
+ docs = self.load_documents()
54
+ text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
55
+ splits = text_splitter.split_documents(docs)
56
+
57
+ if splits:
58
+ self.vector_store = FAISS.from_documents(splits, self.embeddings)
59
+ return True
60
+ return False
61
+
62
+ def init_llm(self):
63
+ # Initialize a small local model for generation
64
+ # Using flan-t5-small as it is lightweight
65
+ try:
66
+ self.llm_pipeline = pipeline("text2text-generation", model="google/flan-t5-small")
67
+ except Exception as e:
68
+ print(f"Error loading LLM: {e}")
69
+ self.llm_pipeline = None
70
+
71
+ def query(self, user_query, k=3):
72
+ if not self.vector_store:
73
+ return {
74
+ "answer": "System not initialized. Please build the index first.",
75
+ "context": []
76
+ }
77
+
78
+ # Retrieve
79
+ docs = self.vector_store.similarity_search(user_query, k=k)
80
+ context_text = "\n\n".join([d.page_content for d in docs])
81
+
82
+ # Generate
83
+ if self.llm_pipeline:
84
+ prompt = f"Summarize the following context to answer the question. \n\nContext:\n{context_text}\n\nQuestion: {user_query}\n\nAnswer:"
85
+ # Truncate prompt if too long (simple heuristic)
86
+ if len(prompt) > 2048:
87
+ prompt = prompt[:2048]
88
+
89
+ result = self.llm_pipeline(prompt, max_length=200, do_sample=False)
90
+ answer = result[0]['generated_text']
91
+ else:
92
+ answer = "LLM not loaded. Displaying retrieved context only."
93
+
94
+ return {
95
+ "answer": answer,
96
+ "context": docs
97
+ }
src/test_mining.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from processor import get_integrated_data, clean_sales_data
2
+ from models import perform_customer_segmentation, forecast_sales, analyze_sentiment
3
+
4
+ print("Loading Data...")
5
+ data = get_integrated_data()
6
+ sales = clean_sales_data(data['sales'])
7
+ reviews = data['reviews']
8
+
9
+ print("Running Customer Segmentation...")
10
+ rfm = perform_customer_segmentation(sales)
11
+ print(f"Segmentation Shape: {rfm.shape}")
12
+ print(rfm.head())
13
+
14
+ print("\nRunning Sales Forecasting...")
15
+ hist, pred = forecast_sales(sales)
16
+ print(f"Historical Days: {len(hist)}, Predicted Days: {len(pred)}")
17
+ print(pred.head())
18
+
19
+ print("\nRunning Sentiment Analysis...")
20
+ sent = analyze_sentiment(reviews)
21
+ print(sent[['ReviewText', 'Sentiment_Label']].head())
22
+
23
+ print("\nTest Complete.")