## Sunday 21 August 2011

### Micro- and Macro-average of Precision, Recall and F-Score

I posted several articles explaining how precision and recall can be calculated, where F-Score is the equally weighted harmonic mean of them. I was wondering- how to calculate the average precision, recall and harmonic mean of them of a system if the system is applied to several sets of data.

Tricky, but I found this very interesting. There are two methods by which you can get such average statistic of information retrieval and classification.

1. Micro-average Method

In Micro-average method, you sum up the individual true positives, false positives, and false negatives of the system for different sets and the apply them to get the statistics. For example, for a set of data, the system's

True positive (TP1)= 12
False positive (FP1)=9
False negative (FN1)=3

Then precision (P1) and recall (R1) will be 57.14 and 80

and for a different set of data, the system's

True positive (TP2)= 50
False positive (FP2)=23
False negative (FN2)=9

Then precision (P2) and recall (R2) will be 68.49 and 84.75

Now, the average precision and recall of the system using the Micro-average method is

Micro-average of precision = (TP1+TP2)/(TP1+TP2+FP1+FP2) = (12+50)/(12+50+9+23) = 65.96
Micro-average of recall = (TP1+TP2)/(TP1+TP2+FN1+FN2) = (12+50)/(12+50+3+9) = 83.78

The Micro-average F-Score will be simply the harmonic mean of these two figures.

2. Macro-average Method

The method is straight forward. Just take the average of the precision and recall of the system on different sets. For example, the macro-average precision and recall of the system for the given example is

Macro-average precision = (P1+P2)/2 = (57.14+68.49)/2 = 62.82
Macro-average recall = (R1+R2)/2 = (80+84.75)/2 = 82.25

The Macro-average F-Score will be simply the harmonic mean of these two figures.

Suitability
Macro-average method can be used when you want to know how the system performs overall across the sets of data. You should not come up with any specific decision with this average.

On the other hand, micro-average can be a useful measure when your dataset varies in size.

1. Thanks for the article, just a minor typo: second to last paragraph: Micro rather than macro.

1. Thanks a lot, Yahya. I corrected it. But the typo is in the last paragraph. If your dataset varies in size, micro-average is the useful tool.

2. hi, thank you for the article, please i have a general question related to learning algorithms. I found this expression in an article : The training data for the SVM classi ers are highly unbalanced as the proportion of positive training web pages ranges from 2% to 18%.
What do we mean by unbalanced data? and by positive/negative training?

2. This comment has been removed by the author.

3. I think there's a problem with your macro-average precision calculation. the denominator should be the sum of true positives and false positives. The micro average for precision and recall are the same. See here:
http://metaoptimize.com/qa/questions/8284/does-precision-equal-to-recall-for-micro-averaging

4. @Pallika. The scenarios are different. In my case, one classifier is applied on two different datasets. The number of instances are different in two datasets. But the example you provided is classifier performance for three different class labels. So the sum of positive and negative is always 27. The two macro and micro evaluation is different.

5. Hi..Thank you for the article. I did some exparimentation on Text classification which consists 7 (labled documents prepared on my own)ctegories of documents.I did too much stemming and i got average precision 57%, micro precision=macro precision=1,micro recall=macro recall=0.please suggests me something to improve results(like bad training set,light stemming, threshold value and threshold step size modification, k if classifier is knn,how to improve recall for better F1 score).
Thanks.

6. Good article.... if you explain what is micro and macro average in 3 lines it will be more hepful for readers...

7. This comment has been removed by the author.

8. Really sweet, thank you! That was hell of a good explanation! :)

9. Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking. Data Science online Training Hyderabad

10. Thank you very much for sharing your article

11. Very Useful, Thanks!

12. sklearn implements 'macro' f1 as average of the two f1's and not harmonic means of the average precision and recall.

f1 = (f1_1 + f1_2) / 2

Check: https://github.com/scikit-learn/scikit-learn/blob/51a765a/sklearn/metrics/classification.py#L1098

13. the blog is very use for me .keep sharing like this.web design company in velachery

14. This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information.web design company in velachery

15. Good information and, keep sharing like this.

Crm Software Development Company in Chennai

