a:6:{i:0;s:12134:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for business analyst in bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.recruation.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.recruation.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for business analyst in bangalore</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Business Analyst</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">IBEForuM is an international conference company producing events attracting senior executives globally.  IBEForuM is<br />
a growing organisation with expertise in the following areas:  defence, energy, finance, pharma, technology, <br />
transport, six sigma and shared services. <br />
IBEForuM is a global leader in business information solutions with years of exceptional business experience, creating <br />
platforms that stimulate growth and increase business value. <br />
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious individuals that <br />
are willing to establish themselves and make a mark in the international business and economic environment. The <br />
company has a unique culture of empowerment and a strong belief in the personal development of employees at all <br />
levels of the business.<br />
Summary of Main purpose of the job:<br />
As a Business Analyst, you will play a key role in the success of IBEForuM. You will work within a dedicated consulting <br />
team and be managed and mentored by one of our experienced managers. On a daily basis you will be proactively <br />
generating our leading edge product portfolio to existing and potential IBEForuM customers over the telephone.  <br />
Every customer contact counts and you will be using tools and techniques in order to diagnose client needs and <br />
match those with our product.  Our standards are exceptionally high, and from the moment you join the business, <br />
you will receive training and development in order to help you achieve excellence.  For ambitious and talented <br />
executives, there is an accelerated career path to management level, and unlimited opportunity to earn.   <br />
Position:  Responsible to: Business Analyst <br />
Works in conjunction with: Delegate Consulting / Business Analyst Team and Delegate Manager, Marketing and <br />
Production.<br />
Main Duties and Responsibilities:<br />
Generate revenue in line with agreed targets & objectives in an International Inside Sales Environment<br />
Generate Leads through online research and contact cl</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  75 Thousand  To  3  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Analytic and Business Intelligence</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Some Tertiary Coursework</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Business Analyst</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">IBEFORUM</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">IBEForuM is an international conference company producing events attracting senior executives globally.  IBEForuM is
a growing organisation with expertise in the following areas:  defence, energy, finance, pharma, technology, 
transport, six sigma and shared services. 
IBEForuM is a global leader in business information solutions with years of exceptional business experience, creating 
platforms that stimulate growth and increase business value. 
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious individuals that 
are willing to establish themselves and make a mark in the international business and economic environment. The 
company has a unique culture of empowerment and a strong belief in the personal development of employees at all 
levels of the business.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">pankaj singh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Hotel surabhi international pahariya  varanasi</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9005165681 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@recruation.co.in"> info@recruation.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form1.html">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Post Your Resume" />
					<input type="hidden" name="catalog_mi" value="648198">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="837496"><input type="hidden" name="subject" value="Applied for Business Analyst">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-varanasi.htm" title="Jobs in Varanasi">Varanasi</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-meerut.htm" title="Jobs in Meerut">Meerut</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nizamabad.htm" title="Jobs in Nizamabad">Nizamabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'VnF0b2dSYThCWlBTSGN1eW9QMXE0UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:81:"Job openings for business analyst in bangalore | Recruation Placement Consultancy";i:2;s:178:"Business Analyst Jobs,Business Analyst Jobs in Bangalore,Business Analyst Vacancy in Bangalore,Business Analyst jobs in India,Analytic and Business Intelligence jobs in Bangalore";i:3;s:250:"Apply for Business Analyst Jobs in Bangalore India - Business Analyst Vacancy  in Analytic and Business Intelligence field with 0 to 1 years Work Experience, Key Skills are Business Analyst, Analytic and Business Intelligence jobs in Bangalore  India";i:4;s:2692:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Analyst",
		  "baseSalary": " 1  Lac  75 Thousand  To  3  Lac ",
		  "description": "IBEForuM is an international conference company producing events attracting senior executives globally.  IBEForuM is
a growing organisation with expertise in the following areas:  defence, energy, finance, pharma, technology, 
transport, six sigma and shared services. 
IBEForuM is a global leader in business information solutions with years of exceptional business experience, creating 
platforms that stimulate growth and increase business value. 
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious individuals that 
are willing to establish themselves and make a mark in the international business and economic environment. The 
company has a unique culture of empowerment and a strong belief in the personal development of employees at all 
levels of the business.
Summary of Main purpose of the job:
As a Business Analyst, you will play a key role in the success of IBEForuM. You will work within a dedicated consulting 
team and be managed and mentored by one of our experienced managers. On a daily basis you will be proactively 
generating our leading edge product portfolio to existing and potential IBEForuM customers over the telephone.  
Every customer contact counts and you will be using tools and techniques in order to diagnose client needs and 
match those with our product.  Our standards are exceptionally high, and from the moment you join the business, 
you will receive training and development in order to help you achieve excellence.  For ambitious and talented 
executives, there is an accelerated career path to management level, and unlimited opportunity to earn.   
Position:  Responsible to: Business Analyst 
Works in conjunction with: Delegate Consulting / Business Analyst Team and Delegate Manager, Marketing and 
Production.
Main Duties and Responsibilities:
Generate revenue in line with agreed targets & objectives in an International Inside Sales Environment
Generate Leads through online research and contact cl",
		  "educationRequirements": "Some Tertiary Coursework",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Analytic and Business Intelligence",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Some Tertiary Coursework",
		     "skills": "Business Analyst"
		  }
		</script>
		";i:5;N;}