a:6:{i:0;s:14104:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for operations head fmcg retail in delhi</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.bnksveeconsultant.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.bnksveeconsultant.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for operations head fmcg retail in delhi</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<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">Operations Head (fmcg/retail)</div>
									<p class="mt7px fw6">Delhi</p>
									
				<br>
				<p class="aj mt7px">NAME OF PROFILE	Operations Head<br />
	<br />
AGE	25-35 years<br />
	<br />
YEARS OF EXP.	Minimum 7+ years<br />
	<br />
	<br />
QUALIFICATION REQUIRED (MIN.)	Bachelors Degree<br />
	<br />
	<br />
INDUSTRY TYPE	Retail/FMCG<br />
(Mention only if work is specific to a particular industry)	<br />
	<br />
	<br />
JOB DESCRIPTION	To contribute to the development, implementation, monitoring and review of a business strategy that maximises the retail net profit by driving sales and controlling costs at regional level<br />
(Mention point wise detailed description)	to build motivated and high performing teams through the effective leadership and line management to retail staff<br />
	To support in both setup and operations of stores<br />
	Works closely with the Managing Director and other Heads of Function to influence the creation and communication of company strategy, business priorities and targets for the Regional Teams and ensures there are systems in place to enable the managers to receive the information in a timely manner<br />
	Generates ideas about future retail activities to ensure a cutting edge strategy; maintains up to date knowledge of the market place, competitors and trends<br />
	Constantly reviews financial data and supports the Regional Managers in providing realistic input into the sales budgets<br />
	Takes decisions on matters relating to the day to day retail operation within their defined work area including the strategic planning of resources<br />
	Translates the strategic goals into retail operational plans to achieve the required targeted growth in sales and profit; identifies and optimises promotional opportunities ensuring these are co -ordinated with wider Mind promotions and campaigns<br />
	Ensures that the retail operation complies to all policies and procedures relating to Security, Health and Safety; influences any changes necessary to meet statutory requirements, ensuring minimum risk to staff members and the business<br />
	Ensures all new shop proposals meet the required return on sales prior to submitting any recommendations to the Man</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 13 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Operations Head</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">VPG STORE LONDON</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">VPG Store is the offshoot of Vikramaditya Foods, a unique venture by visionary entrepreneur Abhishek Tyagi. Started in 2007, VPG store caters to the requirements of High Net worth Individual (HNI)/families looking for premium quality and exotic foods, all from a trusted reliable source. The items that would be available in our stores would comply with the highest food quality standards.
VPG Stores was launched only after intensive research into buying preferences of HNIs in India.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Pooja</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9069170407 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:bnksvee1@gmail.com"> bnksvee1@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="557347">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="474982"><input type="hidden" name="subject" value="Applied for Operations Head (fmcg/retail)">
					</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-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-rewari.htm" title="Jobs in Rewari">Rewari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lakhimpurkheri.htm" title="Jobs in Lakhimpur Kheri">Lakhimpur Kheri</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nehru-place-delhi.htm" title="Jobs in Nehru Place">Nehru Place</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-agra.htm" title="Jobs in Agra">Agra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-allahabad.htm" title="Jobs in Allahabad">Allahabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-palwal.htm" title="Jobs in Palwal">Palwal</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-model-town-delhi.htm" title="Jobs in Model Town">Model Town</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">(7)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(3)</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">(3)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-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-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-public-relation-pr-advertising-events-fid.htm" title="Public Relation (PR) /  Advertising / Events Jobs">Public Relation (PR) /  Advert...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-media-entertainment-tv-films-production-broadcasting-fid.htm" title="Media / Entertainment /  TV / Films / Production / Broadcasting Jobs">Media / Entertainment /  TV / ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'TjM2U0Z5SU9mYXJKZEZnL20zb2RoUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Job openings for operations head fmcg retail in delhi | Big Bee Consultant";i:2;s:220:"Operations Head (fmcg/retail) Jobs,Operations Head (fmcg/retail) Jobs in Delhi,Operations Head (fmcg/retail) Vacancy in Delhi,Operations Head (fmcg/retail) jobs in India,Manufacturing / Production / Quality jobs in Delhi";i:3;s:272:"Apply for Operations Head (fmcg/retail) Jobs in Delhi India - Operations Head (fmcg/retail) Vacancy  in Manufacturing / Production / Quality field with 5 to 13 years Work Experience, Key Skills are Operations Head, Manufacturing / Production / Quality jobs in Delhi  India";i:4;s:2654:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Operations Head (fmcg/retail)",
		  "baseSalary": " 6  Lac  To  10  Lac ",
		  "description": "NAME OF PROFILE	Operations Head
	
AGE	25-35 years
	
YEARS OF EXP.	Minimum 7+ years
	
	
QUALIFICATION REQUIRED (MIN.)	Bachelors Degree
	
	
INDUSTRY TYPE	Retail/FMCG
(Mention only if work is specific to a particular industry)	
	
	
JOB DESCRIPTION	To contribute to the development, implementation, monitoring and review of a business strategy that maximises the retail net profit by driving sales and controlling costs at regional level
(Mention point wise detailed description)	to build motivated and high performing teams through the effective leadership and line management to retail staff
	To support in both setup and operations of stores
	Works closely with the Managing Director and other Heads of Function to influence the creation and communication of company strategy, business priorities and targets for the Regional Teams and ensures there are systems in place to enable the managers to receive the information in a timely manner
	Generates ideas about future retail activities to ensure a cutting edge strategy; maintains up to date knowledge of the market place, competitors and trends
	Constantly reviews financial data and supports the Regional Managers in providing realistic input into the sales budgets
	Takes decisions on matters relating to the day to day retail operation within their defined work area including the strategic planning of resources
	Translates the strategic goals into retail operational plans to achieve the required targeted growth in sales and profit; identifies and optimises promotional opportunities ensuring these are co -ordinated with wider Mind promotions and campaigns
	Ensures that the retail operation complies to all policies and procedures relating to Security, Health and Safety; influences any changes necessary to meet statutory requirements, ensuring minimum risk to staff members and the business
	Ensures all new shop proposals meet the required return on sales prior to submitting any recommendations to the Man",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "5 - 13 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Operations Head"
		  }
		</script>
		";i:5;N;}