16. Thanks for sharing, very informative. Top Programming Languages in 2020.

17. Really a awesome blog for the freshers. Thanks for posting the information.
Data Science Training in Delhi
Data Science Course in Delhi

18. Shopclues winner list here came up with a list of offers where you can win special shopclues prize list by just playing a game & win prizes.
Shopclues lucky customer
Shopclues lucky customer 2020
Winner list Shopclues
Shopclues Prize
Prize Shopclues

19. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.
data analytics courses in mumbai
data science interview questions

20. I finally found great post here.I will get back here. I just added your blog to my bookmark sites. thanks.Quality posts is the crucial to invite the visitors to visit the web page, that's what this web page is providing.
data science course Mumbai
data science interview questions
data analytics course in mumbai

21. This degree will be acceptable not only nationally as well as globally also. Digital marketing is the best source to make your carrier bright.
ExcelR Digital Marketing Courses In Bangalore

22. Shopclues winner list here an offer you can win the Shopclues lucky draw. Here you can win the Shopclues winner list 2020 and Shopclues winner list. Shopclues lucky draw where you can win the prize just playing the game. You can also check Shopclues lucky draw and Shopclues winner name 2020.

23. thanks for sharing.
digital marketing course

24. Hey there! I simply wish to offer you a big thumbs up for the excellent information you have right here on this post. I am coming back to your web site for more soon.
Techno

25. Thanks for sharing such a great information..Its really nice and informative.. software testing course

26. This post is really nice and informative. The explanation given is really comprehensive and informative. I also want to say about the digital marketing course

27. Good information and, keep sharing like this.

7 tips to start a career in digital marketing

“Digital marketing is the marketing of product or service using digital technologies, mainly on the Internet, but also including mobile phones, display advertising, and any other digital medium”. This is the definition that you would get when you search for the term “Digital marketing” in google. Let’s give out a simpler explanation by saying, “the form of marketing, using the internet and technologies like phones, computer etc”.

more details click the link now

https://www.webdschool.com/digital-marketing-course-in-chennai.html

28. Amazing blog is very nice

Web designing trends in 2020

When we look into the trends, everything which is ruling today’s world was once a start up and slowly begun getting into. But Now they have literally transformed our lives on a tremendous note. To name a few, Facebook, Whats App, Twitter can be a promising proof for such a transformation and have a true impact on the digital world.

more details click the link now

https://www.webdschool.com/web-development-course-in-chennai.html

29. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. digital marketing course Bangalore

30. Thanks for the interesting blog that you have implemented here. Very helpful and innovative. Waiting for your next upcoming article.
Java training in chennai
Java training institute in chennai
Java course in chennai
Java training classes
Java training
Java programming classes
core java coure
<a

31. Thanks for this blog are more informative contents step by step. I here attached my site would you see this blog.

7 tips to start a career in digital marketing

“Digital marketing is the marketing of product or service using digital technologies, mainly on the Internet, but also including mobile phones, display advertising, and any other digital medium”. This is the definition that you would get when you search for the term “Digital marketing” in google. Let’s give out a simpler explanation by saying, “the form of marketing, using the internet and technologies like phones, computer etc”.

more details click the link now.

https://www.webdschool.com/digital-marketing-course-in-chennai.html

32. Amazing article useful information.

Web designing trends in 2020

When we look into the trends, everything which is ruling today’s world was once a start up and slowly begun getting into. But Now they have literally transformed our lives on a tremendous note. To name a few, Facebook, Whats App, Twitter can be a promising proof for such a transformation and have a true impact on the digital world.

more details click the link now.

https://www.webdschool.com/web-development-course-in-chennai.html

33. This is a topic that's near to my heart... Web develop Thank you! Exactly where are your contact details though?

34. I become greater than happy to uncover this notable internet site on line. I need to to thank you to your time due to this brilliant examine latest!! I genuinely loved each bit of it and I have you ever bookmarked to look new information to your blog.

35. I have to search sites with relevant information on given topic and provide them to teacher our opinion and the article.
ExcelR digital marketing courses in mumbai

36. Really Nice Post, Thanks for sharing & keep up the good work.
Oflox Is The Website Design Service In Dehradun

