Wuzzuf Visualisations

June 28th 2017, 7:14 amCategory: None 0 comments

WUZZUF is Egypt’s #1 Online Recruitment Jobs Site, especially in terms of quality job offers and candidates. More than 3,000 companies and recruiters in Egypt are actively hiring since it was launched in 2012.

Also more than 160,000 job seekers consisting of Egypt’s top professionals and fresh graduates visit WUZZUF applying to jobs each month. Wuzzuf has recently published their data for exploration. The data includes job posts between 2014-2016, and the applicants' ids and their applications timestamp. In this work, we visualize the data to give insights into the Egyptian market, its needs, its evolution and its facts.

What are the Egyptian business Needs?

Some of the most important questions for students and fresh graduates is "What is the most required skills in my domain?" or "What should I learn?" or "What gives me a competitive edge over other candidates?". Rather than speculating the answers, it is better to go to the recruiters to find the answer to what are their needs. As the recruiters time is limited, they try to declare most of their needs in the job description to filter the applicants. In this work, we exploit this valuable information and analyze the jobs descriptions of the posts between 2014 and 2016 in each business domain to capture the business needs.

The first step towards our goal is to extract the useful entities from the description. We used a third party API from https://www.meaningcloud.com to extract Tags which represents named entities as people, organization, places, etc. e.g. MS Office, Word, Excel, Weeks and Cairo, and Tags which represents significant keywords. e.g., ability, system, software, code and computer science. Secondly, we group the tags per each job title (e.g. Web Designer, Call Center, Sales Manager), and we visualize these tags according to their frequency (number of occurrences) in all the posts. In the online tool, the user can select a job title and see a word cloud visualization of the most common entities in these posts. We will demonstrate here some of the outputs of our tool.

What are top job requirements for Senior Java Developer?

The following word cloud demonstrates the most relevant technologies, skills, and languages that a senior Java developer should have, based on the job posts analysis. We see that J2EE, JavaScript amd JPA comes first, then JMS, MVC Capital, IBM Rational Rose, Linux, SQL and MySQL comes next. The tools also recommends other tools such as JBoss, Websphere, Tomcat, Weblogic. We see also that Android and Birt is less common for this job. We consider this word cloud as a helpful tool (or checklist) for Senior Java Developer to validate his knowledge.

What are top job requirements for Web Designers?

The following word cloud shows the most frequent entities in the job posts seeking web-designers. We see that JavaScript, JQuery and HTML5 are the top requirements, while Dreamweaver, Adobe Photoshop and Adobe Creative Suite comes next.  Knowing MVC Capital, Visual Arts and ASP.net are less required, yet needed.

What are top job requirements for Call Center Agents?

As we rely on text analysis, it is not always guaranteed that we visualize a meaningful tools or skills. When analyzing the Call Center Agents posts, we had the following word cloud. We can see that Cairo is the most frequent entity, and this is expected as most call centers exist there. Speaking about places, we see (in order of frequency): Maadi, Heliopolis, Nasr City and Zayed. It seems as well that there is a trend towards hiring "Males" (it is more frequent than the word "Off Gender" in the cloud map), but we see also in the words "Military Service" which seems to favor the exempted candidates. Looking at the tools we see that Excel, Word and MS Office is the required tools for this job.

Business Career: Opportunities & Salaries

An interesting career-related question is the trade-off between the experience level and the available opportunities. Additionally, the salary offered for each experience level. In this section, we capture these information and plot (per each industry) the number of vacancies per each career level, and show that against the average salaries for these vacancies. We used a bubble chart, where the bubble size is proportional with the number of vacancies, and the position of the bubble indicates the experience level and the average salary. An interactive tool that enables you to show any industry available in this link, we encourange you to go ahead and try out our tool, check your industry and get back to us by your comments.

Pharmaceuticals Industry: Career Levels against Average Salaries

The demand for pharmaceuticals vacancies is high at the "Entry" and "Experienced (Non-Manager)" with average wages 3000 EGP for entry level, and 5000 EGP for "Experienced (Non-Manager)". "Manager" vacancies posts are few and salaries varies between 12000-16000 EGP. The senior management vacancies posts are rare and salaries over 26000 EGP. There is no demand for "Student" level, which match the nature of the pharmaceuticals industry.

Computer Software Industry: Career Levels against Average Salaries

Interestingly, most of the demand in computer software industry in the "Experienced (Non-Manager)" with average salary 6000 EGP. Next comes the demand on the "Entry Level" with average salary 3000 EGP. According to the analyzed posts, the "Senior Management" salaries are not as high as expected, but this may due to other package compensations (e.g. profit share).

Egyptian Job Demand Growth per Industry

Finally, in this part we analyze the growth of job vacancies along the past 2 years. This would be important for investors and for online recruitment sites (like Wuzzuf), as it shows which industry sectors are important to approach. Besides, it is intuitive that the number of applicants (site visitors) is proportional to the number of vacancies in their industry. As per our plot below, the most appealing sectors are: Computer Software, IT Services, and Engineering Services. The grows were doubled in the last 2 years. On the other hand, the telecommunication services didn't have such growth and we see saturation in the market job demand. For other industries, The interactive tool can be used to plot their grows base on 2014-2016 data.


BADR, in partnership with QCRI, has developed and published TweetMogaz, a system that allows Arab users to get the maximum information from the Arabic content on Twitter, on the spot.

Basically, TweetMogaz consumes streams of Arabic tweets from Twitter, classifies them into relevant topics, then present them to the users in a much more intelligent way.

By intelligence we mean that TweetMogaz can understand tweets topics’ context, group tweets based on that, and present these groups (topics) to the user for a better user experience.
TweetMogaz also is the only Arabic events detector. It’s constantly searching the Arabic content for hot, trending tweets, gathers tweets that relate and occur in a certain timeframe, then present the user a solid, homogenous story.

To achieve that feat, a thorough research has been done (and is continuously in improvment) to get the best out of the Arabic content on Twitter. The research areas extend to: Information Retrieval, Natural Language Processing, Machine Learning, Distributed Systems and Big Data.

The first publication out of TweetMogaz is a demo paper: TweetMogaz v2: Identifying News Stories in Social Media, by Eslam Elsawy (BADR), Moamen Mokhtar (BADR) and Walid Magdy (QCRI), it's published in CIKM 2014.

Why is Git always asking for credentials?

October 13th 2014, 5:46 amCategory: None 0 comments

There are two ways to clone any project from a remote reporesitory, either using SSH protocol or HTTPS protocol. If Git prompts for credentials every time you interact with the repository, it means you are using HTTPS clone URL.

Using HTTPS URLs to clone repositories is easier than SSH and needs almost zero configurations, but, Git will keep asking for credentials, the solution is, to configure Git to cache credentials for you:

git config --global credential.helper cache

The default timeout for git is 15 minutes, you may change it using the following(1 month):

git config --global credential.helper 'cache --timeout=2592000'

Here you are best practices for markting using Facebook and twitter:

  1. Build a strategy that is social by design: Social should be baked into everything you do, not be added at the end of a campaign or done on the side.
  2. Design every element of your profile to best reflect your business. Your name, bio, website and profile picture should all work together to tell your story.

  3. Before you begin, it’s a good idea to follow and observe businesses similar to yours to see what they are doing well, and to learn from their mistakes.

Islam House Hits Apps Store

July 25th 2012, 5:35 amCategory: None 3 comments

Islam House, the new muslims guide iPhone/iPad app is now released at the app store 

Islam House is developed by BadrIT. The app contains 4000+ PDF books and many videos about islam and is available in 80 languages.