37. Thanks for sharing this informatiions.
artificial intelligence training in coimbatore

Blue prism training in coimbatore

RPA Course in coimbatore

C and C++ training in coimbatore

big data training in coimbatore

aws training in coimbatore

38. Learn digital marketing live, Coimbatore – an institute perfected in coaching the digital marketing training course by covering the following topics said to be SEO, SEM, SMM and Email marketing that would educate individuals in the finest part of the choice.

digital marketing course in coimbatore
digital marketing training course in coimbatore
digital marketing training in coimbatore

39. First of all I would like to thank you for writing this post I love both writing and reading new posts and I was just looking at new posts to see me something new, only then I saw your post and the rest of the post is praiseworthy.
sofeeya.com

40. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.....bangalore digital marketing course

41. I am very impressed by your excellent writing abilities. Please keep up the good informational writing.
SAP training in Kolkata
Best SAP training in Kolkata
SAP training institute in Kolkata

42. I must say you are very skilled at persuasive writing if you can convince me to share your views
SAP training in Mumbai
Best SAP training in Mumbai
SAP training institute Mumbai

43. There are many things mentioned in this article I would not have thought of on my own. This material is inspirational, interesting and it allows the readers to open up their minds to original thinking.
SAP training in Kolkata
SAP training Kolkata
Best SAP training in Kolkata
SAP course in Kolkata
SAP training institute Kolkata

44. Very Interesting blog. Thanks for sharing this blog. You can also go through blog which is related to this which is providing variety of movies also. For details you can visit our official website.

45. A backlink is a link created when one website links to another. Backlinks are important to SEO & impact for higher ranking. In my 7+ years seo Career i see, without backlinks a website doesn't rank higher on google SERP.

Order Now with Full Confidence & 100% satisfaction.

46. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well. share more.
Ai & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai

47. This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thank you For Sharing,
Oneyes Technologies
Internship in Chennai
Internship in Chennai for CSE IT MCA
Internship in Chennai for ECE EEE EIE

48. Forex Signals, MT4 and MT5 Indicators, Strategies, Expert Advisors, Forex News, Technical Analysis and Trade Updates in the FOREX IN WORLD

Forex Signals Forex Strategies Forex Indicators Forex News Forex World

49. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
Best Salesforce Admin training in Coimbatore | Salesforce Admin training in Coimbatore | Best Salesforce Admin training institute in Coimbatore | Salesforce Admin Course in Coimbatore

50. Thanks for sharing valuable information and very well explained. keep posting.

workday studio training
workday studio online training

51. This is good information and really helpful.
Artificial intelligence Course in Noida

52. It was not first article by this author as I always found him as a talented author.
Star Lord Jacket

53. I am happy for sharing on this blog its awesome blog I really impressed. thanks for sharing. Youtube Mp3 Converter

54. This comment has been removed by the author.

55. iot training in chennai -Internet of things is an technology which is basically to connect every product with the Internet.Definitely Best IOT Training Institute in Chennai will train you in this technology with an assured placements.

DevOps training in chennai - It's right time to learn the trending technolgy such as DevOps. Try to find a Best DeVops training Institute in Chennai.

blue prism training in Chennai - Blue prism is an developing and future technology of IT and start to start for Best Blue prism technology in Chennai.

uipath training in Chennai - Best uipath course and training in Chennai will also create a better path for your future.

microsoft azure training in chennai - Best azure training in Chennai offering the courses with guidance for Microsoft azure training.

56. You can get Apple-certified repairs and service at the Apple Store or with one of our Apple Authorized Service Providers.
mobile phone repair in Niles
Worked as a Senior SEO & Digital & Social Media & Graphics Design & cpa & Drop shipping & Video Editing And Youtube & Web Design And Development & Affiliate Marketing trainer at BITM (BASIS Institute of Technology & Management) since 2014-2018. Successfully completed 50+ SEO batches, 20+
Affiliate Marketing batches and 30+ workshop on Freelancing under SEIP (Skills for Employment Investment Program).
Best Graphic Design training in Bangladesh
Free bangla sex video:careful

57. Nice post!

Worried About QuickBooks Error ?Get in touch with QuickBooks expert for instant solution.

Dial on QuickBooks Error Support Phone Number +1-855-977-7463.

58. Very educating story, saved your site for hopes to read more! ExcelR Data Analytics Courses

59. Thank you for sharing, I am very happy to know your blog. Here are some blogs I would like to send you. Please don't delete the link, hi
thiennhanstone
cuốn thư đá
doithuong.biz/game-no-hu-doi-thuong
ivip
làm bằng lái xe máy
làm cavet xe

60. Great post. I'm about to write something similar in my site All About Python .

61. Thumbs up guys your doing a really good job. 인증업체

62. Wow what a Great Information about World Day its exceptionally pleasant educational post. a debt of gratitude is in order for the post. 먹튀검증사이트

63. Samsung mobile phone is a very popular mobile company not only in Bangladesh but also all over the world. But its price is so high. When you are searching for a brand new mobile phone & it becomes hard. Then you can find a Samsung second hand mobile price in bangladesh for your urgency.

64. What a really awesome post this is. Truly, one of the best posts I've ever witnessed to see in my whole life. Wow, just keep it up.
data science online course

65. ExcelR provides data analytics course. It is a great platform for those who want to learn and become a data analytics Courses. Students are tutored by professionals who have a degree in a particular topic. It is a great opportunity to learn and grow.

data analytics course
data analytics courses

66. Nice Blog !
QuickBooks Error 248 can occur when a user tries to run payroll for the employees. You may also encounter this issue when you are taking a backup of your company file.call us and get the best possible solutions to resolve QuickBooks Error 248.

67. Exactly, the very information that I was looking for. I was looking for such kind of article on the Internet and finally ended up here. thanks for the help!
Top 10 CBSE School in Meerut
SEO Expert in Meerut
Software Development Company In Delhi NCR
Digital Marketing Company in Hapur
Web Development Meerut

68. Your blog is very nice and has sets of the fantastic piece of information. Thanks for sharing with us. If you face any technical issue or error, visit:

Quickbooks customer service

69. Your blog is very nice and has sets of the fantastic piece of information. Thanks for sharing with us. If you face any technical issue or error, visit:

Quickbooks customer service

70. Interesting stuff to read. Keep it up.

71. Nice and Well written Blog!!.However, many times, you may face several snags in QuickBooks that can restrict your work. In case you are looking for the best technical help for QuickBooks, contact:
QuickBooks Support number

72. Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support in this area. same as your blog i found another one Mobile Marketing .Actually I was looking for the same information on internet for Mobile Marketing and came across your blog. I am impressed by the information that you have on this blog. Thanks once more for all the details.

73. Its a great post keep sharing this kind of wonderful post !
Free piping course pdms training in Chennai

74. Hey Nice Blog!! Thanks For Sharing!!! Wonderful blog & good post. Its really helpful for me. If you want to Earn Money Online, Read Blogging Making Money. Rision Digital is the best site to learn online tips to earn money. Click link to read.

75. Thanks for spending all your pleasant time to make such a Creative content for us. AWS Training in Chennai

76. Thanks a lot for sharing kind of information. Your article provides such great information with good knowledge. Digital Marketing Courses in Pune with Placement

77. Hello everyone, We are Children's Furniture – Bao An Kids. Surely when you come to this page, you are looking for a professional children's interior design and construction unit to help you advise and choose for your family and baby to have a perfect and comfortable living space. the safest. Thank you very much for trusting and wanting to accompany Bao An Kids. Phòng ngủ trẻ em

78. Dermaklinic's Institute for Aesthetic Studies (DIAS), a brain child of Dr. Neeraj Pandey (MBBS, MD Dermatology, FADS International Skin Centre, Singapore), came into being to meet the ever-growing demand of skilled professionals in the field of dermatology. Our courses are designed with expertise to hone the skills of the students by imparting sound technical knowledge. Keeping ourselves abreast with the global trends we endeavor to create a capable and efficient support team for the aesthetic industry.
:
Register today to begin your career!
-
website: https://www.thedias.org/
Contact Number: +917703000777
Emails: info@thedias.org / knockdiasforsuccess@gmail.com

80. Top 15 Digital marketing courses in Mumbai.

1. https://www.anuvaa.com/blog-post/digital-marketing-courses-in-mumbai/

81. Anuvaa- Top 15 Digital marketing courses in Mumbai.

82. This is very interesting blog and insightfull too. If you want to learn digital marketing then visit this link-https://www.anuvaa.com/blog-post/digital-marketing-courses-in-mumbai/

83. https://www.anuvaa.com/blog-post/digital-marketing-courses-in-mumbai/

84. This is an interesting blog. For more knowlegde on Digital marketing follow- Anuvaa

85. It’s an interesting blog. Check this out too Top Digital Marketing courses in Mumbai

86. Very informative and interesting. Am sure it is going to be very helpful to a lot of people like me looking for such information. Thanks again https://www.anuvaa.com/blog-post/digital-marketing-courses-in-mumbai/

87. Thank you for your blog , it was usefull and informative "AchieversIT is the best Training institute for Full Stack development training. Full Stack developement training in bangalore "

88. Thank you for your blog,it was usefull and informative "AchieversIT is the best Training institute for Python training. Full Python training in bangalore "

89. Nice post check my site for super fast Satta king Result also check Sattaking

90. You should be a piece of a challenge for probably the best website on the web. I will suggest this site!

best interiors

91. Your substance is extremely rousing and appriciating I truly like it kindly visit my site for Satta King Result likewise check Sattaking and furthermore check satta king furthermore, for speedy outcome check my site Satta king and for very quick outcome check Satta king result likewise check my site for very quick Satta king

92. Fantastic!! you are doing good job! I impressed. Many bodies are follow to you and try to some new.. After read your comments I feel; Its very interesting and every guys sahre with you own works. Great!!
vé máy bay từ mỹ về việt nam

Các chuyến bay từ Incheon về Hà Nội hôm nay

phong ve may bay gia re tu Nhat Ban ve Viet Nam

vé máy bay giá rẻ từ singapore về hà nội

vé máy bay giá rẻ tu Dai Loan ve Viet Nam

thông tin chuyến bay từ canada về việt nam

93. Thanks for sharing...Are you Looking for an Abroad MBBS education consultant? Here is a suggestion for a free consultant, Named Shri Hari consultancy working for many years in Jaipur, and have completed so many dreams of aspiring students
Shri Hari Consultancy

94. Hey! Lovely blog. Your blog contains all the details and information related to the topic. In case you are a QuickBooks user, here is good news for you. You may encounter any error like QuickBooks Error, visit at QuickBooks Customer Service Phone Number for quick help.

95. It is looking like such a creative blog and you are explained your blog in details, which is very easy to understand and also helpful for all. I have no words for say I just say thanks because it is helpful for those who wants to do this.Feel The Beauty of Golden Triangle Tour

96. Your article is such an informative article. It is glad to read such those articles thanks for sharing. XO Varsity Jacket

97. Great to become visiting your weblog once more, it has been a very long time for me. Pleasantly this article i've been sat tight for such a long time. I will require this post to add up to my task in the school, and it has identical subject along with your review. Much appreciated, great offer. data science course in nagpur

98. Good write-up! Thanks for posting such useful content. Much obliged!

Mobile app development company
Best Software Development company
Best web development company

99. what a informative and knowlegeable websites.Mailbird Pro 2.9.47.0 Crack

100. hello sir,I truly appreciate this post. I?ve been looking everywhere for this! Thank goodness I found it on Bing. You have made my day Thanks Icecream PDF Split Merge Pro Crack

101. This impressed me so much amazing. Keep working and providing information
activator

102. Content was great! Very in-depth and informative. Loved how you mentioned every aspect of the subject in this piece, thank you.

103. I am very happy to read the posts on this site which contain a lot of useful information, thank you for providing this kind of information. Keep it up man and also give us some more informative posts. Cheers!

104. Leawo Prof. Media is an amazing Post with good content.FIND CRACK is the best crack software site for all Mac and Windows users all over the world.

Directory Opus is a complete replacement for Explorer, with far more power and functionality than any other file manager available today. Single or dual pane file display and folder trees. Tabbed interface let you keep multiple folders open and switch quickly between them.

106. Nice post from your side, your are such a good writer. You should keep writing blog like this.The Satta King is the satta king result provider website, Which provide the satta king fast result in Ghaziabad Satta King, Faridabad Satta King, Delhi satta king, Desawar Gali result and many more.

Best Satta King Result Site: Satta King

107. This post gave me a lot of useful information, and I was really impressed with it.
Rekordbox DJ

I hope this post was useful to you.
I appreciate you sharing such an informative and interesting post.

109. east imperial magic partition crack In the case of FDM, you have to open the main windows of FDM from the taskbar and change Mode to limit the speed

110. If someone is being mean, they are being unkind to another person, for example by not allowing them to do somethingadobe pagemaker

111. Add up all of the numbers and divide by the number of numbers in the data set.adguard premium/

112. Thanks for sharing in this blog...its very useful for us...keep on going...
Oracle Performance Tuning Training

113. very interesting to read. Python Training in Chennai

114. Hello Nice Blog!! A debt of gratitude is in order For Sharing!!!Wonderful blog and great post. Its truly accommodating for me, hanging tight for an all the more new post. Continue To blog!

115. Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.
IMBATCH CRACK

116. I definitely enjoy every little bit of it. It is a great website and nice share. I want to thank you. Good job! You guys do a great blog, and have some great contents. Keep it up
Online School Management Software

117. Your post has help us to find new ideas for our kitchen renovation, utility room designs, outdoor dining experiences. This make us easy to share our dream interior with kitchen manufacturer in Etobicoke this helps a lot!

118. Thank you for sharing such detailed Blog. I am learning a lot from you. Visit my website to get best Information About Best IAS coaching in Mumbai
Best IAS coaching in Mumbai
Top IAS coaching in Mumbai

119. Great Post! Thanks for sharing. Keep sharing such information.

MEAN Training in Noida

For more details about the course fee, duration, classes, certification, and placement call our expert at 70-70-90-50-90

120. Thank you very much for sharing such a great article. Great post I must say and thanks for the information. Education is definitely a sticky subject. very informative. Take care.Digital marketing training Mumbai

121. A backlink is a link created when one website links to another. Backlinks are important to SEO & impact for higher ranking.digital marketing course Mumbai

122. Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.
Check out German Language Courses In Pune

123. beautiful blog thanks for sharing
Deepam oil
deepam Oil Wholesale
lamps wholesale

124. Nice blog! Thanks for sharing this valuable information
RPA Training in Gurgaon

Importance of Software Testing Tool
Software Testing Tool

127. thank you for your post. check out here Digital marketing courses in pune

128. Really an awesome blog and informative content. If you want to become a data scientist, then check out the following link.

Full stack developer course in Bangalore
Full stack Training in Bangalore

130. Great post.

132. Given article is useful and informative Thanks For Sharing!!! Wonderful blog & good post. It's really helpful for me

133. Thank you for sharing this amazing blog post. Very informative. Check outDigital Marketing Services in Ravet

134. Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include.girl attitude quotes in hindi for whatsapp dp download

135. Thanks for sharing this amazing and educative blog post. This is excellent information. It is amazing and wonderful to visit your site.
Check out Digital Marketing Courses In Pimpri Chinchwad

136. Great Information! Thank you for sharing this amazing blog with us. Keep sharing. Visit the best Digital Marketing Courses atDigital Marketing Training Institute In Pune

137. I want to thank you for sharing such a good information that provides you, that's great. Satta Result

139. Thank you for your post. Check out Digital Marketing Classes in Pune

140. Thank you so much for providing such informative blog. And those who are searching for Digital Marketing Courses in Nigeria can refer the following blog, thank you.

Digital marketing courses in Nigeria

141. This blog has really helped me in my work. Thank You.
Digital marketing courses in New zealand

142. Thank you for the explanation and your effort. May help many people. Content Writing Course in Bangalore

143. Thank you for helping me learn the meaning and various types of Search Engine Marketing. To know more about them visit the below website.
Search Engine Marketing

144. This comment has been removed by the author.

145. Amazing blog. Keep sharing good information like this.